关于hadoop新增节点网上的说法都有些差别,自己来实践一把
1.建立一个namenode一个datanode的集群
master:192.168.126.130
slave1:192.168.126.131
2.新增一个datanode,配置JDK、SSH、hadoop、Host、hostname;
slave2:192.168.126.132
3.在新增datanode上启动守护进程
很快namenode就认识到了新成员的加入
新节点添加成功
然后关闭slave2
这里面发现一个细节
hdfs在datanode“失联”一定时间后才会认为其dead。这里我不断刷新,这个“失联”时间不断增大
而正常数值在0、1、2之间变换,就是说最迟2秒内namenode就会收到一次slave1的心跳
运行hadoop dfsadmin -refreshNode也不起作用
我刷到500多的时候没耐心了,因为我觉得这个时间有点长,实际应用中应该适当设置这个数值
关于命令hadoop dfsadmin -refreshNode,刷新节点应该在新增节点的时候可以让namenode快速找到新增加的datanode
因为这里网络延迟很低,所以看不到作用。但是down掉一个的时候还是以“失联”时间为基准
关于dfs.hosts.exclude
这里是在安全的考虑下启动了安全链接,就是不能让任何机器可以随意加入集群,只有namenode认证的才允许加入
这里没有启用这个功能,所以不用在exlude中加入slave2
启用后添加新节点实践了一把差别不大,是多了exlude的操作