HDFS 集群动态节点管理

news2024/12/23 6:53:33

目录

一、动态扩容、节点上线

1.1 背景

1.2 扩容步骤 

1.2.1 新机器基础环境准备

1.2.2 Hadoop 配置 

1.2.3 手动启动 DataNode 进程

1.2.4 Web 页面查看情况 

1.2.5 DataNode 负载均衡服务 

二、动态缩容、节点下线

2.1 背景 

2.2 缩容步骤 

2.2.1 添加退役节点

2.2.2 刷新集群 

2.2.3 手动关闭 DataNode 进程 

2.2.4 DataNode 负载均衡服务 

三、HDFS 集群黑、白名单机制

3.1 白名单 

3.2 黑名单 


 

一、动态扩容、节点上线

1.1 背景

节点上线:已有 HDFS 集群容量已不能满足存储数据的需求,需要在原有集群基础上动态添加新的 DataNode 节点

俗称动态扩容、节点服役。

1.2 扩容步骤 

1.2.1 机器基础环境准备

        准备一台新的机器,设置好主机名、IP(192.168.170.139),做好 Hosts 映射、SSH 免密登录和时间同步,关闭防火墙以及安装 JDK 环境。

具体操作请看这篇文章:Hadoop 3.2.4 集群搭建详细图文教程_Stars.Sky的博客-CSDN博客 

1.2.2 Hadoop 配置 

  1. 修改 namenode 节点 workers 配置文件,增加新节点主机名,便于后续一键启停
  2. 从 namenode 节点复制 scp hadoop 安装包到新节点,注意不包括 hadoop.tmp.dir 指定的数据存储目录
  3. 新机器上配置 hadoop 环境变量(/etc/profile)。 

1.2.3 手动启动 DataNode 进程

[root@hadoop04 ~]# hdfs --daemon start datanode

1.2.4 Web 页面查看情况 

地址:http://hadoop01:9870/ 

1.2.5 DataNode 负载均衡服务 

        新加入的节点,没有数据块的存储,使得集群整体来看负载不均衡。因此最后还需要对 hdfs 负载设置均衡。(在 Hadoop01 执行)

# 首先设置数据传输带宽
hdfs dfsadmin -setBalancerBandwidth 104857600

# 然后启动 Balancer,等待集群自均衡完成即可
hdfs balancer -threshold 5

二、动态缩容、节点下线

2.1 背景 

节点下线:服务器需要进行退役更换,需要在当下的集群中停止某些机器上 datanode 的服务。

俗称动态缩容、节点退役。

2.2 缩容步骤 

2.2.1 添加退役节点

        在 namenode 机器的 hdfs-site.xml 配置文件中需要提前配置 dfs.hosts.exclude 属性,该属性指向的文件就是所谓的黑名单列表,会被 namenode 排除在集群之外。如果文件内容为空,则意味着不禁止任何机器。

        提前配置好的目的是让 namenode 启动的时候就能加载到该属性,只不过还没有指定任何机器。否则就需要重启 namenode 才能加载,因此这样的操作我们称之为具有前瞻性的操作

