由于有些内容和伪分布部署一致,所以在本篇博客中不在详写,可参考(https://blog.youkuaiyun.com/qq_37719571/article/details/89296968)
1、实验环境准备
(1) 进行实验前准备,在VMware上安装3台CentOS7虚拟机,虚拟机的IP及机器名称如下
主机名 IP地址 角色
hadoop163.cn 192.168.150.163 NameNode
hadoop164.cn 192.168.150.164 DataNode1
hadoop165.cn 192.168.150.165 DataNode2
(2) 机器上配置hosts文件,实现域名与IP地址的对应,具体如下:(真实生产系统中在DNS服务器上配置)【3台机器都需要修改hosts】
[root@hadoop163 ~]# vim /etc/hosts
192.168.150.163 hadoop163.cn
192.168.150.164 hadoop164.cn
192.168.150.165 hadoop165.cn
(3)创建运行hadoop用户账号和Hadoop目录。【3台机器都需要创建hadoop用户】
创建hadoop账号:
[root@hadoop163 ~]# useradd -u 8000 hadoop
#为了保障,在其它服务器上创建的hadoop用户ID保持一致,创建时,尽量把UID调大
[root@ hadoop163 ~]# echo 123456 | passwd --stdin hadoop
注:创建用户hadoop时,不能使用参数-s /sbin/nologin ,因为稍后我们要su - hadoop 切换用户
(4) 配置Hadoop环境,安装Java环境JDK【参照伪分布安装】
(5) 配置无密码访问
首先,切换到hadoop账号下:
[Hadoop@hadoop163 ~]$ ssh-keygen //生成秘钥
[Hadoop@hadoop163 ~]$ ssh-copy-id 192.168.150.164 //分发秘钥
[Hadoop@hadoop163 ~]$ ssh-copy-id 192.168.150.165
[Hadoop@hadoop163 ~]$ ssh-copy-id 192.168.150.163
测试是否可以无密码:
[Hadoop@hadoop163 ~]$ ssh 192.168.150.164
[Hadoop@hadoop164 ~]$ //进入这个状态,说明正常
2、Hadoop安装配置
所有的步骤与伪分布相同。只有两个地方需要修改:
配置文件hdfs-site.xml
<property>
#从机数为2,所以修改为2
<name>dfs.replication</name>
<value>2</value>
</property>
7)编辑datanode节点host,修改workers文件
[hadoop@hadoop163 hadoop]$ vim /home/hadoop/hadoop-3.0.0/etc/hadoop/workers
------------------------修改为,因为是分布式部署,要添加从机------------------------------------
hadoop164.cn
hadoop165.cn
3、在hadoop163上启动Hadoop
(与伪分布式部署完全一致)
4、查看服务器状态
(与伪分布式部署完全一致)