Hadoop3:HDFS-通过配置黑白名单对集群进行扩缩容,并实现数据均衡(实用)

news2024/9/20 15:06:54

一、集群情况介绍

我的本地虚拟机,一共有三个节点,hadoop102、hadoop103、hadoop104

二、白名单

创建白名单文件whitelist,通过白名单的配置,只允许集群包含102和103两台机器可以存储数据,104无法存储数据。

需求

1、创建白名单

这个位置是任意选择的,因为,hadoop配置文件都在这里,所以我就放这个下面了。
cd /opt/module/hadoop-3.1.3/etc/hadoop	
vim whitelist

2、HDFS关联白名单

hdfs-site.xml配置文件中增加dfs.hosts配置参数

<!-- 白名单 -->
<property>
     <name>dfs.hosts</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop/whitelist</value>
</property>

3、分发配置文件

xsync whitelist hdfs-site.xml

4、重启集群

第一次配置白明单,需要重启集群。

myhadoop stop
myhadoop start

5、查看页面

发现只有102和103节点

6、查看进程状态

发现104正常启动的

7、从104上传文件

 cd /opt/module/hadoop-3.1.3/
hadoop fs -put NOTICE.txt /

可以正常上传

查看页面
只有102和103有数据块,并且副本数依然是3个

8、重新配置104到白名单


分发文件

xsync whitelist

刷新节点,无需重启

hdfs dfsadmin -refreshNodes


查看页面
节点添加成功,且104也自动增加一份副本数据。

9、结论

通过上述实验,我们证明了,104被排除出集群了,可以上传文件,只是104的客户端功能。
但是,104无法存储数据块了。
实现了预期效果。
且,再次修改白名单,无需重启集群。

三、动态扩容

集群运行状态下,进行服务器节点的增加扩容。
新节点的初始化配置

添加新节点到集群

1、添加新节点到白名单文件

cd /opt/module/hadoop-3.1.3/etc/hadoop
vim whitelist
xsync whitelist

2、单点启动新节点的Hadoop

hdfs --daemon start datanode
yarn --daemon start nodemanager

3、刷新集群白名单配置

hdfs dfsadmin -refreshNodes

4、新节点测试

上传一个文件到集群

hadoop fs -put wc.jar /


发现,无需重启集群,我们就给集群新增了一个节点,并能正常使用。

5、集群数据均衡

一般,我们新增一个节点之后,这个节点是没有数据的。
所以,我们需要进行一次数据均衡操作,这样,才能让新增的节点分担集群压力。

cd /opt/module/hadoop-3.1.3/
sbin/start-balancer.sh -threshold 10
sbin/stop-balancer.sh

命令解释
sbin/start-balancer.sh -threshold 10
对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。

sbin/stop-balancer.sh
停止均衡操作
注意:由于HDFS需要启动单独的Rebalance Server来执行Rebalance操作
所以尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。

四、黑名单配置实现退役服务器

1、说明

黑名单:表示在黑名单的主机IP地址不可以,用来存储数据。
企业中:配置黑名单,用来退役服务器

通过定义可以知道,黑名单的IP必定在白名单中。否则,没意义。

2、配置黑名单

cd /opt/module/hadoop-3.1.3/etc/hadoop
vim blacklist

3、HDFS关联黑名单

hdfs-site.xml配置文件中增加dfs.hosts配置参数

<!-- 白名单 -->
<property>
     <name>dfs.hosts</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>

4、分发配置

xsync blacklist hdfs-site.xml

5、刷新集群配置

hdfs dfsadmin -refreshNodes

6、查看网页

正在退役105服务器
因为105有数据,所以,需要一段时间

数据同步完成后的状态

wc.jar的副本多了一个103,说明,105的副本拷贝到103上了。

6、停止105的Hadoop服务

hdfs --daemon stop datanode
yarn --daemon stop nodemanager

需要到10分钟30秒后,才会从页面清除节点信息。

7、数据均衡

一般,退役一个节点,也要进行一次数据均衡

