Hadoop之——Hadoop3.x集群动态增加和删除DataNode与NodeManager节点

网友投稿 385 2022-11-20

Hadoop之——Hadoop3.x集群动态增加和删除DataNode与NodeManager节点

本文是在《Hadoop之——基于3台服务器搭建Hadoop3.x集群(实测完整版)》博文的基础上进行操作的,在原有Hadoop集群的基础上动态增加并删除“binghe204”服务器上的DataNode与NodeManager节点。

一、准备工作

主要准备的工作有:

(1)安装主机名为“binghe204”的虚拟机,并设置虚拟机静态IP、关闭防火墙、添加hadoop用户、设置主机名、设置主机名与IP地址的关系、配置SSH免密码登录。

注意:此步骤可参见博文《Hadoop之——基于3台服务器搭建Hadoop3.x集群(实测完整版)》。

(2)将新安装的“binghe204”虚拟机的主机名与IP地址的对应关系和SSH免密码登录同步到其他服务器,使其他服务器与“binghe204”服务器互通,具体操作如下:

配置主机名与IP地址的对应关系

在“binghe204”服务器上执行如下操作:

vim /etc/hosts

在文件“/etc/profile”中添加如下内容:

192.168.175.201 binghe201192.168.175.202 binghe202192.168.175.203 binghe203192.168.175.204 binghe204

并将“/etc/profile”文件同步到其他3台服务器,具体操作如下:

sudo scp /etc/hosts binghe201:/etc/sudo scp /etc/hosts binghe202:/etc/sudo scp /etc/hosts binghe203:/etc/

配置SSH免密码登录并与其他服务器互通

在“binghe204”服务器上执行如下操作:

ssh-keygen -t rsacat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keyschmod 700 /home/hadoop/ chmod 700 /home/hadoop/.ssh chmod 644 /home/hadoop/.ssh/authorized_keys chmod 600 /home/hadoop/.ssh/id_rsassh-copy-id -i /home/hadoop/.ssh/id_rsa.pub binghe201ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub binghe202ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub binghe203ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub binghe204

在“binghe201”、“binghe202”和“binghe203”服务器上分别执行如下操作:

ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub binghe204

此时,在“binghe204”服务器上设置了SSH免密码登录并与其他服务器完成了互通操作。

(3)复制“binghe201”服务器上的JDK和Hadoop到“binghe204”服务器的对应目录下,同时复制“binghe201”服务器的“/etc/profile”系统环境变量到“binghe204”服务器上。

在“binghe201”上执行如下操作:

scp -r /usr/local/jdk1.8.0_212/ binghe204:/usr/local/scp -r /usr/local/hadoop-3.2.0/ binghe204:/usr/local/sudo scp /etc/profile binghe204:/etc/

(4)修改“binghe204”服务器上的“/etc/profile”文件

在“binghe204”服务器上,删除“/etc/profile”文件中有关Zookeeper的配置,删除Zookeeper配置之后在“/etc/profile”文件中添加的配置如下:

JAVA_HOME=/usr/local/jdk1.8.0_212HADOOP_HOME=/usr/local/hadoop-3.2.0CLASS_PATH=.:$JAVA_HOME/libPATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport JAVA_HOME ZOOKEEPER_HOME HADOOP_HOME CLASS_PATH PATHexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_YARN_HOME=$HADOOP_HOMEexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

至此,在Hadoop集群中动态添加和删除DataNode与NodeManager节点的准备工作就完成了。

二、动态添加DataNode和NodeManager节点

1.查看集群的状态

(1)查看HDFS各节点状态

hdfs dfsadmin -report

可以看到添加DataNode节点之前,DataNode节点总共有3个,分别在“binghe201”、“binghe202”和“binghe203”服务器上。

(2)查看YARN各节点状态

yarn node -list

可以看到添加NodeManager之前,NodeManager进程运行在“binghe201”、“binghe202”和“binghe203”服务器上。

2.添加DataNode和NodeManager节点

(1)在workers文件中新增“binghe204”

在所有服务器的Hadoop workers文件中添加“binghe204”节点,具体如下:

-bash-4.1$ vim /usr/local/hadoop-3.2.0/etc/hadoop/workers binghe201binghe202binghe203binghe204

(2)启动“binghe204”服务器上的DataNode和NodeManager

具体启动操作命令如下

hdfs --daemon start datanodeyarn --daemon start nodemanager

(3)刷新节点

在“binghe201”服务器上执行如下命令,刷新Hadoop集群节点。

hdfs dfsadmin -refreshNodesstart-balancer.sh

3.再次查看集群的状态

(1)查看HDFS各节点状态

hdfs dfsadmin -report

可以看到,添加DataNode节点后,输出的结果中存在“binghe204”服务器上的DataNode节点。说明添加DataNode节点成功。

(2)查看YARN各节点状态

yarn node -list

可以看到,存在“binghe204”服务器上的NodeManager节点,说明NodeManager节点添加成功

三、动态删除DataNode节点与NodeManager节点

1.删除DataNode与NodeManager节点

(1)停止DataNode和NodeManager进程

在“binghe204”节点上停止DataNode和NodeManager节点,在“binghe204”服务器上执行的具体操作如下:

hdfs --daemon stop datanodeyarn --daemon stop nodemanager

(2)删除workers上的“binghe204”

删除每台服务器上Hadoop的workers文件中的“binghe204”,删除后的文件内容如下:

-bash-4.1$ vim /usr/local/hadoop-3.2.0/etc/hadoop/workersbinghe201binghe202binghe203

(3)刷新节点

在“binghe201”服务器上执行如下命令,刷新Hadoop集群节点。

hdfs dfsadmin -refreshNodesstart-balancer.sh

2.查看集群状态

(1)查看HDFS各节点状态

hdfs dfsadmin -report

可以看到,在输出的信息中没有“binghe204”服务器上的DataNode节点,说明“binghe204”服务器上的DataNode节点删除成功。

(2)查看YARN各节点状态

yarn node -list

可以看到,在输出的信息中没有“binghe204”服务器上的NodeManager节点,说明“binghe204”服务器上的NodeManager节点删除成功。

四、动态删除DataNode节点与NodeManager节点的另一种方式

这种方式不需要删除workers文件中现有的“binghe204”服务器配置,需要按照如下方式进行配置。

1.配置NameNode节点的hdfs-site.xml

适当减小dfs.replication副本数,增加dfs.hosts.exclude配置如下:

dfs.hosts.exclude /usr/local/hadoop-3.2.0/etc/hadoop/excludes

2.创建excludes文件

在“binghe201”服务器上的/usr/local/hadoop-3.2.0/etc/hadoop/目录下创建excludes文件,将要删除的“binghe204”服务器节点的主机名或IP地址配置到这个文件中,具体如下:

vim /usr/local/hadoop-3.2.0/etc/hadoop/excludesbinghe204

3.刷新节点

在“binghe201”服务器上执行如下命令,刷新Hadoop集群节点。

hdfs dfsadmin -refreshNodesstart-balancer.sh

这种方式也可以实现动态删除DataNode和NodeManager节点。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:远程医疗选择PAN或WAN接口的度量标准
下一篇:路由器USB接口的5个用途
相关文章

 发表评论

暂时没有评论,来抢沙发吧~