当前位置: 首页 > article >正文

HDFS新增节点和删除datanode节点

在实际的hadoop环境中,有时我们需要新增或者删除datanode节点,来达到扩容或缩容的目的,本文就来讲解如何新增和删除datanode。

新增节点和删除节点会涉及两个关键的配置项(hdfs-site.xml文件中):

  • dfs.hosts:表示被允许连接到namenode的所有机器列表。为空,则表示所有机器都可以连接namenode,所以该配置一般不配,一般只会使用exclude,不然反而麻烦,配了后新增节点都得去修改添加该配置
  • dfs.hosts.exclude:表示不允许连接到namenode的所有机器列表。为空,则表示没有机器被禁止连接

dfs.hosts和dfs.hosts.exclude分别指向一个文件(注意是绝对路径)。下面的节点地址我们统一使用机器主机名,所以就得要机器配置了/etc/hosts的主机名和IP的映射关系。假设 dfs.hosts指向的文件是include,dfs.hosts.exclude指向的文件是exclude。

新增节点

1)将新节点的地址添加到include(假如没配置就算了,过此步),一般不配。

2)在namenode运行hadoop dfsadmin -refreshNodes,刷新节点配置,为了允许datanode连接namenode(假如没有第一步则不用运行该步骤

3)将新节点添加到slaves文件,该步骤只是为了可以让hadoop的启动集群的脚本(比如start-dfs.sh),可以顺便启动该datanode节点(没有该配置,该节点也是可以单独命令启动的)

4)在新节点上启动datanode(各版本启动命令略有不同):sh hadoop-daemon.sh start datanode

5)在namenode运行hadoop dfsadmin -refreshNodes,可以到web ui查看新增节点

6)新节点新增后,也许就会涉及数据的再平衡问题,使用balancer去均衡数据存储。

删除节点

1)将待删除的节点地址添加到exclude文件

2)在namenode运行hadoop dfsadmin -refreshNodes,刷新节点配置。

3)转到网页查看是否待删除的节点的所有块都成了Decommissioned,是则表示所有块已经复制完毕。可以关闭已经删除的节点。

4)关闭要删除的datanode(各版本关闭命令略有不同):sh hadoop-daemon.sh stop datanode

5)如果有include文件配置,则在其中移除这节点,再执行hadoop dfsadmin –refreshNodes

6)在slaves文件中删除该节点


http://www.kler.cn/a/393747.html

相关文章:

  • CTF攻防世界小白刷题自学笔记13
  • MySQL的SQL书写顺序和执行顺序
  • STM32问题集
  • Vector Optimization – Stride
  • C#发票识别、发票查验接口集成、电子发票(航空运输电子行程单)
  • 微服务day07
  • 打造专业问答社区:Windows部署Apache Answer结合cpolar实现公网访问
  • Java后端请求想接收多个对象入参的数据方法
  • 数据仓库面试题集离线实时
  • 双 11 数据可视化:Pyecharts 与 Matplotlib 绘制商品价格对比及动态饼图
  • 企业一站式管理系统odoo的研究——系统搭建
  • BigDecimal为什么比int要好
  • 计算机网络(11)和流量控制补充
  • linux c/c++最高效的计时方法
  • Oracle 19c PDB克隆后出现Warning: PDB altered with errors受限模式处理
  • 花了36元给我的个人博客上了一道防御
  • 单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)
  • 【操作系统】守护进程
  • 多模态大模型(2)--BLIP
  • 基于springboot的物品回收系统
  • 动手学深度学习69 BERT预训练
  • vue3入门知识(二)
  • Linux 网络编程
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-集成心知天气(二)
  • Linux源码阅读笔记-V4L2框架基础介绍
  • 基于微信小程序的计算机实验室排课与查询系统