hadoop集群搭建
已完成伪分布式集群的搭建,本篇目标:搭建三个结点组成的分布式结点架构
第一步:将上次搭建的伪分布式节点的hadoop文件夹分发到剩余两个结点上
# 设置每台结点路径相同,方便后面的配置
cd /opt
scp hadoop root@num05${PWD}
scp hadoop root@num06${PWD}
第二步:修改配置文件
# 2.1修改hadoop.env.sh、yarn-env.sh和mapred-env.sh
# 该文件只需要修改JAVA_HOME,注意如果三台结点JAVA_HOME不在同一位置需要修改
vi /opt/hadoop/etc/hadoop/hadoop-env.sh
vi /opt/hadoop/etc/hadoop/yarn-env.sh
vi /opt/hadoop/etc/hadoop/mapred-env.sh
# 2.2修改core-site.xml
vi /opt/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
# 这里标记的是主结点的主机名及IP,所以三台要保持一致
<value>hdfs://num04:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
# 2.3 修改hdfs-site.xml
vi /opt/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
# 要改为分布式架构,所以这里设置为结点个数3
<value>3</value>
</property>
# 增加下面的设置,要设置的是secondarynamenode
# secondarynamenode一般不设为主机,在其余两个节点中任选一个
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>num05:50090</value>
</property>
</configuration>
# 2.4 修改yarn-site.xml
vi /opt/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
# 这里指定的的是resourcemanager开启结点,主机开启即可,因此这里配置三个结点保持一致
<value>num04</value>
</property>
</configuration>
# 2.5修改mapred-site.xml(这里是为了开启历史服务,和集群无关)
vi /opt/hadoop/etc/hadoop/mapred-site.xml
<configuration>
# 这里不需要修改配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
# 这项注明主机名和端口,三台保持一致
<property>
<name>mapreduce.jobhistory.address</name>
<value>num04:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>num04:19888</value>
</property>
</configuration>
# 2.6配置slaves
vi /opt/hadoop/etc/hadoop/slaves
# 原文件里面应该只写了一条localhost,将这条删除替换成集群的结点列表
num04
num05
num06
第三步:配置文件修改完成,就可以准备开启集群了
在集群开启之前,先将三个结点上的hadoop安装目录下的logs文件夹和tmp文件夹删除(要连同文件夹一同删除,后面会重新生成)
在主结点执行命令:hdfs namenode -format格式化
启动集群
start-hdfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
开启后执行jps命令查询,主结点有以下几个服务运行:
Jps
NameNode
NodeManager
ResourceManager
secondarynamenode指定结点运行的服务:
DataNode
NodeManager
Jps
SecondaryNameNode
其余结点运行的服务:
Jps
DataNode
NodeManager
说明集群搭建成功
关闭集群只需在主结点按照开启顺序反向执行启动命令(start换成stop)即可(可以分别执行start-all.sh和stop-all.sh命令开启和关闭集群,不过这两个命令将废弃,官方不推荐使用,同时需要注意这两个命令不会开关历史服务,需额外手动开启)