大数据Hadoop集群的扩容及缩容(动态添加删除节点)
添加白名单和黑名单
白名单,表示在白名单的主机IP地址可以用来存储数据
企业中;配置白名单,可以尽量防止黑客恶意访问攻击。
配置白名单步骤如下:原文:sw-code
1)在NameNode节点的/opt/module/hadoop-3.1.3/etc/hadoop目录创建whitelist和blacklist
创建白名单
vim whitelist
# 输入如下内容
hadoop102
hadoop103
创建黑名单
touch blacklist
2)修改hdfs-site.xml
vim hdfs-site.xml
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-3.1.3/etc/hadoop/whitelist</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>
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

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

服役新数据节点
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)删除data和logs目录
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@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中配置
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>
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,可以看到正在退役中。

表示正在退役,该阶段会复制副本到其他节点,之前上传到hadoop105的文件副本会被复制到其他节点
5)等待退役节点状态为Decommissioned(所有块已复制完成),停止该节点以及节点资源管理器。注意:如果副本数是3,服务的节点数量小于3,是不能退役成功的,需要修改副本数后才能退役。

[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
大数据Hadoop集群的扩容及缩容(动态添加删除节点)的更多相关文章
- [转]大数据hadoop集群硬件选择
问题导读 1.哪些情况会遇到io受限制? 2.哪些情况会遇到cpu受限制? 3.如何选择机器配置类型? 4.为数据节点/任务追踪器提供的推荐哪些规格? 随着Apache Hadoop的起步,云客户 ...
- 大数据——Hadoop集群坏境CentOS安装
前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...
- 大数据 -- Hadoop集群环境搭建
首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...
- 大数据 --> Hadoop集群搭建
Hadoop集群搭建 1.修改/etc/hosts文件 在每台linux机器上,sudo vim /etc/hosts 编写hosts文件.将主机名和ip地址的映射填写进去.编辑完后,结果如下: 2. ...
- hdfs集群的扩容和缩容
目录 1.背景 2.集群黑白名单 3.准备一台新的机器并配置好hadoop环境 3.1 我们现有的集群规划 3.2 准备一台新的机器 3.2.1 查看新机器的ip 3.2.2 修改主机名和host映射 ...
- 王雅超的学习笔记-大数据hadoop集群部署(十)
Spark集群安装部署
- 大数据hadoop集群部署(一)
环境系统配置 JAVA虚拟机的安装
- 王雅超的学习笔记-大数据hadoop集群部署(七)
MySQL的安装部署
- 大数据Hadoop-Spark集群部署知识总结(一)
大数据Hadoop-Spark集群部署知识总结 一.启动/关闭 hadoop myhadoop.sh start/stop 分步启动: 第一步:在hadoop102主机上 sbin/start-dfs ...
- 一台虚拟机,基于docker搭建大数据HDP集群
前言 好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做.这个可以参考之前写得关于我大数据毕业设计的文章.这篇文章是将对之前的毕设进行优化. 个人觉得可以分为两个部分.第一个部分就是基础的平台 ...
随机推荐
- Docker学习路线11:Docker命令行
Docker CLI (命令行界面) 是一个强大的工具,可让您与 Docker 容器.映像.卷和网络进行交互和管理.它为用户提供了广泛的命令,用于在其开发和生产工作流中创建.运行和管理 Docker ...
- 数据库SQL(MSSQLSERVER)服务启动错误代码3414
昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...
- 94个JS/eTS开源组件首发上新,肯定有你要用的一款!
原文:https://mp.weixin.qq.com/s/6RdxNisTQoyPds811PNZKA,点击链接查看更多技术内容. 2021年的华为开发者大会(HDC2021)上,我们发布了新一代的 ...
- Godot UI线程,Task异步和消息弹窗通知
目录 前言 线程安全 全局消息IOC注入 消息窗口搭建 最简单的消息提示 简单使用 仿Element UI ElementUI 效果 简单的Label样式 如何快速加载多个相同节点 修改一下,IOC按 ...
- 使用OpenMMLab系列的开源库时,常用的脚本合集。
使用OpenMMLab系列的开源库时,常用的脚本合集. 开源仓库:gy-7/mmlab_scripts 脚本解释: anchor_visiual.py 生成的锚框可视化 aug_test.py 自动数 ...
- 剑指offer38(Java)-字符串的排列(中等)
题目: 输入一个字符串,打印出该字符串中字符的所有排列. 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. 示例: 输入:s = "abc"输出:["abc&q ...
- MaxCompute项目子账号做超级管理员
场景 主账号不是大数据团队管理,使用MaxCompute员工都只持有子账号,而project的owner只能为主账号,但是很多MaxCompute的权限管理还需要owner才可以操作(如项目级别的fl ...
- 喜马拉雅 Apache RocketMQ 消息治理实践
简介:本文通过喜马拉雅的RocketMQ治理实践分享,让大家了解使用消息中间件过程中可能遇到的问题,避免实战中踩坑. 作者:曹融,来自喜马拉雅,从事微服务和消息相关中间件开发. 本文通过喜马拉雅 ...
- dotnet SemanticKernel 入门 调用原生本机技能
本文将告诉大家如何在 SemanticKernel 里面调用原生本机技能,所谓原生本机技能就是使用 C# 代码编写的原生本地逻辑技能,这里的技能可讲的可不是游戏角色里面的技能哈,指的是实现某个功能的技 ...
- 《Effective C++》第三版-1. 让自己习惯C++(Accustoming Yourself to C++)
目录 条款01:视C++为一个语言联邦(View C++ as a federation of languages) 条款02:尽量以const.enum.inline替换#define(Prefer ...