大数据Hadoop集群的扩容及缩容(动态添加删除节点)

添加白名单和黑名单

白名单,表示在白名单的主机IP地址可以用来存储数据

企业中;配置白名单,可以尽量防止黑客恶意访问攻击。

配置白名单步骤如下:原文:sw-code

1)在NameNode节点的 /opt/module/hadoop-3.1.3/etc/hadoop目录创建 whitelistblacklist

创建白名单

vim whitelist

输入如下内容
hadoop102
hadoop103

创建黑名单

touch blacklist

2)修改 hdfs-site.xml

vim hdfs-site.xml

    dfs.hosts
    /opt/module/hadoop-3.1.3/etc/hadoop/whitelist

    dfs.hosts.exclude
    /opt/module/hadoop-3.1.3/etc/hadoop/blacklist

3)分发到所有节点

xsync whitelist blacklist hdfs-site.xml

4)第一次添加白名单必须重启集群,不是第一次,只需刷新NameNode节点即可

[hadoop@hadoop102 hadoop]$ myhadoop.sh stop
[hadoop@hadoop102 hadoop]$ myhadoop.sh start

5)在Web浏览器上查看DN,Namenode information

大数据Hadoop集群的扩容及缩容(动态添加删除节点)

6)在hadoop104上执行上传数据失败,hadoop104上并没有副本

[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -put NOTICE.txt /

7)二次修改白名单,增加Hadoop104, 并分发

[hadoop@hadoop102 hadoop]$ vim whitelist
新增hadoop104
hadoop102
hadoop103
hadoop104
分发
[hadoop@hadoop102 hadoop]$ xsync whitelist

8)刷新NameNode

[hadoop@hadoop102 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful

9)再次查看Namenode information

大数据Hadoop集群的扩容及缩容(动态添加删除节点)

服役新数据节点

1)需求

随着公司业务增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。

2)环境准备

(1)在hadoop102主机上再克隆一台hadoop105主机

(2)修改IP地址和主机名称

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改IPADDR
IPADDR=192.168.10.105

sudo vim /etc/hostname
hadoop105
重启
reboot

(3)删除 datalogs目录

cd /opt/module/hadoop-3.1.3
rm -rf data/ logs/

(4)在所有节点的 hosts增加节点名

sudo vim /etc/hosts
新增
192.168.10.105  hadoop105

(5)启动HDFS和NodeManager

[hadoop@hadoop105 hadoop-3.1.3]$ hdfs --daemon start datanode
[hadoop@hadoop105 hadoop-3.1.3]$ yarn --daemon start nodemanager
[hadoop@hadoop105 hadoop-3.1.3]$ jps
1283 DataNode
1475 Jps
1389 NodeManager

(6)添加白名单(如果设置了白名单,需要这一步,否则忽略)

[hadoop@hadoop102 hadoop]$ vim whitelist
添加
hadoop105
分发,hadoop105单独设置一下
[hadoop@hadoop102 hadoop]$ xsync whitelist
刷新NameNode
[hadoop@hadoop102 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful

(7)查看 Namenode information

大数据Hadoop集群的扩容及缩容(动态添加删除节点)

节点间数据均衡

开启数据均衡

[hadoop@hadoop105 hadoop-3.1.3]$ sbin/start-balancer.sh -threshold 10

参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。

停止负载均衡

[hadoop@hadoop105 hadoop-3.1.3]$ sbin/stop-balancer.sh

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

黑名单退役旧节点

1)编辑 /opt/module/hadoop-3.1.3/etc/hadoop目录下的 blacklist

vim blacklist

添加主机名(要退役的节点)

hadoop105

如果没有配置黑名单,需要在 hdfs-site.xml中配置


    dfs.hosts.exclude
    /opt/module/hadoop-3.1.3/etc/hadoop/blacklist

2)分发配置文件 balcklist hdfs-site.xml,所有节点都要修改

[hadoop@hadoop102 hadoop]$ xsync blacklist

3)刷新NameNode

[hadoop@hadoop102 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful

4)检查Web浏览器Namenode information,可以看到正在退役中。

大数据Hadoop集群的扩容及缩容(动态添加删除节点)

大数据Hadoop集群的扩容及缩容(动态添加删除节点)

5)等待退役节点状态为 Decommissioned(所有块已复制完成),停止该节点以及节点资源管理器。注意:如果副本数是3,服务的节点数量小于3,是不能退役成功的,需要修改副本数后才能退役。

大数据Hadoop集群的扩容及缩容(动态添加删除节点)
[hadoop@hadoop105 hadoop-3.1.3]$ hdfs --daemon stop datanode
[hadoop@hadoop105 hadoop-3.1.3]$ yarn --daemon stop nodemanager
[hadoop@hadoop105 hadoop-3.1.3]$ jps
1941 Jps

