`
zhangxiong0301
  • 浏览: 362888 次
社区版块
存档分类
最新评论

hadoop、hbase节点下线

 
阅读更多

 

        hadoop节点在磁盘坏掉的时候需要节点下线,按照下线步骤操而不是直接kill,是为了让数据安全的转移。比如hbase的regionserver直接kill掉的话,如果运气再坏一点这个regionserver上刚好是root表或meta表所在的机器,那可能导致hbase集群不可用。

 

 

  1.   hbase regionserver下线

 

         直接执行hbase bin目录下的graceful_stop.sh <nodename>. 这个命令执行时,会先把banlance_switch关掉,然后转移该regionserver维护的region到其他节点,然后stop掉进程。后续hbase运维中,我们需要手动开启均衡器【hbase shell banlance_switch true】

 

 

  2.hadoop datanode下线

 

       首先配置好需要下线的节点和正常跑的节点,在hdfs-site.xml中配置如下:

 

  1. <property>  
  2.     <name>dfs.hosts</name>   
  3.     <value>/home/hadoop/cdh5/hadoop250/etc/hadoop/slaves</value>  
  4. </property>  
  5. <property>   
  6.     <name>dfs.hosts.exclude</name>   
  7.     <value>/home/hadoop/cdh5/hadoop250/etc/hadoop/exclude-slaves</value>  
  8. </property>  

 

dfs.hosts所对应的文件中列出了所有可以连接到namenode的datanode,如果为空则所有的都可以连入。dfs.hosts.exclude所对应的文件中列出了禁止连接namenode的datanode节点。如果一个节点在这两个文件中都存在,则不允许连入。

下线datanode步骤如下: 

1 将要下线的机器加入到dfs.hosts.exclude指定的文件中(使用主机名,ip基本不靠谱),然后刷新配置hadoop dfsadmin -refreshNodes。

 

2 通过hadoop dfsadmin -report或者web界面,可以看到,该datanode状态转为Decommission In Progress。

 

3 当decommission进程完成数据移动,datanode状态会转变为Decommissioned,然后datanode会自动停止datnode进程。然后你可以看见dead nodes下多了一个你想要下线的节点。

 

4 然后删除include和exclude中该节点的hosts,重新刷新hadoop dfsadmin -refreshNodes

 

5 最后别忘了删除slaves中该节点的配置,防止下次整个集群重启时,该节点不能通过namenode自动启动。可以同过hdfs的web页面查看下线的进度,也可以通过下线节点的datanode日志查看下线过程。




注意: 当你下线一个datanode节点,有可能该节点长时间处于Decommission In Progress状态,一直不能转变为Decommissioned。请你用hadoop fsck /检查下是否有些块少于指定的块数,特别注意那些mapreduce的临时文件。将这些删除,并且从垃圾箱移除,该节点就可以顺利下线。这是我解决该问题的办法。




2.上线一个节点的步骤如下: 

1 保证将要上线的机器不存在于dfs.hosts.exclude所对应的的文件中,并且存在于dfs.hosts所对应的文件中

 

2 在namenode上刷新配置:hadoop dfsadmin -refreshNodes

 

3 在要上线的节点重启datanode,hadoop-daemon.sh start datanode

 

4 通过hadoop dfsadmin -report或者web界面,可以看到,节点已经上线

 

5 还是老话最后别忘了修改slaves。

 

 

分享到:
评论

相关推荐

    CDH5.9.0节点删除下线

    首先,确保你已经了解了CDH(Cloudera Distribution Including Apache Hadoop)的基础知识,它是一个企业级的大数据平台,提供了Hadoop生态系统的一系列组件,如HDFS、YARN、MapReduce、Hive、HBase等。CDH5.9.0是...

    hbase安装,节点添加,移除,常见问题解决

    接下来是HBase节点的动态添加与移除: 1. 添加节点:在新节点上完成HBase的安装和配置,然后将该节点加入到Hadoop集群中。更新HBase的`regionservers`文件,添加新节点的主机名。重启HMaster服务,HBase会自动分配...

    hadoop权威指南第2版

    它不仅为初学者提供了Hadoop集群的搭建指南,还对Hive、HBase等重要组件进行了详细介绍,同时涉及了ZooKeeper的相关知识。下面将详细说明这本书所涉及的知识点。 1. Hadoop集群搭建 Hadoop是一个开源框架,支持使用...

    hbase运维手册

    NameNode是Hadoop中的一个关键组件,其状态可能会影响HBase集群的性能。 #### 十一、Transwarp HBase常用工具 **4.1 分布式存储运维工具(DSTools)** DSTools是一组用于维护和管理分布式存储系统的工具。 #### ...

    大数据和云计算技术在计费系统的应用研究.pdf

    在高可用性建议方面,HBase本身的机制能保证RegionServer的安全,当有节点下线时,Zookeeper可以感知到并由HMaster将Region迁移到其他节点。此外,调度节点和管理节点采取了双机互备HA的机制,以保证系统的高可用性...

    2017最新大数据架构师精英课程

    79_hadoop的大数据节点% K S, J! U3 W& o2 d) Q 80_hdfs-maven-hdfs API访问8 s8 J# W* l- i% x, ]: L! L 81_hdfs-maven-idea的集成处理 82_hdfs-block大小-副本数设定9 o$ I! k4 |+ ]9 q2 h8 ]# x6 B, S* Y$ W 83_...

    zookeeper-3.6.3.zip

    在实际应用中,Zookeeper常被用于Hadoop、HBase、Kafka等分布式系统中,作为它们的协调器,确保分布式环境中的数据一致性、服务发现和管理。同时,Zookeeper的API易于使用,支持多种编程语言,如Java、Python、C等,...

    基于Alluxio Docker的分布式文件系统设计及应用.pdf

    Alluxio是一个开源的内存虚拟分布式存储系统,它以内存为中心,兼容Hadoop生态系统中的工具,如Hive、HBase和Spark SQL。Alluxio的特性是能够将数据以更高效的方式存储在内存中,相对于传统的存储方案,其数据访问...

Global site tag (gtag.js) - Google Analytics