hadoop集群中增加新节点服务器(DataNode + NodeManager)方案及验证

现根据业务需要,需要在原有的3台完全分布式的集群(hadoop1、hadoop2、hadoop3仨节点)增设一台新的服务器节点(hadoop4),以下是在原有的完全分布式hadoop集群中增设新节点(DataNode + NodeManager)的部署步骤。

  • 基础服务配置

hadoop4上依次执行以下步骤:

1)用户:重置root用户密码,增加hadoop用户并设置密码

passwd root

useradd hadoop

passwd hadoop

2)网络:设置静态IP

修改BOOTPROTO="static"ONBOOT="yes"

IPADDR="实际IP"

NETMASK="实际掩网子码"

GATEWAY="实际网关"

DNS1="实际DNS"

       3)安全:关闭防火墙、关闭Selinux

systemctl status firewalld.service     --查看防火墙状态

systemctl stop firewalld.service        --关闭防火墙

systemctl disable firewalld.service     --禁止防火墙开机自启动

setenforce 0                                --临时关闭Selinux

/etc/selinux/config  SELINUX=disabled   --永久关闭SeLinux

       4)互信:

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop3

       5)主机:

临时设置主机名,永久修改主机名,修改hosts文件

hostnamectl set-hostname --static hadoop4

/etc/hostname

四台hadoop主机的hosts文件都需要确保修改成这样:

cat /etc/hosts

10.88.88.56   hadoop1

10.88.88.57   hadoop2

10.88.88.58   hadoop3

10.88.88.63   hadoop4

6)挂载数据盘:

格式化数据盘,整盘挂载

mkfs.xfs /dev/sdb                 创建ext4文件系统

mkdir /data                         创建数据目录

mount /dev/sdb /data             挂载

chown -R hadoop:hadoop /data     修改权限

修改/etc/fstabmount -a确认是否挂载成功,df -h查看最新挂载情况

确保所有节点的host文件都已更新。

二、服务部署

1)JDK服务

可利用hadoop1上现有的JDK目录

[hadoop@hadoop1 local] scp -r jdk  hadoop@hadoop4:/usr/local/java

[hadoop@hadoop1 local] ssh  hadoop@hadoop4

在hadoop4服务器上更新环境变量

# jdk config

export JAVA_HOME=/usr/local/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

以上内容追加到/etc/profile和~/.bashrc文件末尾,并且记得source更新。

使用命令java -version查看JDK版本。

[hadoop@hadoop4 ~]# java -version

java version "1.8.0_301"

Java(TM) SE Runtime Environment (build 1.8.0_301-b09)

Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)

2)Hadoop服务

可利用hadoop1上现有的hadoop目录

[hadoop@hadoop1 local]scp -r hadoop  hadoop@hadoop4:/usr/local/hadoop

[hadoop@hadoop1 local]ssh  hadoop@hadoop4

在hadoop4服务器上更新环境变量

# hadoop config

export HADOOP_HOME=/usr/local/hadoop/hadoop-3.3.1

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

以上内容追加到/etc/profile和~/.bashrc文件末尾,并且记得source更新。

使用命令hadoop version查看JDK版本。

[hadoop@hadoop4 ~]# hadoop version

Hadoop 3.3.1

Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2

Compiled by ubuntu on 2021-06-15T05:13Z

Compiled with protoc 3.7.1

From source with checksum 88a4ddb2299aca054416d6b7f81ca55

This command was run using /usr/local/hadoop/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jarJava HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)

三、测试验证

  1. 在要上线的节点上启动datanode

[hadoop@hadoop4 sbin] ./hadoop-daemon.sh start datanode

数据均衡需使用以下命令

[hadoop@hadoop4 sbin] start-balancer.sh -threshold 2

执行这行命令以后,如果某个节点的数据块数量超过了其他任何节点的数据块数量超过 2 个,那么平衡器将启动并重新分配数据块,以使得各个节点的数据块数量尽可能接近。

  1. 需要启动nodemanager,则执行

[hadoop@hadoop4 sbin] ./yarn-daemon.sh start nodemanager

然后在hadoop4上查看Jps进程。

 

同时具备这两个进程,表明新节点已经同步和增加完毕了,集群新增服务器节点增设完毕!

[hadoop@hadoop4 sbin] hadoop dfsadmin -report

此命令获取 Hadoop 分布式文件系统(HDFS)的状态报告。该命令将在终端上输出有关 HDFS 集群的详细信息,包括节点的名称、状态、容量、数据块数量等。通过该命令,用户可以了解 HDFS 集群的整体状态,以便进行故障排除和性能优化等操作。

输出的状态报告包括以下主要部分:

集群 ID 和名称:HDFS 集群的 ID 和名称。

节点信息:HDFS 集群中所有节点的详细信息,包括节点名称、节点类型、节点状态、数据块数量、磁盘使用情况等。

数据块复制情况:HDFS 集群中每个数据块的复制情况,包括数据块 ID、复制数量、存储位置等。

文件系统总体情况:HDFS 集群中整个文件系统的情况,包括总容量、已使用容量、剩余容量等。

 

查看HDFS集群总容量从2.88T扩容到3.55T。

查看YARN集群节点从3个扩容到4个,资源总量从memory 48GB vCores 24个扩容到memory 64GB vCores 32个。

  

 

hadoop4已经充当计算节点,跑任务了。

其他:数据均衡相关记录

 

数据均衡期间会极大消耗网络资源(需在非业务高峰期执行)

 

数据均衡期间也会极大消耗服务器内存资源(需在非业务高峰期执行)

120G数据平衡花了1个小时,生产环境数据平衡时需要注意时间点。

数据平衡结束后,各节点的hdfs数据目录容量不变,内存消耗降下来,但是还有很多在buff/cache里,需要执行以下命令手动释放缓存:

[root@hadoop2 ~]# sync && echo 3 > /proc/sys/vm/drop_caches

[root@hadoop2 ~]# free -g

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值