[root@hadoop01 ~]# cd /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop/
[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# vim hdfs-site.xml 
<property>
  <name>dfs.hosts.exclude</name>
  <value>/bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop/excludes</value>
</property>

[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# scp hdfs-site.xml hadoop02:$PWD
hdfs-site.xml                                                                                                         100% 1256   632.5KB/s   00:00    
[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# scp hdfs-site.xml hadoop03:$PWD
hdfs-site.xml                                                                                                         100% 1256   112.6KB/s   00:00    
[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# scp hdfs-site.xml hadoop04:$PWD
hdfs-site.xml                                                                                                         100% 1256   516.4KB/s   00:00

        编辑 dfs.hosts.exclude 属性指向的 excludes 文件,添加需要退役的主机名称。注意:如果副本数是 3,服役的节点小于等于 3,是不能退役成功的,需要修改副本数后才能退役

# 重新启动 HDFS 集群,使配置生效
[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# stop-dfs.sh 
[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# start-dfs.sh 

[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# vim excludes
hadoop04

2.2.2 刷新集群 

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

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

[root@hadoop01 /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop]# hdfs dfsadmin -refreshNodes
Refresh nodes successful

正在退役:

退役完成:

2.2.3 手动关闭 DataNode 进程 

[root@hadoop04 ~]# hdfs --daemon stop datanode
[root@hadoop04 ~]# jps
20310 Jps

2.2.4 DataNode 负载均衡服务 

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

hdfs balancer –threshold 5

三、HDFS 集群黑、白名单机制

3.1 白名单 

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

3.2 黑名单 

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

上一篇文章:Hadoop 3.2.4 集群搭建详细图文教程_Stars.Sky的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/970962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

dubbo服务管控

我们已经介绍了Dubbo在服务治理方面提供的特性&#xff0c;今天我们一起来看看Dubbo在其它方面提供的特性。同服务治理篇一样&#xff0c;本文的目的在于学会使用Dubbo在服务管控方面提供的特性&#xff0c;依旧不涉及任何实现原理。 工程结构 嗯~~ 是这样的&#xff0c;因为…

python webdriver 测试框架数据驱动json文件驱动的方式

简介&#xff1a; 数据驱动excel驱动方式,就是数据配置在excel里面&#xff0c;主程序调用的时候每次用从excel里取出的数据作为参数&#xff0c;进行操作&#xff0c; 需要掌握的地方是对excel的操作&#xff0c;要灵活的找到目标数据 测试数据.xlsx: 路径-D:\test\0627 E…

设计模式之代理模式与外观模式

目录 代理模式 简介 优缺点 角色职责 实现 运用场景 外观模式 简介 角色职责 优缺点 实现 使用场景 代理模式 简介 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时&#xff0c;访问对象不适合或者不能直接引用目标对象&#xff0c;代理对象作为…

京东搜索EE链路演进 | 京东云技术团队

导读 搜索系统中容易存在头部效应&#xff0c;中长尾的优质商品较难获得充分的展示机会&#xff0c;如何破除系统的马太效应&#xff0c;提升展示结果的丰富性与多样性&#xff0c;助力中长尾商品成长是电商平台搜索系统的一个重要课题。其中&#xff0c;搜索EE系统在保持排序…

北美电池测试标准解读:UL 1642、UL 2054、UL 2056、UL 2089 测试报告

在日常生活中人们与各类电子产品的交流和互动越来越多&#xff0c;由于电池与人们的接触日益密切&#xff0c;电池的安全性显得格外重要&#xff0c;因此越来越多商家注重保证电池的安全性&#xff0c;避免因电池安全事故带来的人身伤害和品牌名誉损失。特别是亚马逊今年开年来…

无涯教程-JavaScript - DMIN函数

描述 DMIN函数返回列表或数据库中符合您指定条件的列中的最小数字。 语法 DMIN (database, field, criteria)争论 Argument描述Required/Optionaldatabase 组成列表或数据库的单元格范围。 数据库是相关数据的列表,其中相关信息的行是记录,数据的列是字段。列表的第一行包含…

动辄百万的工业数据处理软件,现在60秒就能用上

刚刚过去的周五&#xff0c;TDengine团队正式发布了新版3.1.1.0, 并上线了新的官网。虽没有发布会&#xff0c;但对涛思数据而言&#xff0c;这是一个“蓄谋已久”的动作。因为新版TDengine里包含了一个核心模块taosX&#xff0c;它具备强大的数据抓取、清洗、转换、加载(ETL)功…

金九银十,软件测试最新面试题整理(超详细~)

1、创建坐席组的功能模块&#xff0c;如何进行测试用例设计&#xff1f; 解答&#xff1a; 功能测试&#xff0c;使用等价类划分法去分析创建坐席的每个输入项的有效及无效类&#xff0c;同步考虑边界值去设计对应的测试用例&#xff1a; 先进行冒烟测试&#xff0c;正常创建…

微信小程序新版canvas2d海报绘制(教你轻松搞定)

效果 说明&#xff1a; canvas官方很早已经发声不再维护了&#xff0c;所以很多方法都已经不再适用。目前官方推荐适用canvas2d来绘制生成海报。 canvas2d来绘制海报&#xff1a; canvas2d的优点&#xff1a; 例如&#xff1a; 不需要先预下载网络图片再绘制&#xff0c;前…

【Hello Algorithm】二叉树相关算法

本篇博客介绍&#xff1a;介绍二叉树的相关算法 二叉树相关算法 二叉树结构遍历二叉树递归序二叉树的交集非递归方式实现二叉树遍历二叉树的层序遍历 二叉树难题二叉树的序列化和反序列化lc431求二叉树最宽的层二叉树的后继节点谷歌面试题 二叉树结构 如果对于二叉树的结构还有…

C#FreeSql分库分表

using FreeSql; using FreeSql.DataAnnotations;namespace FreeSqlMaster {internal class Program{static IFreeSql freeSql null;static void Main(string[] args){// 读写分离// FreeSql 实现了第3种方案&#xff0c;支持一个【主库】多个【从库】&#xff0c;【从库】的查…

MPU6050姿态手势控制:二自由度云台

使用芯片&#xff1a;STM32 F103 C8T6 开源一款 MPU6050姿态手势控制二自由度云台 的设计程序与硬件清单&#xff0c;文章会贴出基本原理所需学习的文章连接&#xff0c;测试效果&#xff0c;元件清单&#xff0c;工程下载。 之前有做过二自由度机械臂的开发&#xff0c;但材…

阿里巴巴新一代SpringCloud学习指南重磅发布,揭示中国特色微服务组件的奥秘

SpringCloud Alibaba 的优势 阿里使用过的组件经历了考验&#xff0c;性能强悍&#xff0c;设计合理&#xff0c;现在开源出来给大家用。成套产品搭配完善的可视化界面给开发运维带来了极大的便利。搭建简单&#xff0c;学习曲线低。 作为国内微服务领域的领军企业&#xff0…

“钉钉官网首页的炫酷动效” 被我用css新特性轻松破解啦~

&#x1f33b; 前言 其实写本文的初衷只是想分享一个css新特性【scroll-timeline】&#x1f602;,但是我想要体现出它的强大效果&#xff0c;此时正好想到了之前看到过钉钉的首页动画&#xff0c;就是滚动页面然后进行一系列动画的&#xff0c;所以我决定实现一下这个效果。&am…

ChatGPT AIGC 完成动态堆积面积图实例

先使用ChatGPT AIGC描述一下堆积面积图的功能与作用。 接下来一起看一下ChatGPT做出的动态可视化效果图: 这样的动态图案例代码使用ChatGPT AIGC完成。 将完整代码复制如下: <!DOCTYPE html> <html> <head><meta charset="utf-8"><tit…

为反应系统实现MQTT客户端

MQTT-Reactive的目的是提供一种用C编写的可移植且无阻塞的MQTT客户端&#xff0c;以便在反应式嵌入式系统中使用。首先&#xff0c;本文说明什么是反应系统。然后&#xff0c;它描述了如何为这种系统设计合适的软件结构。最后&#xff0c;本文展示了如何通过使用状态机和事件驱…

【校招VIP】测试技术考点之单元测试集成测试

考点介绍&#xff1a; 单元测试,集成测试的区别是&#xff1a;方式不同、粒度不同、内容不同。单元测试用用于验证编码单元的正确性。集成测试用于验证详细设计。体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。 测试技术考点之单元测试&集成测试-相…

WIN11有网络但浏览器打不开

打开设置-》网络和INTERNET-》代理&#xff0c;将自动检测设置打开&#xff0c;将手动设置代理中的使用代理服务器关闭。就可以打开浏览器了。 不知道为什么会出现这样的问题

【数据分享】2009-2021年我国省份级别的轨道交通相关指标(30多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国省份级别的市政设施水平相关指标、2006-2021年我国省份级别的各类建设用地面积数…

vue3 搭配ElementPlus做基础表单校验 自定义表单校验

<script setup> import { ref, reactive } from vue// 表单元素 const dom ref(null) // 校验规则 const rules {name: [{ required: true, message: 请输入活动名称, trigger: blur }],//校验手机号格式phone: [{ required: true, message: "请输入电话", t…