一.动态扩容
1.准备工作
安装java 配置hostname 确保ssh免密登录可以互通 配置hosts 关闭防火墙
2.修改workers
修改保存每台服务器的$HADOOP_home/etc/hadoop/workers文件,添加节点node4。
# cat workers
node1
node2
node3
node4
3.启动DataNode
在新加的节点node4上,启动datanode。
# hdfs --daemon start datanode
# jps
4.启动nodemanager
在新加的节点node4上,启动nodemanager。
# yarn --daemon start nodemanager
http://node1:50070的Datanodes页上,多了一个node4。
二.动态缩容
这里假设我们把node3下线。
1.修改hdfs-site.xml
向namenode活动节点的hdfs-site.xml中添加如下内容。
dfs.hosts.exclude
/bigdata/server/hadoop-3.1.3/etc/hadoop/dfs_excludes
2.配置excludes
向namenode的active节点的dfs_excludes中添加nodes。
# cat excludes
node3
3.刷新节点
在namenode的active节点上进行节点刷新和查看。
# hdfs dfsadmin -refreshNodes
# hdfs dfsadmin -report
可以看到node3的Decommission Status由Normal变为Decomissing,最后变为Decommissioned,表示数据复制完成。 也可以通过控制台进行查看http://node1:50070/dfshealth.html#tab-datanode
4.关闭node3上datanode和nodemanager进程
# hdfs --daemon stop datanode
# yarn --damon stop nodemanager