Hadoop完全分布式环境搭建步骤

IT 文章5年前 (2021)发布 小编
0 0 0

一.说明:

1、伪分布式环境是一台虚拟机,自身既是主节点又是从节点,即既是NameNode也是DataNode
2、完全分布式环境,需要多台虚拟机,这里我们使用一主两从配置
3、我们这里的分布式环境搭建基于之前的伪分布式master主机

二、具体步骤

[v_blue]注意:以下1~5步具体操作及第6步中部分操作可以参考下列文章中配置第一台master虚拟主机时的操作:[/v_blue]
[neilian ids=287]
[v_act]1.准备多台虚拟机[/v_act]
之前搭建伪分布式时,已经有了一台master虚拟主机,现在再安装两台虚拟主机分别为slave1、salve2

[v_act]2.设置静态IP和主机名[/v_act]
要求如下(具体主机名和ip根据自己情况而定):
Hadoop完全分布式环境搭建步骤
然后重启虚拟主机。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

[v_act]3.修改hosts文件需要注意:[/v_act]
3台虚拟机的hosts文件都需配置如下信息:

192.168.217.100 master
192.168.217.101 slave1
192.168.217.102 slave2

Hadoop完全分布式环境搭建步骤
可以将master的修改好后,可以统一远程copy到slave1和slave2,使用指令:

scp /etc/hosts root@slave1:/etc/hosts
scp /etc/hosts root@slave2:/etc/hosts

Hadoop完全分布式环境搭建步骤
查看slave1和slave2的hosts:
Hadoop完全分布式环境搭建步骤

[v_act]4.关闭防火墙[/v_act]
永久关闭slave1和slave2的防火墙和selinux
注意:关闭selinux也可以通过远程copy的方法

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

[v_act]5.新建用户(忽略此步,我们直接用root用户)[/v_act]
在slave1和slave2新建hadoop用户,注意用户名和密码必须都和master一致
注意:修改sudoers也可以通过远程copy的方法

[v_act]6.设置3台机器的相互免密登录[/v_act]
为了方便后期整合ZK和HBase集群,我们推荐实现3台机器相互免密登录,逻辑就是:
1)由于在搭建伪分布式时我们就已经在master上生成了公私钥对,并且将公钥cat到了authorized_keys中,现在我们只需在slave1slave2中分别使用root用户生成公私钥对,代码如下:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

2)将slave1和slave2中的id_dsa.pub分别远程拷贝到master中,并重命名:

#在slave1中执行
scp ~/.ssh/id_dsa.pub root@master:~/.ssh/id_dsa_slave1.pub
#在slave2中执行
scp ~/.ssh/id_dsa.pub root@master:~/.ssh/id_dsa_slave2.pub

3)由于我们原先已经将master的id_dsa.pub公钥cat到了authorized_keys,现在只需在master中将id_dsa_slave1.pubid_dsa_slave2.pub公钥cat进去即可:

#在master中执行
cat ~/.ssh/id_dsa_slave1.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa_slave2.pub >> ~/.ssh/authorized_keys

4)将master中的带有这3台主机公钥的文件authorized_keys远程拷贝到slave1和slave2:

#在master中执行
scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
scp ~/.ssh/authorized_keys root@slave2:~/.ssh/

5)然后测试相互之间的免密登录:
Hadoop完全分布式环境搭建步骤

ad

免费在线工具导航

优网导航旗下整合全网优质免费、免注册的在线工具导航大全

[v_act]7.通过root用户远程复制jdk到slave1和slave2[/v_act]

//安装包:
scp -rq /usr/java/ slave1:/usr/
scp -rq /usr/java/ slave2:/usr/
//配置文件:
scp -rq /etc/profile/ slave1:/etc/
scp -rq /etc/profile/ slave2:/etc/
//文件生效:在slave1和slave2中:
source /etc/profile
java -version

Hadoop完全分布式环境搭建步骤
Hadoop完全分布式环境搭建步骤
耐心等待,不能Ctrl + C中途停止进程
查看slave1和slave2的usr目录和profile
分别测试java -version
Hadoop完全分布式环境搭建步骤

[v_act]8.修改master节点hadoop的配置[/v_act]
注意1:环境变量不需要再次配置
注意2:hdfs-site.xml文件的dfs.replication的value改为2,因为有两个datanode从节点
注意3:hdfs-site.xml再新增SecondaryName的启动路径,默认在主节点上,这里我们将其配置在slave1节点上(此步可忽略,就放在主节点就可以)


   dfs.namenode.secondary.http-address
   slave1:9868

Hadoop完全分布式环境搭建步骤
注意4:yarn-site.xml再新增 resourcemanager启动位置


   yarn.resourcemanager.hostname
   master

注意5:新增对workers文件配置,配置从节点主机名,这里我们将slave1和slave2作为从节点:

sudo vi workers

原:
Hadoop完全分布式环境搭建步骤
现:
Hadoop完全分布式环境搭建步骤
注意6:将master的/usr/hadoop目录赋予777权限

sudo chmod -R 777 /usr/hadoop

注意7:删除hadoopdata目录:
由于我们之前搭建伪分布式时,hdfs格式化过,在hadoop目录中会生成hadoopdata目录(根据你的配置可能路径和名称不一样),我们需要将该目录删除

rm -rf hadoopdata

3)将master上的hadoop目录远程copy到slave1和slave2上:

sudo scp -rq /usr/hadoop/ root@slave1:/usr/
sudo scp -rq /usr/hadoop/ root@slave2:/usr/

时间比较长,需要耐心等待
Hadoop完全分布式环境搭建步骤

[v_act]9.启动验证[/v_act]
1)格式化hdfs文件系统
我们只需要在master节点执行格式化操作即可:

hdfs namenode -format

[v_blue]注意:只需要格式化一次,不需要每次使用都格式化,如果格式化出错,最好先删除/usr/hadoop/hadoopdata目录再重新格式化[/v_blue]
2)启动hadoop
我们只需在master节点启动hadoop即可:

start-all.sh

Hadoop完全分布式环境搭建步骤
3)master执行jps命令,有如下进程:
Hadoop完全分布式环境搭建步骤
slave1:
Hadoop完全分布式环境搭建步骤
slave2:
Hadoop完全分布式环境搭建步骤
4)也可以通过web ui进行访问查看
yarn:http://192.168.217.100:8088/cluster
master:http://192.168.217.100:9870
datanode1:http://192.168.217.101:9864
datanode2:http://192.168.217.102:9864
5)停止hadoop

stop-all.sh
© 版权声明

相关文章

暂无评论

暂无评论...