Hadoop运行搭建
前言:
本文原文发在我自己的博客小站,直接复制文本过来,所以图片不显示(我还是太懒啦!)想看带图版的请移步我的博客小站~
Linux镜像:CentOS7
系统安装:CentOS安装参考教程
系统网卡设置:
-
参考教程:CentOS配置静态IP
-
NAT参数:
系统配置信息:
-
hadoop100:
-
用户名:user
-
密码:***
-
内网IP:192.168.62.140
-
本博客参考(转载)教程:Hadoop入门
声明:本博客仅作为笔者小白自己学习,作为流程记录方便自己理解
一、虚拟机环境准备
1.检查虚拟机网络
先检查虚拟机是否可以与外网连接,ping一下百度瞅瞅(如果提示没有ping
命令,先下载一下网络工具包yum install net-tool
)。
ping baidu.com
2.添加软件源
yum update #养成先更新一下的好习惯
yum install -y epel-release
3.关闭防火墙
方便之后的操作,防止出现由于防火墙安全策略而产生的错误。
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld.service #关闭防火墙开机自启
4.设置用户账号(按需设置)
useradd Tom #添加用户
passwd Tom #修改用户密码
5.给用户添加管理员权限(按需设置)
vim /etc/sudoers #先切换到root用户,才能执行此命令
找到%wheel
(大概在99行,vim设置显示行号命令为“:set nu"
),在该项下面添加刚才创建的用户的配置。
在网上教程看到的注意事项:”添加user这一行不要直接放到 root行下面,因为所有用户都属于 wheel
组,你先配置了user具有免密功能,但是程序执行到 %wheel
行时, 该功能又被覆盖回需要密码 。所以user要放到 %wheel
这行下面。“
6.创建工作文件夹
在/opt目录下创建文件夹方便一会进行文件传输,并修改所属用户和所属组。
mkdir /opt/module
mkdir /opt/software
chown user:user /opt/module
chown user:user /opt/software
7.卸载虚拟机自带JDK
虚拟机自带的JDK版本可能与Hadoop所需的JDK版本不同。如果两者版本不兼容,可能导致Hadoop无法正常运行。卸载自带JDK可以避免版本冲突、减少资源占用、降低管理复杂性,并提升Hadoop的性能。
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
命令解释:
rpm -qa
:查询所安装的所有rpm软件包
grep -i
:忽略大小写
xargs -n1
:表示每次只传递一个参数
rpm -e --nodeps
:强制卸载软件
8.重启虚拟机
reboot
二、克隆虚拟机
1.克隆创建虚拟机
我们需要构建好几台类似配置的虚拟机,直接克隆已配置好的hadoop100模板节省时间。
怎么克隆???直接复制虚拟机的所在文件夹,拷贝几份就可以了~
在VM中打开刚才复制下来的虚拟机,修改一下虚拟机名称方便区分。
2.修改克隆虚拟机IP
不同的虚拟机设置独立IP,设置连续的IP方便处理,设置hadoop102为例,仅修改IP地址,其余不要动,103、104同理。(如果hadoop100静态IP没有就没有设置好,请参考这篇CentOS配置静态IP)
vim /etc/sysconfig/network-scripts/ifcfg-ens32
3.配置克隆机主机名映射
以Hadoop102为例,其余虚拟机同样操作。
- 修改主机名称(这步没搞清楚要干啥,先空着)
vim /etc/hostname
- 配置Linux克隆机主机名称映射
hosts
文件 打开/etc/hosts
vim /etc/hosts
添加以下映射配置(IP地址按实际修改):
192.168.62.140 hadoop100 #写出一条样例,方便复制粘贴
- 重启克隆机
reboot
剩余的虚拟机重复以上操作即可(ps:记得从第2步修改克隆虚拟机IP开始~)。
- 配置主机映射文件
以上映射文件配置完成后,修改Windows
的主机映射文件。进入C:\Windows\System32\drivers\etc
路径,打开 hosts文件(用记事本打开,可以看到里边空空如也),添加并保存以下内容 (和刚才在虚拟机配置的一样)。
三、安装JDK
仍然先以Hadoop103为例。
1.检查JDK
确保已卸载虚拟机自带JDK。
java -version #先查看,如果返回版本信息则说明没有卸载
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps #卸载JDK命令,1.7已解释
2.安装JDK
- 下载JDK
JDK可以在主机下载好之后再通过FTP传给虚拟机(虚拟机搭建FTP服务器的方法有很多,这里不再赘述,小白可移步Linux搭建FTP服务器参考文章),由于我们使用VMware,可以直接从Windows复制粘贴到虚拟机(偷懒,想要掌握技术不建议)。
官网下载有一捏捏麻烦,下载速度也些许感人,我们直接在清华大学镜像下载openJDK8清华源JDK8下载链接
https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/jdk/x64/linux/
单击它开始下载
下载完成之后用FTP工具传给虚拟机,传输过程省略。
这里我直接从Windows主机粘贴到虚拟机目录,一步到位hhh~
- 将JDK导入软件工作目录
将刚才的JDK存放到/opt/software/
路径下。(注意,虚拟机没有经过配置的话无法输入中文,如果懒得去配置可以鼠标选中中文部分右键复制,再在你的命令行右键粘贴。)
(小tip
:在输入文件名字时过长不用一个个准确输入,只需输入文件前缀,然后按Tab
键自动补全即可)
- 将JDK解压到
/opt/module
tar -zxvf /opt/software/OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz -C /opt/module/
3.配置JDK环境变量
- 配置环境变量
ls /opt/module/ #先查看当前jdk包
sudo nano /etc/profile.d/my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk8u402-b06 #这里要与刚才看到的JDK包一致
export PATH=$PATH:$JAVA_HOME/bin
引入刚配置的环境变量文件
source /etc/profile
- 测试JDK是否可用
java -version
返回JDK版本信息,说明安装JDK成功~
四、安装Hadoop
1.安装Hadoop
- 下载Hadoop
hadoop下载链接(有点慢,可能需要一些魔法)
- 导入Hadoop软件包
通过FTP或者其他方式将刚下载的包导入/opt/software/
目录
cp /home/user/下载/hadoop-3.3.6-aarch64.tar.gz /opt/software/
ls /opt/software/ #查看是否已复制
- 解压Hadoop
tar -zxvf /opt/software/hadoop-3.3.6-aarch64.tar.gz -C /opt/module/
ls /opt/module/ #查看是否解压成功
2.配置Hadoop环境变量
- 添加Hadoop环境变量
sudo vim /etc/profile.d/hadoop_env.sh
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.6 #与刚才解压的Hadoop包保持一致
export PATH=$PATH:$HADOOP_HOME/bin
- 加入新配置的环境变量
source /etc/profile
- 检查Hadoop可用性
hadoop version
返回版本信息,Hadoop安装成功并添加进环境变量~
- 重启虚拟机
刚配置完环境变量,重启电脑检查配置是不是临时性的,避免等到用时因配置恢复而造成不知名错误.
reboot
五、配置SSH免密登录
刚刚我们配置了三台虚拟机Hadoop102、Hadoop103和Hadoop104,他们之间的配置好了主机名映射。接下来通过SSH配置交互。
1.生成SSH密钥对
- 进入密钥存放路径
cd /home/user/.ssh/ #进入用户目录,如果没有就先创建
- 生成密钥对
注意,我们要以用户账户生成密钥对,只有这三台虚拟机中的主要控制机才使用root账号生成密钥对。这么做的目的是权限管理。(这里贪方便我全部使用root账号生成密钥)
ssh-keygen -t rsa #(注意密钥对的保存路径)然后摁回车3次
使用ls
命令查看是否生成密钥对
2.上传公钥
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
3测试SSH免密登录
ssh 'hadoop103'
登陆成功。
接下来切换虚拟机重复以上操作(略)。