由于hadoop节点的磁盘满了,导致节点死掉,今天对其进行扩容。首先,将原节点的数据拷贝到目标节点下,从而避免数据的丢失,但是在执行hadoop_daemon.sh start datanode后没有启动datanode,查看log如下:

2014-04-17 11:44:06,200 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission
for /hadoop_data/hadoop/hdfs/data/hadoop-hadoop, expected: rwxr-xr-x, while actual: rwxrwxr-x

2014-04-17 11:44:06,200 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid.

2014-04-17 11:44:06,201 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode

2014-04-17 11:44:06,202 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 

注意到:2014-04-17 11:44:06,200 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:
Invalid directory in dfs.data.dir: Incorrect permission for /hadoop_data/hadoop/hdfs/data/hadoop-hadoop, expected: rwxr-xr-x, while actual: rwxrwxr-x

于是网上找资料,看到只要按提示修改这个权限就ok了。原因:多了用户组的写权限能造成集群系统的无法启动。

于是,执行以下命令:
chmod
g-w /hadoop_data/hadoop/hdfs/data/hadoop-hadoop
结果该命令没有起作用,怪事!!!
百思不得其解,想到肯定是该目录做了权限设置不让修改。于是联系公司运维人员,才知/hadoop_data是个nas盘挂载点,哎,无语的nas。

最后,在来回顾以下为何会出现这个状况?首先,我的datanode新的数据存储位置/hadoop_data下的数据是从原来的位置/data_hadoop下copy过来的,这样的话正常情况是权限不会变的,hadoop肯定是不存在权限的问题。所以可见都是nas惹的货,它将原来的drwxr-xr-x权限给我改为了drwxrwxr-x,从而出现了datanode启动不了的麻烦!!



hadoop datanode启动失败(All directories in dfs.data.dir are invalid)的更多相关文章

  1. Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid)

    Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid) java.io.IOException: All director ...

  2. hadoop datanode启动失败

    问题导读: 1.Hadoop出现问题时,该如何入手查看问题?2.datanode无法启动,我们该怎么解决?3.如何动态加入DataNode或TaskTracker? 一.问题描述当我多次格式化文件系统 ...

  3. namenode和datanode启动失败

    1.namenode启动失败,查看错误原因,是无法格式化,再看日志,根据日志提示,清空对应的目录,即可解决这个问题. 2.datanode启动失败: Can't open /var/run/cloud ...

  4. datanode启动失败

    当我动态加入一个hadoop从节点的之后,出现了一个问题: [root@hadoop current]# hadoop-daemon.sh start datanode starting datano ...

  5. HDFS读写数据块--${dfs.data.dir}选择策略

    最近工作需要,看了HDFS读写数据块这部分.不过可能跟网上大部分帖子不一样,本文主要写了${dfs.data.dir}的选择策略,也就是block在DataNode上的放置策略.我主要是从我们工作需要 ...

  6. hadoop datanode 启动出错

    FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block po ...

  7. hadoop namenode启动失败

    hadoop version=3.1.2 生产环境中,一台namenode节点突然挂掉了,,重新启动失败,日志如下: Info=-64%3A1391355681%3A1545175191847%3AC ...

  8. hadoop datanode 启动正常,但master无法识别(50030不显示datanode节点)

    start-all.sh 启动 坑爹 找不出错 试了各种办法,重新formaet 查看 集群ID是否相同.都无效 日志也没看到错 按官网方法手动一步步启,问题照旧 master节点,yarn name ...

  9. hadoop 之 某一个datanode启动失败(Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to)

    环境 集群7台 master 3台 datanode 4台 每个datanode有12个硬盘 场景 启动集群之后,发现有一台datanode未启动,手动启动,还是未启动.查看日志,发现: Initia ...

随机推荐

  1. Laravel 5.1 简单学习

    Laravel 5.1 简单学习 (1)Laravel的nginx配置,不配置或者配置错误,可能会报404或500错误,访问不到页面. location / { try_files $uri $uri ...

  2. Docker安装运行Redis

    Mac环境 查询镜像: zhoumatoMBP:~ zhou$ docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis ...

  3. 词法分析器 /c++实现

    #include<iostream> #include<string> #include<vector> #include<map> #include& ...

  4. BeagleBone Black Industrial 工业版介绍

    前言 在电子发烧友论坛看到有Beaglebone Black Industrial版的试用,这里介绍一下这块开发板. BBB是开源硬件,原理图.BOM等都开放下载,所以也有诸多兼容板. BBB兼容产品 ...

  5. [BLE]CC2640之ADC功能实现和供电电压的採集

    一.开篇 Write programs that do one thing and do it well ~~~~~ 发现非常多人关于使用CC2640/CC2650的过程中比較难以应对的问题就是实现A ...

  6. Our happy ending

    题目链接 题意: 输入n.k.L,n个数,最大值不超过L,在序列中取若干个数和能达到k的序列个数 n,k<=20 , 0<=L<=10^9 分析: 题目关键在于和k比較小,所以能够考 ...

  7. js跳出循环的方法区别( break, continue, return ) 及 $.each 的(return true 和 return false)

    js编程语法之break语句: break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句. 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的 ...

  8. 利用卷积神经网络(CNN)构造社区问答系统

    /* 版权声明:能够随意转载,转载时请标明文章原始出处和作者信息 .*/                                                     author: 张俊林 ...

  9. js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点

    <pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx&qu ...

  10. android 编程小技巧(持续中)

    first:     Intent跳转一般存用于Activity类,可是若要在非activity类里跳转的话,解决方法是在startActivity(intent)前加mContext即上下文,终于为 ...