系列文章目录
Hadoop 集群安装部署及新增服务器节点(详细):
现根据业务需要,需要在原有的3台完全分布式的节点增设一台新的服务器节点,以下文章正文编写了在原有的完全分布hadoop中增设新节点的部署。
文章目录
前言
前置工作:空闲服务器一台,并将jkd8在该服务器安装完毕(环境变量的添加等工作),并将该服务器的的ip映射配置完毕
环境要求: hadoop3.1.3版本环境安装包 。
提示:以下是本篇文章正文内容,下面案例可供参考
一、部署步骤
1.将新加节点信息补充至多台服务器的/etc/hosts中(包含新增节点自己这台服务器)
代码如下(示例):
[root@hadoop128 ~] vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.146.128 hadoop128
192.168.146.134 hadoop134
192.168.146.135 hadoop135
192.168.146.132 hadoop132 `#(新增节点)`
然后在 hadoop134,hadoop135上重复以上操作
将该行信息同步至其他服务器的/etc/hosts中
均在其他节点(hadoop128、hadoop134、hadoop135)中的/etc/hosts中添加新节点的解析主机名
并在hadoop132的节点上 修改自己的主机名称
[root@CentOS ~] hostnamectl set-hostname hadoop132
然后跳回hadoop128中添加授信
[root@CentOS ~] ssh hadoop128
[root@hadoop128 ~] ssh-copy-id hadoop132 # hadoop132为新增
[root@hadoop128 ~] ssh hadoop132
2.通过前文我们写过的xsync脚本再次修改 将新增节点的信息写入到脚本文件xsync中(注意缩进
)
代码如下(示例):
#!/bin/bash
#判断参数个数
#!/bin/bash
#判断参数个数
if [ $# -lt 1 ];then
echo Not Enough Arguement !
exit;
fi
#遍历所有机器
for host in hadoop128 hadoop134 hadoop135 hadoop132 #hadoop132为新增的节点
do
echo =====================$host========================
# 遍历目录,挨个发送
for file in $@
do
if [ -e $file ];then
#获取父目录
pdir=$(cd -P $(dirname $file) ; pwd)
#获取当期文件名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file is not exist !
fi
done
done
二、启动新增节点
1.利用xsync脚本将hadoop128上的所有文件同步至新节点hadoop132中 执行
[root@hadoop128 sbin] xsync ../../hadoop-3.1.3/
完成后查看
[root@hadoop128 sbin] ssh hadoop132
[root@hadoop132 ~] cat /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
发现和hadoop132上的core-site.xml内容一致 可以断定 新增节点132上的所有配置文件已完成同步
重点:首先通过上文我们已经启动了hadoop集群
如下图所示
现在演示的为 在多台服务器都在运行的环境中 热增加节点(不用关闭集群重新启动的情况)
首先:在hadoop132上启动datanode节点
[root@hadoop132 ~] cd /opt/module/hadoop-3.1.3/sbin/
[root@hadoop132 sbin] hadoop-daemon.sh start datanode
…
…
启动完毕后查看一下hadoop132服务器jps进程情况
正常
2.然后启动数据同步命令(重点)
[root@hadoop132 sbin] start-balancer.sh
执行这行命令以后,如果其余三台服务器上都有大量的冗余数据,会导致同时回写新增节点hadoop132,这时有可能会造成资源竞争问题,导致新节点阻塞而不能正常提供服务。
提示:可以通过设置回写带宽来调整回写速度,这样在既保证了提供服务的情况下,还可以一边回写数据。
启动yarn
[root@hadoop132 sbin] yarn-daemon.sh start nodemanager
然后在hadoop132上查看Jps进程
同时具备这两个进程 表明 新节点已经同步和增设完毕了已经 正常 新增服务器节点增设完毕!结束