添加白名单和黑名单

白名单,表示在白名单的主机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
<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)删除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@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集群的扩容及缩容(动态添加删除节点)的更多相关文章

  1. [转]大数据hadoop集群硬件选择

      问题导读 1.哪些情况会遇到io受限制? 2.哪些情况会遇到cpu受限制? 3.如何选择机器配置类型? 4.为数据节点/任务追踪器提供的推荐哪些规格? 随着Apache Hadoop的起步,云客户 ...

  2. 大数据——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  3. 大数据 -- Hadoop集群环境搭建

    首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...

  4. 大数据 --> Hadoop集群搭建

    Hadoop集群搭建 1.修改/etc/hosts文件 在每台linux机器上,sudo vim /etc/hosts 编写hosts文件.将主机名和ip地址的映射填写进去.编辑完后,结果如下: 2. ...

  5. hdfs集群的扩容和缩容

    目录 1.背景 2.集群黑白名单 3.准备一台新的机器并配置好hadoop环境 3.1 我们现有的集群规划 3.2 准备一台新的机器 3.2.1 查看新机器的ip 3.2.2 修改主机名和host映射 ...

  6. 王雅超的学习笔记-大数据hadoop集群部署(十)

    Spark集群安装部署

  7. 大数据hadoop集群部署(一)

     环境系统配置  JAVA虚拟机的安装

  8. 王雅超的学习笔记-大数据hadoop集群部署(七)

    MySQL的安装部署

  9. 大数据Hadoop-Spark集群部署知识总结(一)

    大数据Hadoop-Spark集群部署知识总结 一.启动/关闭 hadoop myhadoop.sh start/stop 分步启动: 第一步:在hadoop102主机上 sbin/start-dfs ...

  10. 一台虚拟机,基于docker搭建大数据HDP集群

    前言 好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做.这个可以参考之前写得关于我大数据毕业设计的文章.这篇文章是将对之前的毕设进行优化. 个人觉得可以分为两个部分.第一个部分就是基础的平台 ...

随机推荐

  1. Python 列表操作指南2

    将元组的元素添加到列表中: thislist = ["apple", "banana", "cherry"] thistuple = (&q ...

  2. 【Learning eBPF-3】一个 eBPF 程序的深入剖析

    从这一章开始,我们先放下 BCC 框架,来看仅通过 C 语言如何实现一个 eBPF.如此一来,你会更加理解 BCC 所做的底层工作. 在这一章中,我们会讨论一个 eBPF 程序被执行的完整流程,如下图 ...

  3. 本周三晚19:00Hello HarmonyOS应用篇第7课—分布式应用开发

    6月15日19:00 Hello HarmonyOS系列应用篇迎来的本系列直播课的最后一课,将会有怎样的精彩呈现呢?   万物互联的时代已经来临,如果你想运用过往的技术,开发一个有"跨设备操 ...

  4. 面试连环炮系列(二十️五):RocketMQ怎么保证消息不丢失

    RocketMQ怎么保证消息不丢失? A. 从Producer的视角来看:如果消息未能正确的存储在MQ中,或者消费者未能正确的消费到这条消息,都是消息丢失. B. 从Broker的视角来看:如果消息已 ...

  5. Vue 3 进阶用法:异步组件

    一.代码分割 一个大型前端应用,如果所有代码都放在单一文件,体积会特别大,下载时间长,白屏时间久,用户体验差. 代码分割是一种有效的优化方式.提前把代码切分为多个小块,只下载当前必需的部分,用到哪块下 ...

  6. 力扣34(java)-在排序数组中查找元素的第一个和最后一个位置(中等)

    题目: 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target.请你找出给定目标值在数组中的开始位置和结束位置. 如果数组中不存在目标值 target,返回 [-1, -1]. 你 ...

  7. 力扣190(java)-颠倒二进制位(简单)

    题目: 颠倒给定的 32 位无符号整数的二进制位. 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型.在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论 ...

  8. HarmonyOS NEXT应用开发案例——自定义TabBar

    介绍 本示例主要介绍了TabBar中间页面如何实现有一圈圆弧外轮廓以及TabBar页签被点击之后会改变图标显示,并有一小段动画效果. 效果图预览 使用说明: 依次点击tabBar页面,除了社区图标之外 ...

  9. 史上最强《Java 开发手册》泰山版王者归来!

    阿里妹导读:潜力修炼一年之久的<Java 开发手册(泰山版)>今天发布!此次共计新增 34 条规约,修改描述 90 处,其中错误码规则更是第一次提出完整的解决方案,大家参考错误码示例表,欢 ...

  10. IIncrementalGenerator 判断程序集之间可见关系

    本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何判断两个程序集之间是否存在 InternalsVisibleTo 关系 ...