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 无法正常启动解决方案的更多相关文章

  1. 爬坑记-tomcat 项目启动两次的的解决

    项目就启动了两次,程序倒是正常运行,关键我里边写了个while 循环,不能让它启动两次啊 百度了一下,有人说是tomcat server.xml或者tomcat新建服务的时候设置出了问题 ....最终 ...

  2. 【爬坑】MySQL 无法启动

    [说明] 启动 MySQL 的时候出现以下错误 [解决] 在网上查到了遇到相关问题的人的解决方法,参考连接 Mysql启动报错 原因是 MySQL 服务没启动,开启就好了. 最后分析之所以服务没开启, ...

  3. .Net Core 爬坑日记

    安装[DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe]失败 查看log发现,发现猫腻,然后copy下链接,用迅雷手动下载[AspNetCoreLocalFe ...

  4. mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)

    题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去.之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了. 话 ...

  5. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  6. 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路

    针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...

  7. kali linux安装virtualbox虚拟机之爬坑经历

    很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机. kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程. 一波三折. 环 ...

  8. AngularJs (二) 搭建Deployd 服务爬坑

    Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...

  9. 微信小程序爬坑日记

    新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...

随机推荐

  1. Jenkins系列之三——centos7.4+GitLab+Jenkins部署

    GitLab介绍 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 系统环境准备 建议:内存4G以上不然带不动 [root@hejianl ...

  2. 深入学习使用ocr算法识别图片中文字的方法

    公司有个需求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python.一个小白在网上遨游了一天,终于找到一丝丝思绪 ...

  3. 利用Redis发布订阅完成tomcat集群下的消息通知

    以下为个人想法,如果有说的不对的地方请各位大佬见谅! 这是博主的第一篇博客,可能排版以及一些描述有不合理的地方还请勿喷,希望大家尽可能的多给我这样的新人一些鼓励让我能在写博客的道路上走下去. 进入正题 ...

  4. noip之后的一些感受

    你经历过绝望吗,那种希望完全破碎,眼前看不到光亮,不知道下一步怎么走,不知道接下来应该如何生活的那种绝望? 我经历过. 2018.11.12 下午 秦皇岛到石家庄的高铁上 听着同学兴高采烈的讨论,自己 ...

  5. Fibonacci快速实现(优化)

    斐波那契数列的通俗解法是利用递推公式进行递归求解,我们可以更优化的去解决它. 方法一:通项公式 斐波那契数列的递推公式是f(n)=f(n-1)+f(n-2),特征方程为:x2=x+1,解该方程得(1+ ...

  6. MVC HtmlHelper用法

    HtmlHelper用来在视图中呈现 HTML 控件. 以下列表显示了当前可用的一些 HTML 帮助器. 本主题演示所列出的带有星号 (*) 的帮助器. ActionLink - Links to a ...

  7. C#语句 分支语句 if --- else ---

    语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 注意,语句间的标点符号必须是英文标点 ...

  8. 如何简单的在 ASP.NET Core 中集成 JWT 认证?

    前情提要:ASP.NET Core 使用 JWT 搭建分布式无状态身份验证系统 文章超长预警(1万字以上),不想看全部实现过程的同学可以直接跳转到末尾查看成果或者一键安装相关的 nuget 包 自上一 ...

  9. 试图加载格式不正确的程序 .net

    一般是dll位数不对,重新编译一下即可

  10. C#实现接口IHttpModule完成统一的权限验证

    测试代码如下: using System; using System.Collections.Generic; using System.Text; using System.Collections; ...