新增节点
-
创捷新的虚拟主机
-
修改新节点主机名 vi /etc/sysconfig/network
-
新节点永久关闭防火墙 /etc/init.d/iptables stop chkconfig iptables off
-
新节点关闭selinux vi /etc/selinux/config SELINUX=disabled
-
修改所有节点的 /etc/hosts文件。添加新节点的ip和主机名
-
主节点到新节点的ssh无密码登录 ssh-copy-id node04
-
新节点Jdk安装
-
将namenode关于Hadoop的配置文件全部拷贝到新节点,并删除hadoopdatas文件夹下所有文件
-
复制namenode的hadoop.sh文件到新节点,并输人source /etc/profile命令
-
在namenode的hadoop配置文件路径中创建dfs.hosts(白名单:可以和NN通信的所有节点)文件
-
在白名单中添加可以通信的所有DataNode
-
在hdfs-site.xml中添加一下配置
<property> <name>dfs.hosts</name> <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts</value> </property>
-
刷新NameNode和ResourceManager
hdfs dfsadmin –refreshNodes yarn rmadmin –refreshNodes
-
namenode的slaves文件增加新服务节点主机名称
cd /export/servers/Hadoop-2.6.0-cdh5.14.0/etc/Hadoop vim slaves node01 node02 node03 node04
-
启动新节点的DataNode 和NodeManager
sbin/hadoop-daemon.sh start datanode sbin/yarn-daemon.sh start nodemanager
-
使用负载均衡命令,让数据均匀负载所有机器
start-balancer.sh
删除节点
- 创建dfs.hosts.exclude配置文件
在namenod的cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts.exclude文件,并添加需要退役的主机名称
node01执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
touch dfs.hosts.exclude
vim dfs.hosts.exclude
node04
- 编辑namenode所在机器的hdfs-site.xml
编辑namenode所在的机器的hdfs-site.xml配置文件,添加以下配置
node01执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim hdfs-site.xml
<property>
<name>dfs.hosts.exclude</name>
<value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts.exclude</value>
</property>
- 刷新namenode,刷新resourceManager
在namenode所在的机器执行以下命令,刷新namenode,刷新resourceManager
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
- 查看web浏览界面
浏览器访问
http://node01:50070/dfshealth.html#tab-datanode
- 节点退役完成,停止该节点进程
等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。
node01执行以下命令,停止该节点进程
cd /export/servers/hadoop-2.6.0-cdh5.14.0
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-daemon.sh stop nodemanager
- 从include文件中删除退役节点
namenode所在节点也就是node01执行以下命令删除退役节点
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim dfs.hosts
node01
node02
node03
-
刷新namenode和resourceManager
hdfs dfsadmin -refreshNodes yarn rmadmin -refreshNodes
-
从namenode的slave文件中删除退役节点
namenode所在机器也就是node01执行以下命令从slaves文件中删除退役节点
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim slaves
node01
node02
node03
- 负载均衡
node01执行以下命令进行均衡负载
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-balancer.sh