HDFS服役新数据节点和退役旧节点步骤

简介: HDFS服役新数据节点和退役旧节点步骤

1 背景

已有HDFS集群容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的DataNode节点。就是俗称的 动态扩容。

旧的服务器需要进行退役更换,暂停服务,需要在当下的集群中停止某些机器上HDFS的服务,俗称 动态缩容。

2 动态扩容、节点上线

2.1 新机器基础环境准备

2.1.1 主机名、IP

确保新机器 IP和已有HDFS集群所属同一网段

新机器系统hostname

2.1.2 Hosts映射

集群所有节点保持hosts文件统一

2.1.3 防火墙、时间同步

关闭防火墙

集群时间同步

2.1.4 SSH免密登录

为了后续脚本一键启动关闭集群方便,设置NameNode到新机器的免密登录

2.1.5 JDK环境配置

2.2 Hadoop配置

2.2.1 NameNode节点配置

修改namenode节点workers配置文件,增加新节点主机名,便于后续一键启停。

4.2.2.2 新机器配置

从namenode节点复制hadoop安装包到新节点, 注意不包括 hadoop.tmp.dir 指定的

数据存储目录。

新机器上配置hadoop环境变量

vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.1.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

2.3 手动启动DataNode进程

2.4 Hadoop Web页面查看

2.5 DataNode负载均衡服务

新加入的节点,没有数据块的存储,使得集群整体来看负载不均衡。因此最后还

需要对hdfs负载设置均衡。首先设置数据传输带宽。

hdfs dfsadmin -setBalancerBandwidth 104857600

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

hdfs balancer -threshold 5

3 动态缩容、节点下线

3.1 添加退役节点

在namenode机器的hdfs-site.xml配置文件中需要提前配置dfs.hosts.exclude属性,该属性指向的文件就是所谓的黑名单列表,会被namenode排除在集群之外。如果文件内容为空,则意味着不禁止任何机器。提前配置好的目的是让namenode启动的时候就能加载到该属性,只不过还没有指定任何机器。否则就需要重启namenode才能加载,因此这样的操作我们称之为 具有前

瞻性的操作。

<property>
<name>dfs.hosts.exclude</name>
<value>/export/server/hadoop-3.1.4/etc/hadoop/excludes</value>
</property>

编辑dfs.hosts.exclude属性指向的excludes文件,添加需要退役的主机名称。

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

本数后才能退役。

3.2 刷新集群

在namenode所在的机器刷新节点:hdfs dfsadmin -refreshNodes

等待退役节点状态为decommissioned(所有块已经复制完成)

3.3 手动关闭DataNode进程

hdfs --daemon stop datanode

3.4 DataNode负载均衡服务

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

hdfs balancer -threshold 5

4 黑白名单机制

4.1 白名单

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

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

dfs.hosts指向文件,该文件包含允许连接到namenode的主机列表。必须指定文件

的完整路径名。 如果该值为空,则允许所有主机 准入。

4.2 黑名单

所谓的 黑 名单指的是 禁止哪些机器加入到当前的HDFS集群中,是一种禁入机制。黑名单由dfs.hosts.exclude参数指定,该参数位于hdfs-site.xml。默认值为空。dfs.hosts.exclude指向文件,该文件包含不允许连接到名称节点的主机列表。必须指定文件的完整路径名。 如果该值为空,则不禁止任何主机加入。

f4bea63b3da64858ad6cb6f446bbf272.png

目录
相关文章
|
3月前
|
分布式计算 负载均衡 Hadoop
HDFS 节点动态管理
HDFS 节点动态管理
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
42 4
|
1月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
151 5
|
1月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
88 4
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
1月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
36 2
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
86 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
37 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
46 0
|
3月前
|
SQL 存储 分布式计算
HDFS数据(跨集群)迁移
HDFS数据(跨集群)迁移

热门文章

最新文章