在hadoop01虚拟机下执行:
vi /etc/hostname
vi的insert、save等基本操作参考:https://blog.csdn.net/weixin_41231928
修改后如下:
同理修改hadoop02和hadoop03的hostname为 hadoop02 和 hadoop03,原因是hadoop02和hadoop03是由hadoop01克隆来的,不修改的话,hostname都是hadoop01,修改后如下:
(3)配置虚拟机hosts
其实就是配置ip和域名的映射关系。
vi /etc/hosts
上面的命令编辑hosts,在3个虚拟机都里面添加:
192.168.121.221 hadoop01
192.168.121.222 hadoop02
192.168.121.223 hadoop03
(4)配置DNS、网关等
在3个虚拟机下新增以下ip设置
IPADDR=“192.168.121.221”
NETMASK=“255.255.255.0”
GATEWAY=“192.168.121.2”
DNS1=“114.114.114.114”
执行以下命令:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(5)reboot 重启虚拟机
以上所有配置完成后,执行:
reboot
然后可以验证下网络是否通,出现一下说明配置正常:
四、配置SSH服务
SSH服务的作用一般是有两方面:一是便于虚拟机节点之间免密访问,二是传输数据时会有加解密的过程安全性更高。为了这三个节点间免密登录,比如后面在启动hadoop服务时,主节点启动其它从节点,就需要免密去执行。所以3台机器都执行以下流程,这样三台机器就可以使用ssh连接而无需输入密码了。
(1)确认ssh进程
输入以下命令,查看ssh进程是否存在(默认是开启的):
ps -e | grep sshd
如下便是开启状态:
(2)生成秘钥
ssh-keygen -t rsa
执行以上命令,不用输入,按3次回车:
(3)秘钥拷贝
三台机器的秘钥分别生成之后,需要将各自的秘钥拷贝到其他2台机器,3台机器都执行以下命令:
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
每条命令中间会有询问,输入“yes”回车,然后输入密码即可:
验证下ssh配置:
在hadoop01下执行ssh hadoop02 和ssh hadoop03,能成功登录:
五、JDK安装
下载一个linux版本的JDK,这里是 jdk-8u161-linux-x64.tar.gz,3台机器均要执行以下。
(1)把JDK安装包传输到虚拟机
这里我们需要借助ftcp文件传输软件,这里使用的是**MobaxTerm,*也可以使用别的文件传输软件,WinSCP\PuTTY*****Xshell都可以。
MobaxTerm新建SFTP类型的session:
可以新建一个root用户,把3个虚拟机的密码输入:
点击ok后:
选择jdk文件,拖入之前建好的/export/software文件夹:
(2)把JDK安装包解压到/export/software/
执行以下命令:
cd /export/software/
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /export/servers/
cd /export/servers/
mv jdk1.8.0_161/ jdk
(3)配置JDK环境变量
执行:
vim /etc/profile
在文末添加:
export JAVA_HOME=/export/servers/jdk
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
export CLASSPATH=.: J A V A _ H O M E / l i b / d t . j a r : JAVA\_HOME/lib/dt.jar: JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
注意:
修改 /etc/profile 文件最后都要执行下
source /etc/profile
才能是修改生效。最后执行java -version看下是否配置成功。
六、Hadoop安装
这里使用的是 hadoop-3.1.3.tar.gz
(1)安装包上传及解压
跟前面JDK一样,先用 mobaxterm 将 hadoop-3.1.3.tar.gz 上传到3台机器的 /export/software:
执行下面解压命令:
tar -zxvf hadoop-3.1.3.tar.gz -C /export/servers/
(2)Hadoop系统环境配置
执行:
vim /etc/profile
添加一下内容:
export HADOOP_HOME=/export/servers/hadoop-3.1.3
export PATH=: H A D O O P _ H O M E / b i n : HADOOP\_HOME/bin: HADOOP_HOME/bin:HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
一样,修改 /etc/profile 文件最后都要执行下 “vim /etc/profile”。
执行验证下:
hadoop version
(3)Hadoop集群境配置
3.1 修改hadoop-env.sh文件
执行:
cd /export/servers/hadoop-3.1.3/etc/hadoop
vim hadoop-env.sh
找到export JAVA_HOME的位置修改:
export JAVA_HOME=/export/servers/jdk
3.2 修改core-site.xml文件
vim core-site.xml
添加以下配置:
fs.defaultFS
hdfs://hadoop01:9000
hadoop.tmp.dir
/export/servers/hadoop-3.1.3/tmp
hadoop02、hadoop03修改时,把对于域名修改成hadoop02、hadoop03即可。
3.3 修改hdfs-site.xml文件
vim hdfs-site.xml
添加以下配置:
dfs.replication
3
dfs.namenode.secondary.http-address
hadoop02:50090
dfs.namenode.secondary.http-address这配置在hadoop02、hadoop03不用配置。
3.4 修改mapred-site.xml文件
vim mapred-site.xml
添加以下配置:
mapreduce.framework.name
yarn
start
3.5 修改yarn-site.xml文件
vi yarn-site.xml
添加以下配置:
yarn.resourcemanager.hostname
hadoop01
yarn.nodemanager.aux-services
mapreduce_shuffle
另外,需要执行下:
hadoop classpath
将返回的地址也写入配置文件:
3.6 修改workers文件
vim workers
删除默认的localhost,添加以下内容:
hadoop01
hadoop02
hadoop03
(4)将集群主节点的配置文件分发到其他子节点
执行:
scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/
传完之后要在hadoop02和hadoop03上分别执行 source /etc/profile 命令。
(5)格式化文件系统
hdfs namenode -format
这个执行成功以后,不要二次执行。
(6)集群启动
执行:
start-dfs.sh
然后3个机器分别 jps 查看进程情况:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
传完之后要在hadoop02和hadoop03上分别执行 source /etc/profile 命令。
### (5)格式化文件系统
hdfs namenode -format
![](https://i-blog.csdnimg.cn/blog_migrate/a95124a02901b2d0bf7e1a968a7588e8.png)
这个执行成功以后,不要二次执行。
### (6)集群启动
执行:
start-dfs.sh
![](https://i-blog.csdnimg.cn/blog_migrate/4921471c4c20772dd31433bc75c8f293.png)
然后3个机器分别 jps 查看进程情况:
[外链图片转存中...(img-rmSSDw6C-1714250418417)]
[外链图片转存中...(img-chHag7uY-1714250418417)]
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**