HDFS 节点动态管理

简介: HDFS 节点动态管理

一、节点上线

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

1.新机器安装环境准备

参考集群安装文档环境准备

 

2.namenode节点配置

[root@hdp01 hadoop]# cat workers

hdp01.dialev.com

hdp02.dialev.com

hdp03.dialev.com

hdp04.dialev.com

[root@hdp01 hadoop]# pwd

/usr/local/hadoop/etc/hadoop

[root@hdp01 hadoop]# cd /usr/local/

[root@hdp01 local]# scp -r -q hadoop-3.1.4 192.168.1.134:/usr/local/      #注意如果namenode节点数据目录也在的话记得排除掉

 

 

3.新增节点配置

[root@hdp04 ~]#  cd /usr/local/

[root@hdp04 local]# ln -sv hadoop-3.1.4 hadoop

[root@hdp04 local]# mkdir -p /var/run/hadoop-hdfs/  #如果配置了短路本地读取记得socket目录创建一下

[root@hdp04 local]# cd hadoop/logs/

[root@hdp04 logs]# rm -rf ./*  #删除所有拷贝过来的日志

[root@hdp04 logs]# hdfs --daemon start datanode #启动服务

[root@hdp04 logs]# jps

36871 Jps

36794 DataNode

[root@hdp04 logs]# hdfs dfsadmin -report  #打印集群状态,也可以访问namenode UI  http://192.168.1.131:50070/dfshealth.html#tab-datanode

 

4.根据实际情况执行HDFS Blocak负载均衡,因为当前是测试集群没有数据,不做操作,以下是命令参考

#首先设置数据传输带宽。

hdfs dfsadmin -setBalancerBandwidth 104857600

#然后启动Balancer,等待集群自均衡完成即可。

hdfs balancer -threshold 10

二、节点下线

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

1.namenode 添加节点黑名单列表,将下线节点写入列表

[root@hdp01 local]# cd hadoop/etc/hadoop/

[root@hdp01 hadoop]# vim hdfs-site.xml

    <!-- 添加黑名单排除指定节点在集群之外,如果列表为空则表示不禁止任何机器,建议在集群创建时就添加该配置,否则后续需要重启namenode才能重新加载 -->

    <!-- 注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役 -->

    <property>

        <name>dfs.hosts.exclude</name>

        <value>/usr/local/hadoop/etc/hadoop/excludes</value>

    </property>

[root@hdp01 hadoop]# vim /usr/local/hadoop/etc/hadoop/excludes #添加需要下线的主机

hdp04.dialev.com

[root@hdp01 hadoop]# scp excludes hdfs-site.xml 192.168.1.132:$PWD #同步配置,下线节点可以忽略

 

 

2.重启集群或刷新集群

#如果dfs.hosts.exclude没有提前配置需要重启集群,否则此步骤可以跳过

[root@hdp01 hadoop]# stop-dfs.sh

[root@hdp01 hadoop]# start-dfs.sh

    

#如果dfs.hosts.exclude配置已经提前存在,可以直接刷新配置即可,命令如下

hdfs dfsadmin -refreshNodes  

 

3.检查集群状态

[root@hdp01 logs]# jps

36132 NameNode

36644 Jps

36295 DataNode

[root@hdp01 logs]#  hdfs dfsadmin -report  |grep -E '^Name|^Decommission' #可以看到第四台服务器的状态处于退役,也可以访问namenode UI  http://192.168.1.131:50070/dfshealth.html#tab-datanode

Name: 192.168.1.131:9866 (hdp01.dialev.com)

Decommission Status : Normal

Name: 192.168.1.132:9866 (hdp02.dialev.com)

Decommission Status : Normal

Name: 192.168.1.133:9866 (hdp03.dialev.com)

Decommission Status : Normal

Name: 192.168.1.134:9866 (hdp04.dialev.com)

Decommission Status : Decommissioned   ##如果节点数据比较多从Decommissioning状态到Decommissioned可能需要一段时间

 

4.手动关闭下线节点DataNode进程 

hdfs --daemon stop datanode

 

5.DataNode负载均衡

#如果需要可以对已有的HDFS集群进行负载均衡服务。

hdfs balancer -threshold 5

三、扩展(HDFS黑白名单机制)

3.1 白名单

1

2

3

所谓的白名单指的是允许哪些机器加入到当前的HDFS集群中,是一种准入机制。

白名单由dfs.hosts参数指定,该参数位于hdfs-site.xml。默认值为空。

dfs.hosts指向文件,该文件包含允许连接到namenode的主机列表。必须指定文件的完整路径名。如果该值为空,则允许所有主机准入

3.2 黑名单  

1

2

3

所谓的黑名单指的是禁止哪些机器加入到当前的HDFS集群中,是一种禁入机制。

黑名单由dfs.hosts.exclude参数指定,该参数位于hdfs-site.xml。默认值为空。节点下线时我们已经配置过了

dfs.hosts.exclude指向文件,该文件包含不允许连接到名称节点的主机列表。必须指定文件的完整路径名。如果该值为空,则不禁止任何主机加入。

  

相关文章
|
2月前
|
分布式计算 Hadoop 关系型数据库
实时计算 Flink版操作报错合集之Hadoop在将文件写入HDFS时,无法在所有指定的数据节点上进行复制,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
存储 分布式计算 Hadoop
|
4月前
|
存储 分布式计算 Hadoop
Hadoop节点HDFS数据块的作用
【5月更文挑战第19天】
43 3
|
4月前
|
存储 分布式计算 Hadoop
hadoop节点HDFS数据块基本概念
【5月更文挑战第19天】
53 1
|
4月前
|
存储 分布式计算 Hadoop
hadoop节点HDFS数据分片过程
【5月更文挑战第18天】
47 1
|
4月前
|
存储 分布式计算 Hadoop
|
4月前
|
存储 分布式计算 Hadoop
hadoop节点HDFS数据块(Block)
【5月更文挑战第18天】
55 1
|
4月前
|
存储 分布式计算 资源调度
|
4月前
|
存储 Java API
HDFS如何处理故障和节点失效?请解释故障恢复机制。
HDFS如何处理故障和节点失效?请解释故障恢复机制。
163 0
|
4月前
|
分布式计算 Hadoop 大数据
大数据成长之路-- hadoop集群的部署(3)HDFS新增节点
大数据成长之路-- hadoop集群的部署(3)HDFS新增节点
117 0

热门文章

最新文章