Hadoop 集群添加新节点

Published Sat 22 October 2016 in 大数据

by HanXiao  


仅为实验集群或者小型集群的添加节点方法, 一般大型的集群都有专门的运维.

安装系统

首先安装好系统, 配置好 IP、JDK 及 Hadoop, 参考 搭建 Hadoop 分布式实验环境 前三步.

设置域名解析

NameNode 节点下, cd /usr/smallcpp/hadoop-2.7.3/etc/hadoop 进入 Hadoop 配置文件所在目录;

vim slaves 将新节点的域名添加进来;

sudo vim /etc/hosts 修改 [ip 域名] 对应表, 将新节点的 IP 域名 添加进来, 然后将远程拷贝到新节点中, 如我的新添加的节点主机名是 smallcpp04, 用户是 hanxiao:

scp /etc/hosts hanxiao@smallcpp04:/home/hanxiao/.ssh/authorized_keys

同时也将 Hadoop 的配置目录拷贝过去:

scp /usr/smallcpp/hadoop-2.7.3/etc/hadoop hanxiao@smallcpp04:/usr/smallcpp/hadoop-2.7.3/etc/hadoop

下面两个操作不知道是不是必须的, 待研究~

  • 更新当前集群的 DataNode 的 [ip 域名] 对应表
  • 更新当前集群的 DataNode 的 slaves 列表

配置 SSH

参考 搭建 Hadoop 分布式实验环境 第 5.2 步.

启动新节点

添加新节点不需要重启集群, 新节点会向 NameNode 发送心跳及 blockreport, 集群就知道有新节点上线了, 所以按上面的操作配好后, 到新节点下执行以下操作即可.

./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver

或者:

./start-all.sh
./mr-jobhistory-daemon.sh start historyserver

执行完毕后, 用 jps 看下有没有下面这两个进程:

DataNode
NodeManager

负载均衡

该步骤可选, 数据负载均衡,目的是为了将其他节点的数据分担一些到新节点上来,比较消耗时间.

./start-balancer.sh