Hodoop配置中遇到的問題

摸魚2023發表於2018-06-14

1.該異常是向hadoop寫入目錄是遇到異常//已解決

```

Exception in thread "main" org.apache.hadoop.security.AccessControlException: 
Permission denied: user=Administrator, access=WRITE, inode="/":root:supergroup:drwxr-xr-x複製程式碼

```

解決方案

向hdfs-site中新增如下程式碼

重啟叢集有效

```

<property>
  <name>dfs.permissions</name>
  <value>false</value>
//以下可以省略
  <description>//描述
    If "true", enable permission checking in HDFS.
    If "false", permission checking is turned off,
    but all other behavior is unchanged.
    Switching from one parameter value to the other does not change the mode,
    owner or group of files or directories.
  </description>
</property>複製程式碼

```

2.總是有datanode顯示不出來//已解決

問題是直接拷貝映象造成兩臺DataNode的storageID出現了衝突;

解決方案:直接將出現異常的那臺機器的data目錄刪除!data目錄在hdfs-site.xml裡 ,一般在${hadoop.tmp.dir}/dfs/data下

3.namenode無法啟動datanode //已解決

問題:Namenode上namespaceID與datanode上namespaceID不一致。


原因:每次namenode format會重新建立一個namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的資料,但是沒有清空datanode下的資料,導致啟動時失敗,所要做的就是每次fotmat前,清空tmp一下 的所有目錄



解決方案:把配置檔案中dfs.data.dir在本地系統的路徑下的current/VERSION檔案中的clusterID改為與dfs.name.dir在本地系統的路徑下的current/VERSION檔案中的clusterID一樣。

注意:把namenode與datanode設為一致也可以(只改namenode),但會清空namenode;


相關文章