sbin/start-balancer.sh -threshold 10

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

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

相关文章

CSS实现超链接标签:鼠标光标为手形、取消下划线、当鼠标悬停时显示下划线

1、鼠标光标为手形 cursor: pointer; 2、显示/取消下划线 text-decoration: none; /* 文本取消下划线 */ text-decoration: underline; /* 文本添加下划线 */ 3、伪类选择器 伪类选择器是 CSS 中已经定义好的选择器&#xff0c;因此程序员不能随意命令。伪类选择器…

深度学习DeepLearning二元分类 学习笔记

文章目录 类别区分变量与概念逻辑回归Sigmoid函数公式决策边逻辑损失函数和代价函数逻辑回归的梯度下降泛化过拟合的解决方案正则化 类别区分 变量与概念 决策边置信度阈值threshold过拟合欠拟合正则化高偏差lambda&#xff08;λ&#xff09; 线性回归受个别极端值影响&…

ElasticSearch 深度分页详解

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/667036768 1 前言 ElasticSearch 是一个实时的分布式搜索与分析引擎&#xff0c;常用于大量非结构化数据的存储和快速检索场景&#xff0c;具有很强的扩展性。纵使其有诸多优点&#xff0c;在搜索领域远超关系型数据库&…

pycharm 占满磁盘

磁盘里没装什么大文件&#xff0c;发现磁盘被占的越来越满&#xff0c;使用工具查看到底是哪个文件如此之大。 发现罪魁祸首是pycharm&#xff01;&#xff01;&#xff01; 根据工具的提示找到对应的路径文件&#xff1a;E:\pycharm\PyCharmCE2022.3\python_packages 发现pa…

五、 计算机网络(考点篇)

1 网络概述和模型 计算机网络是计算机技术与通信技术相结合的产物&#xff0c;它实现了远程通信、远程信息处理和资源共享。计算机网络的功能&#xff1a;数据通信、资源共享、管理集中化、实现分布式处理、负载均衡。 网络性能指标&#xff1a;速率、带宽(频带宽度或传送线路…

java Web学习笔记(三)

文章目录 1. 前置知识2. Vue使用vite构建项目SFC入门使用ref和.value体会响应式数据&#xff08;使用ES6和setup&#xff09; 3. Vue视图渲染技术及其语法模板语法&#xff1a;命令插值表达式渲染双标><中的文本&#xff08;还挺可爱&#xff09;属性渲染命令事件渲染命令…

php安装Imagick扩展 处理pdf为图片

这个方法是使用源码编译安装&#xff0c;适用于php编译安装和包安装。如果有pecl&#xff0c;直接安装就行&#xff0c;我这是因为多个环境怕直接使用pecl工具导致混乱。 由于浏览器显示大量pdf不方便&#xff0c;我这先将pdf转化为图片再显示 如果没有安装php&#xff0c;这是…

智能家居装修怎么布线?智能家居网络与开关插座布置

打造全屋智能家居。计划的智能家居方案以米家系列为主&#xff0c;智能家居联网方案以无线为主。装修前为了装备智能家居做了很多准备工作&#xff0c;本文深圳侨杰智能分享一个智能家居装修和布线方面的心得与实战知识。希望能对大家的装修有所帮助。 ​1.关于网络 如果房子比…

春招冲刺百题计划|堆

Java基础复习 Java数组的声明与初始化Java ArrayListJava HashMapJava String 类Java LinkedListJava Deque继承LinkedListJava SetJava 队列优先队列:第二题用到了 第一题&#xff1a;215. 数组中的第K个最大元素 可以直接使用Arrays.sort()快排&#xff0c;然后return nums…

数据库第六次

视图 salary decimal(10,2) not null default 0 comment ‘工资’, address varchar(200) not null default ‘’ comment ‘通讯地址’, dept_id int comment ‘部门编号’ ); create index idx_name on emp(emp_name); create index idx_birth on emp(birth); create index…

MySQL-日志-优化

