搭建了一个小的实验集群,一共4台机器,一台namenode,三台datenode。运行start-all,发如今namenode上没有报不论什么错误,可是启动后直接显示datenode数量为0。
    到datenode上查看日志。发现有这么个错误: ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs。百度后发现出现这个问题通常是datenode中的数据文件出了问题。这时我想到自己的几台datenode是直接由namenode中的系统复制过来,而我并没有设置hadoop.tmp.dir參数,也就是默认存储在/tmp文件夹中,这就跟直接namenode单机时存储的暂时文件冲突了才造成了以上问题。解决方法也非常easy。将tmp文件夹中的过期暂时文件清楚,或者另外设置hadoop.tmp.dir參数指定新的暂时文件夹。

这里我选择了后者。由于我发现/tmp文件夹下的文件常常会受到损坏。

    攻克了上面这个错误后,datenode最终有一个了,可是我有三台datenode。应该显示3个datenode啊!接着看另外两台的日志,发现里面有大量无法连接到namenode的错误。由于我设置namenode时用的是主机名而非ip地址。看来应该是由于hosts文件设置错误。打开/etc/hosts文件,果然namenode的主机名相应地址误设为了127.0.0.1,改过来之后,再次又一次格式化hdfs,start-all。最终能看到3个datenode了。真不easy。
    总结一下,假设namenode可以成功启动,可是datenode显示为0,那么问题通常是出在datenode上。

这时候我们可曾经往datenode机器上查看/var/log/hadoop下的日志文件,里边应该会有一些错误提示,然后依据错误提示就能大体知道问题的所在。可能发生的问题无外乎下边几种:

    1、datenode机器上的hadoop后台无法启动。出现这个问题的解决办法非常多样,比方笔者这次就遇上了tmp目录中存在失效文件的问题。
    2、datenode无法与namenode通信。出现这样的问题一般都是网络设置有误,细致排查网络设置后应该就能找到解决的方法。假设datenode机器上的问题排除,那么出现这个错误也有可能是由于namenode上设置的监听地址有误造成的,能够在namenode上执行netstat命令看一看hadoop后台有没有在预期地址:port上监听。

hadoop集群搭建datenode为0问题的解决的更多相关文章

  1. Hadoop集群搭建-Hadoop2.8.0安装(三)

    一.准备安装介质 a).hadoop-2.8.0.tar b).jdk-7u71-linux-x64.tar 二.节点部署图 三.安装步骤 环境介绍: 主服务器ip:192.168.80.128(ma ...

  2. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)--------hadoop环境的搭建

    Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)------https://blog.csdn.net/pucao_cug/article/details/71698903 ...

  3. Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...

  4. 大数据 --> Hadoop集群搭建

    Hadoop集群搭建 1.修改/etc/hosts文件 在每台linux机器上,sudo vim /etc/hosts 编写hosts文件.将主机名和ip地址的映射填写进去.编辑完后,结果如下: 2. ...

  5. Linux环境下Hadoop集群搭建

    Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...

  6. Hadoop(二) HADOOP集群搭建

    一.HADOOP集群搭建 1.集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有 Na ...

  7. 1.Hadoop集群搭建之Linux主机环境准备

    Hadoop集群搭建之Linux主机环境 创建虚拟机包含1个主节点master,2个从节点slave1,slave2 虚拟机网络连接模式为host-only(非虚拟机环境可跳过) 集群规划如下表: 主 ...

  8. 三节点Hadoop集群搭建

    1. 基础环境搭建 新建3个CentOS6.5操作系统的虚拟机,命名(可自定)为masternode.slavenode1和slavenode2.该过程参考上一篇博文CentOS6.5安装配置详解 2 ...

  9. 大数据初级笔记二:Hadoop入门之Hadoop集群搭建

    Hadoop集群搭建 把环境全部准备好,包括编程环境. JDK安装 版本要求: 强烈建议使用64位的JDK版本,这样的优势在于JVM的能够访问到的最大内存就不受限制,基于后期可能会学习到Spark技术 ...

随机推荐

  1. AutoEncoder and DenoiseAutoEncoder

    AutoEncoder and DenoiseAutoEncoder 第一部分 首先我们将实现一个如上图结构的最简单的AutoEncoder. 加载数据 在这里,我们使用MNIST手写数据集来进行实验 ...

  2. python面向对象、模块讲解

    (1)模块的介绍: 1.什么是模块  模块是一系列功能的集合体  常见的模块形式(自定义模块.第三方模块.内置模块):   1.一个module.py文件就是一个模块,文件名是module.py,而模 ...

  3. 《程序员思维修炼》读书笔记——week4

    <程序员思维修炼>读书笔记——week4 PB16061441 陈昶金 这周读的是Andy Hunt的著作<程序员思维修炼>,这本书对于我这种刚刚入门的新手很友好,大多是讲一些 ...

  4. 九度oj 题目1370:数组中出现次数超过一半的数字

    题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2 ...

  5. input最大长度限制问题

    <input type="text" maxlength="5" /> //可以 <input type="number" ...

  6. bzoj 2437[Noi2011]兔兔与蛋蛋 黑白染色二分图+博弈+匈牙利新姿势

    noi2011 兔兔与蛋蛋 题目大意 直接看原题吧 就是\(n*m\)的格子上有一些白棋和一些黑棋和唯一一个空格 兔兔先手,蛋蛋后手 兔兔要把与空格相邻的其中一个白棋移到空格里 蛋蛋要把与空格相邻的其 ...

  7. bzoj 4311 向量 时间线建线段树+凸包+三分

    题目大意 你要维护一个向量集合,支持以下操作: 1.插入一个向量(x,y) 2.删除插入的第i个向量 3.查询当前集合与(x,y)点积的最大值是多少.如果当前是空集输出0 分析 按时间线建线段树 大致 ...

  8. bzoj 3456 城市规划 无向简单连通图个数 多项式求逆

    题目大意 求n个点的无向简单连通图个数 做法1 \(f[i]\)表示i个点的无向简单连通图个数 \(g[i]=2^{\frac {i*(i-1)}{2}}\)表示i个点的无向简单图个数(不要求连通) ...

  9. configure.ac:3: error: Autoconf version 2.68 or higher is required

    configure.ac:3: error: Autoconf version 2.68 or higher is required 参考博客:https://blog.csdn.net/pretty ...

  10. vscode golang配置说明

    一.vscode-go插件安装 go 1.10.2 https://golang.org/dl/ 需要墙 vscode 1.23.1 https://code.visualstudio.com/ vs ...