hadoop - 节点的服役和退役(HDFS)

1. 首先需要克隆一台主机

现在我这里已经有五台虚拟机,要克隆的目标主机为CentOS7-1810_04:

当前状态

启动集群后webUI如下:

把要克隆的目标虚拟机关机,在VMware上选中目标主机 -> 右键 -> 管理 -> 克隆:

右键 -> 管理 -> 克隆

然后下一步,选择克隆自:虚拟机中的当前状态:

克隆自虚拟机中的当前状态

继续下一步,克隆方法选择:创建完整克隆:

创建完整克隆

继续下一步,修改虚拟机名称和位置:


修改虚拟机名称和位置

然后选择完成,很快就克隆完了:


克隆中
克隆完成

可以看到,现在有六台虚拟机了:


2.修改新主机的IP和主机名等信息

执行命令sudo vi /etc/hostname
修改主机名为:s140

执行命令sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改主机IP为:192.168.11.140

然后重启虚拟机
现在就可以用MobaXterm_Personal_11.1连接了。

3. 复制完全分布式文件夹full为高可用文件夹ha

其实这里之所以扩展到六台主机是为了给后边的高可用做铺垫,所以需要在/software/hadoop/etc/目录下建一个指向ha文件夹的hadoop软链接。当前/software/hadoop/etc/目录下是这样的:

依次执行如下命令:

xcall.sh "cp -rf /software/hadoop/etc/full /software/hadoop/etc/ha"
xcall.sh "rm /software/hadoop/etc/hadoop"
xcall.sh "ln -s /software/hadoop/etc/ha /software/hadoop/etc/hadoop"
xcall.sh "ls -al /software/hadoop/etc/"

现在/software/hadoop/etc/```目录下是这样的:


4. 新建服役节点

连接建立成功了,现在开始把新节点服役到集群上,因为新主机是从以前的主机拷贝来的,所以能够进行绵密需要删除以前的信息,在s135上依次执行以下命令:

rm -rf /tmp/*
rm -rf /software/hadoop/logs/*
rm -rf ~/hadoop/*

这样主机就变成一个新的主机了,接下来开始配置节点服役:
/software/hadoop/etc/目录下新建白名单文件include.hosts
执行命令:

vi include.hosts

白名单文件s201:/software/hadoop/etc/include.hosts内容为:

s136
s137
s138
s139
s140  //新添加的

在hdfs-site.xml文件中添加属性:

  
    dfs.hosts
    /soft/hadoop/etc/dfs.include.txt
  

在nn上刷新节点,执行命令:

hdfs dfsadmin -refreshNodes

在/software/hadoop/etc/hadoop/works文件中添加新节点ip(主机名)

s135
s136
s137
s138
s139
s140   //新添加的

分发一下hdfs-site.xml文件和works文件(保证每个主机上的配置文件一样)

单独启动新的节点[s140]中的datanode和rm

hadoop-daemon.sh start datanode

刷新webUI,此时:

节点已经变成了五个,服役成功!

5. 节点的退役

这里要把s139和s140都退役,
添加退役节点的ip到黑名单/software/hadoop/etc/,不要更新白名单:

s139
s140

配置hdfs-site.xml

  
    dfs.hosts.exclude
    /soft/hadoop/etc/dfs.hosts.exclude.txt
  

刷新nn节点和NM节点

hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes

查看webUI,节点状态在Decommisstioning

继续刷新webUI,当显示为如下:

说明s139和s140已经退役成功。
(此时如果想要他们重新服役,只需要在黑名单中删除并重新刷新hdfs和yarn即可)

然后从白名单s135:/software/hadoop/etc/include.hosts删除已经退役的节点,并再次刷新节点:

hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes

最后从works文件中删除退役节点。
再刷新webUI,显示如下:

退役成功。

你可能感兴趣的:(hadoop - 节点的服役和退役(HDFS))