2

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

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

分布式集群的部署

虚拟机准备

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

ip和主机名

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

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

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

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

image.png

防火墙的关闭

防火墙都进行关闭。

ssh免密码登录

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

伪分布时只有一台机器,所以只用实现自己登录自己就可以了。

但是在集群中设置免密码登录的时候,至少要实现主节点免密码登录其他所有节点。

注意:这里之前要看自己的三台机器的ip是否属于同一网段。如果不是,可能会出现连接不上的情况。

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

ssh-copy-id -i hadoop101
ssh-copy-id -i hadoop102

image.png

这一步的时候还是需要输入对应从节点机器的密码的,然后再用ssh连接的时候就可以实现免密登录了。

image.png

拷贝jdk

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

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

然后还需要将环境变量的配置文件拷贝过去:

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

然后我们到hadoop101机器上去确认一下:

image.png

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

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

image.png

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

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

hadoop101
hadoop102

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

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

重新格式化

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

删除文件:

删除/data/hadoop_repo/文件夹。

格式化:

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

启动集群

启动:

sbin/start-all.sh

查看进程:

image.png

image.png

image.png

主节点上3个进程,从节点上2个进程。启动成功。

总结

伪分布式分布式,整体的部署原理是基本一致的,但是在一些小的细节上有略微的差异。处理好这些差异,才能配置成功。


参考:

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


喵先生的进阶之路
348 声望21 粉丝