在搭建好Hadoop集群后,namenode与datanode两个过程不能起来,或者一个启动之后另一个自动关闭

本文主要是介绍在搭建好Hadoop集群后,namenode与datanode两个过程不能起来,或者一个启动之后另一个自动关闭,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

故障现像

    此故障可以算是在换电脑搭集群后最多的故障了,首先是从节点上相关进程都没起来,后来又是进程起来后从节点上datanode节点没起来,最后是datanode进程起来之后,主节点上namenode进程又没起来。此故障看起来一波三折,实际上在理解好相关原理后,解决起来要比第一个故障轻松一些。


解决思路

    原理为先:首先要找到对应关系,主节点上namenode主要是跟从节点上datanode相对应。

                                  主节点上jobtracker主要是跟从节点是tasktrack相对应。

    故障细分:1,从节点上进程起不来。2,datanode无法开启 3,namenode无法开启


解决步骤

    此故障在网上也是有很多攻略,在看完其他人的解决方法后。从理论联系实操分三步走来解决这个故障:


1,从节点上进程无法启动,这个问题较为简单。大部分是由于各虚拟机之间的防火墙没有关闭,而在真实的生产系统中。也表现来Linux之间的防火墙问题导致的HDFS集群不通。又或者是暂时性关闭防火墙,没有永久性关闭。具体的命令从网上都可以找到。

2,datanode无法开启,这里就要寻找你当初设置此集群时的六个文件,里边就有设置的相关参数。主要是在core-site.xml内,在这个里边,我们设置了相关临时文件夹,也相当于这个进程在开启之后是否与主节点需要通信。当把这里边建立的tmp文件夹删除之后,从节点上的datanode就可以顺利开启了。

3,namenode无法开启,由于从上边的原理上来看,datanode与namenode是相互依存的关系,而它们之间要启动肯定是同时启运的。不会一个开启,一个关闭。若是这样,那肯定另一个进程一会儿也会自动关闭。而控制两个进程之间同步的有时间戳消息。而这个消息主要是在logs日志里。当把hadoop安装目录下的logs全删除后。


然后,将全部进程停止,再全部重新启动。所有进程就都起来了。至此,故障解决!!


故障反思

    此故障解决起来,主要是要把原理搞明白。不然在看网上相关攻略的时候总是会找不到方法。多去思考背后的原因,多去总结,反思!提升自己解决问题的能力!


转载请注明出处:http://blog.51cto.com/bingyang/1968998


这篇关于在搭建好Hadoop集群后,namenode与datanode两个过程不能起来,或者一个启动之后另一个自动关闭的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970644

相关文章

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

Java通过ServerSocket与Socket实现通信过程

《Java通过ServerSocket与Socket实现通信过程》本文介绍了Java中的ServerSocket和Socket类,详细讲解了它们的构造方法和使用场景,并通过一个简单的通信示例展示了如何... 目录1 ServerSocket2 Socket3 服务器端4 客户端5 运行结果6 设置超时总结1

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth