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中配置如下:
- <property>
- <name>dfs.hosts</name>
- <value>/home/hadoop/cdh5/hadoop250/etc/hadoop/slaves</value>
- </property>
- <property>
- <name>dfs.hosts.exclude</name>
- <value>/home/hadoop/cdh5/hadoop250/etc/hadoop/exclude-slaves</value>
- </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。 |
相关推荐
以 hadoop 用户名登录名称节点(192.168.3.197),执行 ssh-keygen -t rsa,然后一路回车,生成文件 .ssh/id_rsa.pub。把这个文件复制到当前位置,命名为 authorized_keys。然后执行命令 ssh 127.0.0.1,如果不需要...
Hadoop和HBase是大数据处理领域中的重要组件,它们在分布式存储和实时数据访问方面扮演着关键角色。Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、...
首先,确保你已经了解了CDH(Cloudera Distribution Including Apache Hadoop)的基础知识,它是一个企业级的大数据平台,提供了Hadoop生态系统的一系列组件,如HDFS、YARN、MapReduce、Hive、HBase等。CDH5.9.0是...
1. **集群环境设置**:一个基本的Hadoop Hbase Zookeeper集群至少需要3个节点,包括1个Master节点和2个Node节点。这些节点之间应通过局域网连接,确保彼此能ping通。在示例中,IP地址分配为Master: 10.0.0.111, Node...
《Hadoop 2.7.2与HBase的集成——深入理解hadoop-2.7.2-hbase-jar.tar.gz》 Hadoop是Apache软件基金会的一个开源项目,它为大规模数据处理提供了一个分布式计算框架。Hadoop的核心包括HDFS(Hadoop Distributed ...
Hadoop+HBase集群搭建详细手册 本文将详细介绍如何搭建Hadoop+HBase集群,包括前提准备、机器集群结构分布、硬件环境、软件准备、操作步骤等。 一、前提准备 在搭建Hadoop+HBase集群之前,需要准备以下几个组件:...
在构建大数据处理环境时,Hadoop、HBase、Spark和Hive是四个核心组件,它们协同工作以实现高效的数据存储、处理和分析。本教程将详细介绍如何在Ubuntu系统上搭建这些组件的集群。 1. **Hadoop**:Hadoop是Apache...
hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记
主要讲解 Hadoop Hbase的使用和原理,包括Hbase官方文档的翻译,还有Java对Hbase的操作等。
在IT行业中,大数据处理和分析是至关重要的环节,而Hadoop和HBase是这个领域中的两个关键组件。Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的分布式数据库,提供了高效、实时的...
Hadoop 和 HBase 常用 shell 命令 在大数据处理中,Hadoop 和 HBase 是两个非常重要的组件。Hadoop 是一个分布式计算框架,用于处理大规模数据,而 HBase 是一个基于 Hadoop 的分布式数据库,用于存储和处理大规模...
【Hadoop及Hbase部署与应用】涉及到的关键知识点如下: 1. **Hadoop基础**: - Hadoop是一个开源的分布式计算框架,基于Java开发,主要用于处理和存储大规模数据。它由两个主要组件组成:HDFS(Hadoop Distributed...
《Hadoop之HBase从入门到精通》是一个深入学习Hadoop和HBase的全面指南,旨在帮助初学者和有经验的开发者快速掌握这两个强大的大数据处理工具。Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在廉价...
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群概述 在大数据处理中,高可用集群是非常重要的,Hadoop HA高可用集群可以提供高可靠性和高可用性,确保数据处理不中断。该集群由...
在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了一个高效、可扩展的数据处理和存储环境。以下是关于这些技术及其集群配置的详细知识。 首先,Hadoop是一个开源的分布式计算框架,...
这是一个大牛的学习笔记,讲解详细,思路清晰,按步就班,是学习hadoop hbase的入门资料,值得入门人员拥用!
1. 在节点组成的集群上安装并配置Hadoop与HBase。 2. 研究Hadoop与HBase API,并编写若干HBase测试程序以展示其功能。 3. 编写多个HBase程序,在多种条件下测试HBase的性能,这些条件是官方性能评估测试未涉及的。 ...
1. 添加节点:在新节点上完成HBase的安装和配置,然后将该节点加入到Hadoop集群中。更新HBase的`regionservers`文件,添加新节点的主机名。重启HMaster服务,HBase会自动分配工作负载到新节点。 2. 移除节点:在...
在IT行业中,大数据处理是当前的关键技术之一,而Hadoop、HDFS和HBase则是其中的核心组件。Hadoop是一个开源框架,主要用于存储和处理大规模数据,而HDFS(Hadoop Distributed File System)是Hadoop的核心部分,是...
Hadoop HBase 的官方文档,内容详细,单个文件mht格式