【大数据之Hadoop】二十八、生产调优-HDFS集群扩容及缩容

news2024/12/27 13:57:24

  增加或缩减服务器,注意不允许白名单和黑名单同时出现同一个主机。

1 服役新服务器

  原有数据节点不能满足数据存储需求时,需要在原有集群的基础上动态增加节点,即动态增加服务器,增加服务器的同时不需要重启集群。

  hadoop完全分布式集群设置了3个datanode节点,当白名单里只配置了2台主机时,在hdfs系统中显示datanode还是有3个节点的原因:

  白名单只限制哪些机器可以作为DataNode加入到集群中,但是这只是一个限制条件,并不会阻止DataNode节点向NameNode注册。因为配置了3个DataNode节点,即使其中某些节点不在白名单中,它们仍然会向NameNode注册并成为集群的一部分。开发时注意如果某个DataNode节点不在白名单中,则在设置白名单时,需要在配置文件中将该节点的IP地址添加到白名单中,以确保它不会被误删或误配置。

  根据上述原因需要一台新的主机hadoop105进行测试。
环境准备
(1)在hadoop100主机上克隆一台hadoop105主机。
(2)修改ip地址和主机名,然后重启。

vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/hostname
reboot

(3)在hadoop102拷贝/opt/module和/etc/profile.d/my_env.sh到hadoop105。

