【爬坑】DataNode 无法正常启动解决方案
0. 说明
DataNode 无法正常启动的原因 & 解决方案
1. 原因一
在 start-all.sh 之后 DataNode 无法正常启动,单独启动也启动不了

可能的原因
多次格式化,导致 NameNode 和 DataNode 的集群 id 不匹配 DataNode 无法启动
验证
查看对应主机的相关日志信息,位置在 /soft/hadoop/logs
查看 hadoop-centos-datanode-s101.log 文件
java.io.IOException: Incompatible clusterIDs in /tmp/hadoop-centos/dfs/data:
namenode clusterID = CID-297a82ef-d68f-49c8-a9d0-d7640a901b2c;
datanode clusterID = CID-e5778e8c-dfbd--9f46-45d2057aeec8
解决方案
在配置的时候在 core-site.xml 设置 hadoop.tmp.dir 参数。
如果不设置,其默认为 /tmp/hadoop-${user.name}
这里为默认设置结合主机名为 /tmp/hadoop-centos
解决代码
rm -rf /tmp/hadoop-centos
这里是伪分布式安装,如果是分布式安装的话通过 SSH 远程登陆删除配置的 DataNode 节点的 core-site.xml 设置 hadoop.tmp.dir 参数
如:
ssh s102 "rm -rf /home/centos/hadoop"
启动
hadoop-daemons.sh start datanode
2. 原因二
可能的原因
没有格式化文件系统,导致 NameNode 无法正常启动
验证
查看对应主机的相关日志信息,位置在 /soft/hadoop/logs
查看 hadoop-centos-namenode-s101.log 文件
以下说明 NameNode 的工作目录不存在或者无法访问
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:
Directory /home/centos/hadoop/dfs/name is in an inconsistent state:
storage directory does not exist or is not accessible.
解决方案
格式化文件系统,再出现错误参考原因一。
hdfs namenode -format
3. 原因三
可能的原因
进程正常启动,datanode无法使用
本机联通s101出现问题
验证
查看对应主机的相关日志信息,位置在/soft/hadoop/logs
查看 hadoop-centos-namenode-s101.log 文件
以下说明本机联通 s101 出现问题,将主机名 s101 解析为211.98.71.195
-- ::, INFO org.apache.hadoop.ipc.Client:
Retrying connect to server: s101/211.98.71.195:.
Already tried time(s); maxRetries=
解决方案
修改 hosts 文件
sudo vi /etc/hosts
重启 Hadoop
进程正常启动,DataNode无法使用,上传文件失败
防火墙没有关闭,查看本机防火墙,如果没关闭则关闭
【爬坑】DataNode 无法正常启动解决方案的更多相关文章
- 爬坑记-tomcat 项目启动两次的的解决
项目就启动了两次,程序倒是正常运行,关键我里边写了个while 循环,不能让它启动两次啊 百度了一下,有人说是tomcat server.xml或者tomcat新建服务的时候设置出了问题 ....最终 ...
- 【爬坑】MySQL 无法启动
[说明] 启动 MySQL 的时候出现以下错误 [解决] 在网上查到了遇到相关问题的人的解决方法,参考连接 Mysql启动报错 原因是 MySQL 服务没启动,开启就好了. 最后分析之所以服务没开启, ...
- .Net Core 爬坑日记
安装[DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe]失败 查看log发现,发现猫腻,然后copy下链接,用迅雷手动下载[AspNetCoreLocalFe ...
- mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)
题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去.之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了. 话 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...
- kali linux安装virtualbox虚拟机之爬坑经历
很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机. kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程. 一波三折. 环 ...
- AngularJs (二) 搭建Deployd 服务爬坑
Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...
- 微信小程序爬坑日记
新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...
随机推荐
- shell中mail发邮件的问题
今天为了监控一下脚本,按照网上说的利用mail 发邮件,mail -s "error预警2" peien@1221.qq.com<'邮件内容',发现出现cc,不知道啥问题,也 ...
- underscore.js源码解析【数组】
// Array Functions // --------------- // Get the first element of an array. Passing **n** will retur ...
- Spring Boot初识(2)- Spring Boot整合Mybaties
一.本文介绍 首先读这篇文章之前如果没有接触过Spring Boot可以看一下之前的文章,并且读这篇文章还需要你至少能写基本的sql语句.我在写这篇文章之前也想过到底是选择JPA还是Mybaties作 ...
- jQuery检查复选框是否被选
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- linux搭建sftp服务器
转自:http://blog.csdn.net/superswordsman/article/details/49331539 最近工作需要用到sftp服务器,被网上各种方法尤其是权限设置问题搞得晕头 ...
- python 浅析格式化输出和深浅copy
一,格式化输出 今天主要想记录一下关于格式化输出的例子,然后结合了自己的理解,分析如下: 格式是 :百分号+占位符 主要有三种使用形式:%s (其中s表示string)表示字符串 %d (其中d表 ...
- 【JAVA WEB教程】jsp环境搭建+部署网站(eclipse+tomcat)【详细+图文】
下载tomcat7.X 下载地址为:http://tomcat.apache.org/download-70.cgi 下载完成之后就开始安装 Next I Agree 选中所有的复选框 ...
- Lucene实战之基于StandardAnalyzer读写索引
前言 使用lucene创建索引时如果指定了解析器,则需要读写都使用这个解析器,目前我发现也就是在处理中文这块比较麻烦,像你在使用solr时如果配置了ik分词,则需要把index清空重新创建才能继续搜索 ...
- T-SQL:透视数据(十三)
透视数据实际上就是行状态转为例状态 先加一张测试表 IF OBJECT_ID('dbo.Orders', 'U') IS NOT NULL DROP TABLE dbo.Orders; GO CREA ...
- ajax 跨域----好用的解决方案
一.前言 跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了! 但是感觉还是差了点什么,于是现在重新梳理了一下.个人见识有限,如有差错,请多多见谅 二.前言 关于跨 ...