hadoop动态增删节点
目录
hadoop动态增删节点
前提条件
资料链接
增添节点
删除节点
重新加入删除的节点
前提条件
已经在虚拟机配置好三个hadoop集群,本次集群是根据以下博客配置,大家可以参考一下2021年全国行业职业技能竞赛暨第四届全国大学生大数据技能竞赛——职教学生组线上选拔赛
资料链接
链接:https://pan.baidu.com/s/1Q2Z-roUoGSMkXNf1I4dThA
提取码:yikm
主一从二
增添节点
新建虚拟机并配置好初始化环境
时区同步和ntp同步:
操作环境:slave3
tzselect
依次输入:5 9 1 1
vim /etc/profile 添加: TZ='Asia/Shanghai'; export TZ source /etc/profile date
ntpdate master
创建定时任务:
crotab -e */10 * * * * usr/sbin/ntpdate master
查看定时任务:
crontab -l
修改hosts文件:
操作环境:master,slave1,slave2,slave3
ping slave3测试(Ctrl+C停止):
操作环境:master
修改slaves:
操作环境:master,slave1,slave2
cd /usr/hadoop/hadoop-2.7.7/etc/hadoop/ vim slaves
增加slave3
免密登录ssh:
操作环境:master
ssh-copy-id slave3
ssh测试:
ssh slave3 exit
分发节点到slave3:
操作环境:master
scp -r /usr/java/ root@slave3:/usr/ scp -r /usr/hadoop/ root@slave3:/usr/
添加环境变量:
操作环境:slave3
vim /etc/profile 添加: #java export JAVA_HOME=/usr/java/jdk1.8.0_221 export PATH=$PATH:$JAVA_HOME/bin #hadoop export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7 export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile
验证java以及hadoop:
操作环境:slave3
java -version hadoop version
添加DataNode:
操作环境:salve3
对于新添加的DataNode节点,需要启动datanode进程,从而加入集群中
cd /usr/hadoop/hadoop-2.7.7/ sbin/hadoop-daemon.sh start datanode jps
在namenode(master)上刷新datanode:
操作环境:master
hdfs dfsadmin -refreshNodes
查看集群状况:
操作环境:master
hdfs dfsadmin -report
在web中查看:
matser:50070
注意:在windows上做主机名映射
平衡DataNode节点:
操作环境:master
cd /usr/hadoop/hadoop-2.7.7/sbin/ //对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M hdfs dfsadmin -setBalancerBandwidth 67108864 //默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5% start-balancer.sh -threshold 5
添加NodeManager:
操作环境:master,slave3
//由于Hadoop 2.X引入了YARN框架,所以对于每个计算节点都可以通过NodeManager进行管理,同理启动NodeManager进程后,即可将其加入集群 //在slave3上,运行 sbin/yarn-daemon.sh start nodemanager //在ResourceManager,通过 yarn node -list 查看集群情况
删除节点
修改hdfs-site.xml:
操作环境:master
dfs.hosts.exclude /usr/hadoop/hadoop-2.7.7/etc/hadoop/excludes
创建并修改excludes文件:
操作环境:master
添加需要删除节点的IP
echo slave3 >> excludes
刷新节点配置情况:
操作环境:master
hadoop dfsadmin -refreshNodes
在web中查看:
此时在Web UI上就可以看到该节点变为Decommissioning状态,过一会就变为Dead了 也可以通过:hadoop dfsadmin -report 命令查看
重新加入删除的节点
1.在master的excludes文件中删除相应节点IP
2.在slave上重启datanode进程:hadoop-daemon.sh start datanode
3.在master上刷新节点配置情况:hadoop dfsadmin -refreshNodes



