hadoop 用戶創建data目錄時 DataNode無法啓動

場景:Centos 6.4 X64

     hadoop 0.20.205

配置文件

hdfs-site.xml

    <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/hdfs/name</value>
</property>

<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hdfs/data</value>
</property>


<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>


在創建dfs.data.dir所用的data目錄時,直接用hadoop用戶創建,

mkidr -p /usr/local/hdoop/hdfs/data

然後,格式化,啓動時,namenode節點都可以啓動

在Datanode上執行jps時,

[hadoop@DataNode1 local]# jps
6763 TaskTracker
6816 Jps

沒有datanode的進程,不論怎麼格式化,都無法使DataNode進程出現

後面,去查看DataNode1節點上的日誌

2013-04-10 20:50:49,100 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission for /usr/local/hadoop/hdfs/data, expected: rwxr-xr-x, while actual: rwxrwxr-x
2013-04-10 20:50:49,100 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid.

提示權限不符合要求

chmod 755 /usr/local/hadoop/hdfs/data

重新啓動

[hadoop@DataNode1 data]$ jps
7398 TaskTracker
7291 DataNode
7707 Jps


DataNode出現

爲了覈實root用戶和hadoop用戶的創建文件夾的區別

[root@NameNode home]# mkdir data
[root@NameNode home]# ll
總用量 24
drwxr-xr-x. 2 root   root    4096 4月  10 21:03 data
drwx------. 5 hadoop hadoop  4096 4月  10 20:45 hadoop
drwx------. 2 root   root   16384 4月   8 09:28 lost+found

可以看到,root用戶創建的文件夾權限符合要求

再用hadoop用戶創建一個文件夾

[hadoop@NameNode ~]$ mkdir name
[hadoop@NameNode ~]$ ll
總用量 4
drwxrwxr-x. 2 hadoop hadoop 4096 4月  10 21:04 name
[hadoop@NameNode ~]$ 

權限變了,造成DataNode無法啓動。

結語:開始爲了不用修改文件夾的屬主,就直接用hadoop用戶創建文件夾,結果因權限的問題,造成DataNode無法啓動。

收穫:1、瞭解了不同用戶組權限的不同,

           2、遇到問題,一定要刨根問底,不能似是而非,否則,浪費了時間,自己卻一知半解,這種狀態是最壞的狀態。

           3、多查看日誌,從日誌中發現問題。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章