在上一篇文章中,介绍了Hadoop集群的伪散布的部署,在读这篇前,倡议先读上篇文章:Hadoop集群的部署(一)

这篇文章中咱们将介绍Hadoop集群分布式的部署。

分布式集群的部署

虚拟机筹备

分布式的集群,当然须要多个虚拟机的筹备。这是应用3台虚拟机,其中一个为主节点,另外两个为从节点。其中,上篇文章中曾经配置好的虚拟机当做主节点。

ip和主机名

两个从节点的ip别离为:192.168.19.11192.168.19.12

两个从节点的主机名别离为:hadoop101hadoop102

配置过程参见上一篇文章。

留神:这里在配置hosts文件的时候,不仅要配置本人的ip和主机名,还要设置另外两台的ip和主机名。即每台机器都要有如下的配置。

防火墙的敞开

防火墙都进行敞开。

ssh免明码登录

这一步在配置的时候有点不同。

伪散布时只有一台机器,所以只用实现本人登录本人就能够了。

然而在集群中设置免明码登录的时候,至多要实现主节点免明码登录其余所有节点。

留神:这里之前要看本人的三台机器的ip是否属于同一网段。如果不是,可能会呈现连贯不上的状况。

主节点的机器上,应用命令:

ssh-copy-id -i hadoop101ssh-copy-id -i hadoop102

这一步的时候还是须要输出对应从节点机器的明码的,而后再用ssh连贯的时候就能够实现免密登录了。

拷贝jdk

将主节点上咱们之前上传好的jdk拷贝到另外两天从节点上:

scp -rq /opt/jdk1.8/ hadoop101:/opt/

而后还须要将环境变量的配置文件拷贝过来:

scp -rq /etc/profile hadoop101:/etc/

而后咱们到hadoop101机器下来确认一下:

接着再拷贝另一个从节点的。

hadoop装置

因为咱们这里从伪分布式换成分布式,所以首先须要对之前的一些配置文件做些批改。

hdfs-site.xml:

<configuration>    <property>        <name>dfs.replication</name>        <value>2</value>    </property>    <property>        <name>dfs.namenode.secondary.http-address</name>        <value>hadoop100:50090</value>    </property></configuration>
留神:这里有两个从节点了,所以咱们的备份数量改为2。而后设定secondaryNameNode的这个过程也是在主节点上启动。

yarn-site.xml:

<configuration>    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>    </property>    <property>        <name>yarn.nodemanager.env-whitelist</name>        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>    </property>    <property>        <name>yarn.resourcemanager.hostname</name>        <value>hadoop100</value>    </property></configuration>
留神:这里多个一个属性,用来指定resourcemanager在主节点的机器上启动

workers:

因为当初是集群的构造,咱们须要通知机器那些是从节点。

vim etc/hadoop/workers

默认是将本机作为从节点的,咱们要将hadoop101hadoop102两台机器作为从节点。

删掉之前的,将两台机器的主机名加上:

hadoop101hadoop102

拷贝hadoop目录到另外两台机器上:

scp -rq /opt/hadoop-3.2.1/ hadoop101:/opt

从新格式化

因为咱们这里相当是装置了一个新的集群,在首次启动集群前,须要对集群进行格式化。前面在启动就不须要了。

删除文件:

删除/data/hadoop_repo/文件夹。

格式化:

cd /opt/hadoop-3.2.1bin/hdfs namenode -fotmat

启动集群

启动:

sbin/start-all.sh

查看过程:

主节点上3个过程,从节点上2个过程。启动胜利。

总结

伪分布式分布式,整体的部署原理是基本一致的,然而在一些小的细节上有稍微的差别。解决好这些差别,能力配置胜利。


参考:

https://www.imooc.com/video/20729