已有hadoop环境:
操作系统:CentOS Linux release 7.7
Hadoop版本:3.1.1
Java版本:1.8.0_131
已有的hadoop节点:
namenode:node01
namenode:node02
datanode:node01
datanode:node02
datanode:node03
datanode:node04
datanode:node05
新增的hadoop节点:
datanode:node06
datanode:node07
datanode:node08
操作步骤:
1、做namenode到datanode的免密登录服务器
即:node01可以免密ssh登录到node06、node07、node08
node02可以免密ssh登录到node06、node07、node08
2、创建数据目录
根据配置文件hdfs-site.xml中配置的信息创建数据目录
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/cdpsitdepl/data/hadoop/data</value>
</property>
3、复制已有的hadoop到新机器,删除已有日志
在node01上执行:
scp -r hadoop-3.1.1 node06:`pwd`
rm hadoop-3.1.1/logs/*
scp -r hadoop-3.1.1 node07:`pwd`
rm hadoop-3.1.1/logs/*
scp -r hadoop-3.1.1 node08:`pwd`
rm hadoop-3.1.1/logs/*
4、配置环境变量
vi .bashrc
添加以下内容
export HADOOP_HOME=/home/hadoop/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$PATH
5、在新增节点启动datanode进程
hdfs --daemon start datanode
操作完成后查看一下datanode情况
hdfs dfsadmin -report
6、自动均衡数据分布
默认的数据传输带宽比较低,可以设置为64M,执行:
hdfs dfsadmin -setBalancerBandwidth 67108864
默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们在均衡时可以指定该值为5%,执行:
start-balancer.sh -threshold 5
7、在新增的节点启动nodemanager进程
yarn --daemon start nodemanager
8、上一步结束,操作已经全部完成,这一步是最后的验证
查看datanode、nodemanager进程是否存在:
jps -l
查看datanode使用情况:
hdfs dfsadmin -report
查看yarn集群信息:
yarn node -list
新增的节点启动了 DataNode 和 NodeManager,实现了动态向hadoop集群添加了节点,至此Hadoop 动态添加节点操作完成。