scp -r module/* liaoyanxia@hadoop105:/opt/module/
sudo scp /etc/profile.d/my_env.sh root@hadoop105:/etc/profile.d/my_env.sh

(4)在hadoop105让环境变量生效,并且删除Hadoop历史数据即data、logs文件。

source /etc/profile
rm -rf data/ logs/

(5)配置在hadoop102和hadoop103到hadoop105的ssh免密登录。

ssh-copy-id hadoop105

(6)在hadoop105直接启动DataNode,单点启动hdfs和yarn,可关联到集群。

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

在这里插入图片描述

2 添加白名单

  白名单:在白名单的主机IP可以访问集群,用于存储数据。
  不在白名单上的主机可以访问集群,但是不能存储数据。配置白名单可以一定程度上防止黑客攻击。
在这里插入图片描述
配置白名单步骤:
(1)在NameNode节点的hadoop-3.3.1/etc/hadoop创建whitelist和blacklist文件,白名单whitelist中添加主机名称102、103、104,黑名单为空白。

touch blacklist

(2)在hdfs-site.xml配置文件中增加dfs.hosts配置参数。

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

<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.3.1/etc/hadoop/blacklist</value>
</property>

(3)分发whitelist,hdfs-site.xml,重启集群,如果不是第一次添加白名单只需要刷新NameNode节点就可以。

xsync hdfs-site.xml whitelist blacklist

(4)在web查看DataNode,http://hadoop102:9870/dfshealth.html#tab-datanode,只有在白名单的主机节点。
在这里插入图片描述
(5)在hadoop105上传数据失败(不在白名单的主机可以访问集群,但是不能存储数据)

hadoop fs -put test105.txt /

在这里插入图片描述
(6)把hadoop105加到白名单上,分发白名单,刷新NameNode(接1 服役新服务器)

vim whitelist   然后添加 hadoop105
xsync whitelist
hdfs dfsadmin -refreshNodes

在这里插入图片描述
(7)在hadoop105上传文件。

hadoop fs -put test105.txt /

在这里插入图片描述
在这里插入图片描述
  在hadoop105提交任务,则必然显示105,因为就近原则选择节点距离最近的,先选择本地,也就是105的距离为0,别的节点距离为1。

  当前存在一个情况:hadoop105数据少,别的节点数据多,即数据不均衡问题。

3 服务器间数据均衡

  可能出现两种情况:经常在某些节点上提交任务,由于本地原则,导致这些节点的数据过多,别的节点存储数据量小;新服役的服务器数据量较少。这两种情况需要执行集群均衡命令。

  PS:由于HDFS需要启动单独的Rebalance Server来执行Rebalance操作,所以尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。
在这里插入图片描述
  开启数据均衡命令,参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%(也就是任何两个节点的数据都不超过10%),可根据实际情况进行调整:

sbin/start-balancer.sh -threshold 10

停止数据均衡命令:

sbin/stop-balancer.sh

4 黑名单退役服务器

  黑名单:黑名单里的主机不能用来存储数据,企业设置黑名单用于退役服务器。
在这里插入图片描述
(1)在blacklist文件中添加要退役节点:hadoop105。且hdfs-site.xml中有黑名单的配置参数:

<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.3.1/etc/hadoop/blacklist</value>
</property>

(2)分发blacklist和hdfs-site.xml,第一次添加黑名单需要重启集群,否则只用刷新NameNode节点。

xsync blacklist hdfs-site.xml
hdfs dfsadmin -refreshNodes

(3)检查Web浏览器,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块(退役节点的副本)到其他节点。
在这里插入图片描述
(4)等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。

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

(5)如果数据不均衡,可以用命令实现集群的再平衡。

sbin/start-balancer.sh -threshold 10

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

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

相关文章

JVM相关知识点

java内存区域 线程私有的&#xff1a; 程序计数器虚拟机栈本地方法栈 线程共享的&#xff1a; 堆方法区直接内存 程序计数器&#xff1a;记录当前线程执行的位置 当线程切换后能够知道该线程上次运行到哪了 java虚拟机栈&#xff1a; 方法调用的数据通过栈进行传递&#…

一篇文章带你重新回溯单链表的所有

&#x1f349;博客主页&#xff1a;阿博历练记 &#x1f4d7;文章专栏&#xff1a;数据结构与算法 &#x1f69a;代码仓库&#xff1a;阿博编程日记 &#x1f339;欢迎关注&#xff1a;欢迎友友们订阅收藏关注哦 文章目录 &#x1f34c;前言&#x1f4bb;无头单向非循环链表&am…

SSM(Spring、SpringMVC、MyBatis)整合、配置

SpringMVC是一个表述层(前台的页面和后台的servlet)框架&#xff0c;处理浏览器发送到服务器的请求&#xff0c;并且将一些数据响应到浏览器 MyBatis是一个持久层框架&#xff0c;帮助我们连接数据库&#xff0c;访问数据库&#xff0c;操作数据库中的数据 Spring是一个整合型框…

毕业论文相关

毕业论文参考文献和Word保存 一、Word中出现[7-9]多个文献的引用 在正文中选中参考文献角标&#xff0c;右击选择“切换域代码”&#xff0c;参考文献角标[7][8][9]变为{ REF _Ref98345319 \r \h * MERGEFORMAT }{ REF _Ref98345321 \r \h * MERGEFORMAT }{ REF _Ref99390603…

AQS独占锁之ReentrantLock源码调试(JDK8)

前言&#xff1a; 为什么需要学习ReentrantLock? 目前项目开发中使用到的几乎都是分布式锁&#xff0c;平时可能很少用到java自带的锁&#xff1b; 但实际在我们java的源码中&#xff0c;随处可见需要使用锁来保证线程安全&#xff0c;所以还是有必要学习下ReentrantLock。 1…

7.分区表和分桶表

1.创建分区表 create table dept_partition(deptno int,dname string,loc int ) partitioned by (dt string) // 分区字段(date) row format delimited fields terminated by \t; 2.增删改查操作 2.1 插入数据 1&#xff09;导入本地数据 -- 创建一个名字为dt2022-06-14的…

R语言 | 输入与输出

目录 一、认识文件夹 1.1 getwd()函数 1.2 setwd()函数 1.3 file.path()函数 1.4 dir()函数 1.5 list.files()函数 1.6 file.exists()函数 1.7 file.rename()函数 1.8 file.create()函数 1.9 file.copy()函数 ​1.10 file.remove()函数 二、数据输出&#xff1a;ca…

单片机c51中断 — 中断扫描法行列式键盘

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章&#xff0c;中断 在第4章中已介绍过行列式键盘的工作原理&#xff0c;并编写了相应的键盘扫描程序。但应注意的是&#xff0c;在单片机应用系统中&#xff0c;键盘扫描只是 CPU 工作的内容之一。CPU …

一文理清 TiDB 与 MySQL 中的常用字符集及排序规则

1. 字符集&#xff08;character set&#xff09; 1.1. 字符集与编码规则 字符集&#xff08;character set&#xff09;即为众多字符的集合。字符集为每个字符分配一个唯一的 ID&#xff0c;称为 “Code Point&#xff08;码点&#xff09;”。编码规则是将 Code Point 转换…

商户查询的缓存——缓存击穿问题

缓存击穿问题也叫热点key问题&#xff0c;就是一个被高并发访问并且缓存重建业务比较复杂的key突然失效了&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击 常见的解决方案有两种&#xff1a; 互斥锁&#xff08;高并发时性能较差&#xff09; 逻辑过期 基于互斥锁方…

ASN.1-PKCS10-x509

在国际标准ITU-T X.690 《Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)》中定义了ASN.1编码规则。对于一般数据类型&#xff08;比如Integer、octe…

【软件工程】自动化测试保证卓越软件工程能力(2)

本次内容我们抽象一个待测试的目标软件产品&#xff0c;产品是基于web开发的。 自动化平台不是独立存在的&#xff0c;必然有一个目标待测试产品&#xff0c;用自动化测试来反映产品功能是否还是好的。 产品抽象v1 第一个版本&#xff0c;使用者&#xff08;USER&#xff09;发…

配置本地Angular环境并使用VsCode调试Angular前端项目

配置本地Angular环境并使用VsCode调试Angular前端项目 配置本地Angular环境部署Node.Js本地环境配置一下环境变量 使用vscode调试Angular安装vscode 配置本地Angular环境 部署Node.Js本地环境 1 从官网下载node.js, 本文为(v16.13.0) 下载地址: https://nodejs.org/dist/v16.…

windows server 2016报错无法打开所需文件install.wim

报错的前提条件: 1.下载原版镜像后,使用UltraISO制作U盘系统盘。 2.正常安装系统,到“安装程序正在启动界面”时弹出错误窗口,报错“Windows无法打开所需的文件 E:\Source\install.win。请确保安装所需的所有文件可用,并重新启动安装。错误代码:0x80070026”。 问题原因…

【MySQL学习】MySQL表的复合查询

文章目录 前言一、案例准备二、基本查询三、多表查询四、子查询4.1 单行子查询4.2 多行子查询4.3 多列子查询4.4 FROM子句中的子查询4.5 合并查询4.5.1 UNION4.5.2 UNION ALL 五、自连接六、内外连接6.1 内连接6.2 外连接6.2.1 左外连接6.2.2 右外连接 前言 对MySQL表的基本查…

大数据系列——Flink理论

概述 Flink是一个对有界和无界数据流进行有状态计算的分布式处理引擎和框架&#xff0c;既可以处理有界的批量数据集&#xff0c;也可以处理无界的实时流数据&#xff0c;为批处理和流处理提供了统一编程模型&#xff0c;其代码主要由 Java 实现&#xff0c;部分代码由 Scala实…

Java——Java选择题复习(1)(Java基础,进程,多线程,操作系统)

1. 下面关于程序编译说法正确的是&#xff08;&#xff09; A. java语言是编译型语言&#xff0c;会把java程序编译成二进制机器指令直接运行 B. java编译出来的目标文件与具体操作系统有关 C. java在运行时才进行翻译指令 D. java编译出来的目标文件&#xff0c;可以运行在任意…

房地产中介迎来重磅文件,但核心目标仍是专业化规范化发展

5月8日下午&#xff0c;住房和城乡建设部、市场监管总局联合刊登重磅文件《关于规范房地产经纪服务的意见》&#xff08;以下简称《意见》&#xff09;&#xff0c;因其涉及对经纪服务收费等具体问题的指导&#xff0c;文件引发市场重点关注。 不过&#xff0c;在系统性梳理文…

Redisson cannot use an unresolved DNS server address问题解决

概述 本文记录Mac IDEA开发&#xff0c;公司 远程办公时遇到的两个问题&#xff0c;记录一下。 问题 cannot use an unresolved DNS server address: [fe80::1%en0]:53 在家里&#xff0c;连上公司的VPN后&#xff0c;即可打开公司内网&#xff0c;远程办公。一切正常。某…

JVM学习(七):运行时数据区(精讲)

目录 一、运行时数据区概述 1.1 概述 1.2 运行时数据区中的GC和OOM 二、程序计数器&#xff08;PC寄存器&#xff0c;Program Counter Register&#xff09; 2.1 介绍 2.2 作用 2.3 特点 2.4 使用案例 2.5 常见面试题 三、虚拟机栈&#xff08;Java Virtual Machi…