6)如果数据不均衡,可以使用命令实现集群的平衡

[hadoop@hadoop102 hadoop-3.1.3]$ sbin/start-balancer.sh -threshold 10

Original: https://www.cnblogs.com/sw-code/p/16388176.html
Author: sw-code
Title: 大数据Hadoop集群的扩容及缩容(动态添加删除节点)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585568/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 祖传代码如何优化性能?

    hello大家好呀,我是小楼~ 今天又带来一次性能优化的分享,这是我刚进公司时接手的祖传(坏笑)项目,这个项目在我的文章中屡次被提及,我在它上面做了很多的性能优化,比如《记一次提升…

    Linux 2023年6月8日
    0122
  • Linux03:三种软件安装方式及基本环境安装(狂神说)

    linux的三种软件安装及基本环境安装 安装软件通常有三种方式: [En] There are generally three ways to install software: …

    Linux 2023年5月27日
    093
  • Java学生管理系统(详解)

    下面会分享我在做这个练习时的一些方法以及程序代码 供大家参考(最后附上完整的项目代码)。 首本人只是个初学Java的小白,可能项目中有许多地方使用不规范的以及代码的格式问题会引起各…

    Linux 2023年6月6日
    088
  • Linux(Deepin)Qt引用ffmpeg的问题(: error: cannot find -l…)

    Linux(Deepin)Qt引用ffmpeg的问题 1、环境介绍 Deepin 20.4 Qt 5.15.1 2、问题描述 从git上找了一个项目打算在Linux练习,顺便熟悉L…

    Linux 2023年6月14日
    0108
  • Redis和Memcache

    redis 和memcached都支持集群 Redis支持的数据类型要丰富得多,Redis不仅仅支持简单的k/v类型的数据,同时还提供String,List,Set,Hash,So…

    Linux 2023年5月28日
    092
  • 虚拟机网络地址配置你不知道的事儿-服务器的种类

    想必大家在初学Linux过程中,应该都是跟我一样白嫖一台虚拟机进行使用把,但是在大家白嫖的同时知不知道我们公司内是使用的什么样的服务器呢?公司肯定不会跟我们一样在自己电脑进行安装虚…

    Linux 2023年5月27日
    092
  • 软件测试基础理论(2)

    一, 为什么要进行软件测试 为了通过软件&amp…

    Linux 2023年6月7日
    0114
  • 渣画质视频秒变清晰,“达芬奇”工具集帮你自动搞定

    https://www.msra.cn/zh-cn/news/features/davinci 2022-06-23 | 作者:微软亚洲研究院 编者按:是否时常”考古&…

    Linux 2023年6月13日
    0183
  • IDEA 构建 mybatis 源码

    mybatis 源码构建 mybatis-source 下载 mybatis源码下载 mybatis-parent 版本信息 mybatis-parent 下载 mybatis-p…

    Linux 2023年6月13日
    093
  • 在自己的项目中使用PCL

    在自己的项目中使用PCL项目设置:1、创建cpp文件,如pcd_write.cpp,文件内容如下例: #include find_package(PCL 1.3 REQUIRED …

    Linux 2023年5月27日
    080
  • 剑指offer计划28(搜索与回溯算法困难)—java

    1.1、题目1 剑指 Offer 37. 序列化二叉树 1.2、解法 这题给我笑死了,我看到题解有个解法,我愿称之为神。 public class Codec { private …

    Linux 2023年6月11日
    0103
  • macos 文件系统 git仓库 大小写敏感设置; git config core.ignorecase

    macos 的文件系统不区分文件名的大小写,这样会导致在一个文件夹,当修改一个文件名为大写的时候,git不能感知到。这样使用过程中会出现很多不必要的麻烦。之前设置过,最近使用,发现…

    Linux 2023年6月14日
    0115
  • Linux 系统安全加固经验总结

    本文为博主原创,转载请注明出处: 1. 禁止root密码登录 修改 /etc/ssh/sshd_config 中 允许root 用户登录 PermitRootLogin 的值改为 …

    Linux 2023年6月14日
    097
  • DNS

    DNS是域名系统(Domain Name System),简单来说就是平时上网输入的URL,如 www.baidu.com 就是域名,而DNS就是将这个域名解析成IP地址,如 ww…

    Linux 2023年6月7日
    082
  • Shell脚本编程初体验

    通常,当人们提到”shell脚本语言”时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言。脚本语言是与计算机交流的另外…

    Linux 2023年5月28日
    0100
  • muduo源码分析之muduo简单运用

    今天不先实现 muduo项目,我们先来看下 muduo库的基本使用,只有了解了如何用,才能在写代码的时候知道自己写的找个函数是干嘛的,实际上是怎么使用的这个函数。首先说简单点,就是…

    Linux 2023年6月13日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球