目录 介绍一下mysql 的日志 redo log 和binlog 的区别及应用场景 redo log 和 binlog 在恢复数据库有什么区别? redo log 是怎么实现持久化的? redo log除了崩溃恢复还有什么其他作用? &#xff08;顺序写&#xff09; redo log 怎么刷入磁盘的知道吗&#xff1f; 两阶…

2024西安铁一中集训DAY2 ---- 模拟赛(最小生成树 + AC自动机 + 模拟 + rmq)

文章目录 比赛成绩题解A. 江桥的生成树&#xff08;MST&#xff09;B. 江桥的神秘密码&#xff08;AC自动机&#xff0c;ST表&#xff09;C. 江桥的字符距离D. 江桥的防御力测试&#xff08;rmq&#xff0c;乱搞&#xff09; 比赛成绩 估测&#xff1a;60 100 100 0 260 实…

FastAPI 学习之路(四十九)WebSockets(五)修复接口测试中的问题

其实代码没有问题&#xff0c;但是我们忽略了一个问题&#xff0c;就是在正常的开发中&#xff0c;肯定是遇到过这样的情况&#xff0c;我们频繁的有客户端链接&#xff0c;断开连接&#xff0c;需要统一的管理这些链接&#xff0c;那么应该如何管理呢。其实可以声明一个类去管…

218.贪心算法:分发糖果(力扣)

核心思想 初始化每个学生的糖果数为1&#xff1a; 确保每个学生至少有一颗糖果。从左到右遍历&#xff1a; 如果当前学生的评分高于前一个学生&#xff0c;则当前学生的糖果数应比前一个学生多一颗。从右到左遍历&#xff1a; 如果当前学生的评分高于后一个学生&#xff0c;则…

01对话系统---文字渐出和停顿效果

实现代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using System.Text.RegularExpressions; using System;/// <summary> /// 增加文本时间停顿功能 /// 增加文字渐出&#xff0c;&#xff08;单个字符逐渐显现&a…

Unity免费领场景多人实时协作地编2人版局域网和LAN联机类似谷歌文档协同合作搭建场景同步资产设置编辑付费版支持10人甚至更多20240709

大家有没有用过谷歌文档、石墨文档、飞书文档等等之类的协同工具呢&#xff1f; Blender也有类似多人联机建模的插件&#xff0c; Unity也有类似的多人合作搭建场景的插件啦。 刚找到一款免费插件&#xff0c;可以支持2人局域网和LAN联机地编。 付费的版本支持组建更大的团队。…

从汇编层看64位程序运行——静态分析和动态分析入门

大纲 GDBIDA总结参考资料 之前一直谈各种相对宏观的工具怎么使用&#xff0c;比如Flink、RabbitMQ等。最近想聊聊比较微观的技术&#xff0c;用各种“显微镜”去看看运行在系统层的二进制码是什么样子。当然二进制码比较难以记忆&#xff0c;于是我会从二进制码的助记符——汇编…

IOS上微信小程序密码框光标离开提示存储密码解决方案

问题&#xff1a; ios密码框输入密码光标离开之后会提示存储密码的弹窗 解决方案 1、在苹果手机上面把 “自动填充密码”关闭&#xff0c;但是苹果这个默认开启&#xff0c;而且大部分客户也不会去自己关闭。 2、欺骗苹果手机&#xff0c;代码实现。 先说解决思路&#xf…

java内部类的本质

定义在类内部&#xff0c;可以实现对外部完全隐藏&#xff0c;可以有更好的封装性&#xff0c;代码实现上也往往更为简洁。 内部类可以方便地访问外部类的私有变量&#xff0c;可以声明为private从而实现对外完全隐藏。 在Java中&#xff0c;根据定义的位置和方式不同&#xf…

mmaction2的GPU环境配置记录RTX3090,cuda12.2,ubuntu22.04版本

1、配置镜像源 最重要的一个步骤,先看下镜像源地址,如果镜像源有问题,所有的包安装都会有问题 镜像源地址获取地址:选择对应的ubuntu版本号,将里面的镜像源地址复制出来,更新到服务器 ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirro…