1、hadoop动态增加新节点
1、添加主机映射 vim /etc/hosts,这里是node4
192.168.88.135 master0
192.168.88.136 master1
192.168.88.137 node1
192.168.88.139 node2
192.168.88.138 node3
192.168.88.145 node4
2、更改主机名为node4
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node4
3、配置静态ip,然后重启reboot
vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/udev/rules.d/70-persistent-net.rules
DEVICE=eth0
TYPE=Ethernet
UUID=27b5d0ea-0df8-4909-a0f6-5e405f2ab682
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0c:29:bb:d0:e2
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
LAST_CONNECT=1546164677
IPADDR=192.168.88.145
GATEWAY=192.168.88.1
BROADCAST=255.255.255.0
4、ssh免密登录
-
ssh-keygen -t rsa
-
ssh-copy-id -i ~/.ssh/id_rsa.pub wangfei@master0
各个节点需要配置hosts,需要公匙互相发送
5、防火墙
6、删除/tmp,hadoop下的 hdfs/data logs tmp pids 等
启动datanode
./hadoop-daemon.sh start datanode
启动yarn
./yarn-daemon.sh start nodemanager
7、停止
hadoop-daemon.sh stop datanode
./yarn-daemon.sh stop nodemanager
2、白名单(不在名单上的无法注册到hadoop
)
1、在etc/hadoop下创建dfs.hosts
把允许的datanode都添加进去
2、在hdfs-site.xml中天剑dfs.hosts属性
<property>
<name>dfs.hosts</name>
<value>/usr/local/hadoop-2.6.0/etc/hadoop/dfs.hosts</value>
</property>
3、分发
4、刷新namenode
hdfs dfsadmin -refreshNodes
刷新rm节点
yarn rmadmin -refreshNodes
如果是对namenode做过HA,则需要在主备namenode上执行:
hdfs dfsadmin -fs hdfs://tkbd -refreshSuperUserGroupsConfiguration
5.集群负载均衡
在master主机上面,运行start-balancer.sh进行数据负载均衡。目的是将其他节点的数据分担一些到新节点上来,看集群原来数据的多少需要一定的时间才能完成。
hadoop balancer
或者
bin/start-balancer.sh
负载均衡作用:当节点出现敀障,或新增加节点时,数据块可能分布不均匀,负载均衡可重新平衡各个datanode上数据块的分布,使得所有的节点数据和负载能处于一个相对平均的状态,从而避免由于新节点的加入而效率降低(如果不进行balance,新数据一般会被插入到新节点中)
3、黑名单
在黑名单上的节点会被强制退出
退役旧节点
1、在etc/hadoop下创建dfs.hosts.exclude文件
2、在hdfs-site.xml添加属性
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop-2.6.0/etc/hadoop/dfs.hosts.exclude</value>
</property>
3、分发 ,刷新nn rm
4、退役的时候把自己的数据同步到其他节点,数据越多,退役时间越慢
5、最后单节点退出,停掉datanode,nodemanager
6、等集群重启的时候,就消失

nn dn多目录配置,代写
来源:CSDN
作者:尘缘未了-
链接:https://blog.csdn.net/qq_35315256/article/details/88640590