无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个服务不中断。

本次操作之前,Hadoop的集群情况如下:

HDFS的机器情况如下:

MR的机器情况如下:

添加机器

在集群的Master机器中,修改$HADOOP_HOME/conf/slaves文件,在其中添加需要加入集群的新机器(hp3)的主机名:

hp3
hp2
dell1
dell2
dell3
dell4

然后在Master机器中执行如下命令:

$HADOOP_HOME/bin/start-all.sh

这样操作完成之后,新的机器就添加到集群中来了。

HDFS集群增加了一台新的机器:

MR集群中也新增了一台机器:

删除机器

不安全的方式

由于Hadoop集群自身具备良好的容错性,可以直接关闭相应的机器,从而达到将该机器撤除的目的。但是如果一次性操作3台以上的机器,就有可能造成部分数据丢失,所以不推荐使用这种方式进行操作。

安全的方式

在集群的Master机器中,新建一个文件:$HADOOP_HOME/conf/nn-excluded-list,在这个文件中指定需要删除的机器主机名(hp3):

hp3

然后,修改Master机器的配置文件:$HADOOP_HOME/conf/hdfs-site.xml,添加如下内容:

<property>

<name>dfs.hosts.exclude</name>

<value>conf/nn-excluded-list</value>

</property>

最后,在Master机器中执行如下命令:

$HADOOP_HOME/bin/hadoop dfsadmin -refreshNodes

这样操作完成之后,可以在HDFS集群中看到,hp3机器已经处于Decommission In Progress状态:

但是MR机器中hp3机器依旧在运行中:

我们需要等待一定的时间,等待hp3中datanode的Decommission操作完成以后,再到hp3机器中关闭所有的Hadoop进程即可。

这样就完成了整个从集群中删除机器的操作。

更多关于Hadoop的文章,可以参考:http://www.cnblogs.com/gpcuster/tag/Hadoop/

转自http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html

HADOOP实践101:在Hadoop集群中添加机器和删除机器相关推荐

  1. Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

    Hadoop学习笔记-13.分布式集群中节点的动态添加与下架 开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如 ...

  2. Hadoop集群中添加硬盘

    Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步 ...

  3. hadoop集群中客户端修改、删除文件失败

    这是因为hadoop集群在启动时自动进入安全模式 查看安全模式状态:hadoop fs –safemode get 进入安全模式状态:hadoop fs –safemode enter 退出安全模式状 ...

  4. 在Citus集群中添加新节点

    一.添加Citus新节点作为primary worker node 1.在新节点上安装PG和Citus,以及其他需要的组件(也可以在已有PG服务器上创建新的PG数据库实例): 2.初始化PG数据库实例 ...

  5. Hadoop集群中添加Snappy解压缩库

    Snappy是用C++开发的压缩和解压缩开发包,旨在提供高速压缩速度和合理的压缩率.Snappy比zlib更快,但文件相对要大20%到100%.在64位模式的Core i7处理器上,可达每秒250~5 ...

  6. docker swarm英文文档学习-8-在集群中部署服务

    Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运 ...

  7. 为什么zookeeper集群中节点配置个数是奇数个?

    Zookeeper的大部分操作都是通过选举产生的.比如,标记一个写是否成功是要在超过一半节点发送写请求成功时才认为有效.同样,Zookeeper选择领导者节点也是在超过一半节点同意时才有效.最后,Zo ...

  8. redis集群中slot迁移的BUG:clusterManagerMoveSlot failed: ERR I don‘t know about node xx,解决办法如下文

    这个BUG很奇怪,先放BUG出现的图片吧 报错:clusterManagerMoveSlot failed: ERR I don't know about node xxx redis找不到他自己创建 ...

  9. Redis集群客户端添加数据报错(error) CLUSTERDOWN The cluster is down

    在连接到Redis集群,向集群中添加数据的时候报错了 (error) CLUSTERDOWN The cluster is down 首先呢,检查集群的运行情况,使用搭建集群是用到的redis-tri ...

最新文章

  1. 2021年编程语言趋势预测:Python和JavaScript仍火热,Go不可小觑
  2. [转]Docker学习之四:使用docker安装mysql
  3. 外网访问FTP出错200 Type set to A
  4. linux查看fifo内容,linux 有名管道(FIFO)
  5. html网页访问计数器,HTML添加网站计数器(Cookie)
  6. URLScan工具配置方法第1/2页
  7. css就近原则_细品100道CSS知识点(上)「干货满满」
  8. 牛客网刷题(纯java题型 211~240题)
  9. CGAL 4.9 - Triangulated Surface Mesh Deformation
  10. 设为首页/加入收藏代码
  11. 3.3 决策树分类与回归实战
  12. Linux安装MATLAB Compiler Runtime操作
  13. delphi 的GetTickCount计时用法缺陷及管制
  14. STM32控制SG90舵机
  15. c语言父 app,90后父母最爱的10款实用APP,中老年人必备!
  16. 【我的OpenGL学习进阶之旅】学习OpenGL ES 3.0 的实战 Awsome Demo (中)
  17. 空间相册怎么移到计算机里,qq空间上传照片_怎样把电脑里存的照片传到qq空间??...
  18. 八字易经算法之用JAVA实现最简单的称骨算命法
  19. 电子身份证助力打击钓鱼攻击
  20. Android 手机震动功能实现

热门文章

  1. 如何用100美元和TensorFlow来造一个能“看”东西的机器人
  2. 今年7月,一起来看谷歌如何测试移动应用!
  3. PHP计算字符串的个数
  4. unity, destroy gameObject destroy all children
  5. MVC进阶学习--HtmlHelper控件解析(三)
  6. 关于C#传给视图的字符串带有Html转义字符的处理
  7. 随心所欲学Java,起步-心理安慰
  8. list删除null
  9. .NET反编译工具Reflector及插件Reflector.FileDisassembler.dll
  10. 改良程序需要的11个技巧