Hadoop 2.8.5アクセスが拒否されました:user = dr.who、access = READ_EXECUTE、inode = '/ user:rootの問題が解決されました



Hadoop 2 8 5 Permission Denied



目次

まず、問題

2.分析

3、2つのソリューション

  1. 最初のオプション
  2. 2番目のオプション

4.ディスプレイ



まず、問題

Permission denied: user=dr.who, access=READ_EXECUTE, inode='/user':root:supergroup:drwx-wx-wx

画像

2.分析

ディレクトリを確認し、ブラウザでディレクトリとファイルを削除します。 dr.who、dr.whoが実際にはhadoopでのhttpアクセスの静的ユーザー名であり、特別な意味がないのはなぜですか。 core-default.xml構成で確認できます



hadoop.http.staticuser.user=dr.who

core-site.xmlを変更して、現在のユーザーとして構成できます。

<property> <name>hadoop.http.staticuser.user</name> <value>hadoop</value> </property>

さらに、hdfs hdfs-default.xmlのデフォルト構成を確認すると、hdfsがデフォルトで有効になっていることがわかります。



dfs.permissions.enabled=true #Whether to enable permission check in HDFS, the default is true

3、2つのソリューション

  1. 最初のオプション

次のように、/ userディレクトリの権限設定を直接変更します。

hdfs dfs -chmod -R 755 /user
  1. 2番目のオプション

次の構成をHadoop構成ファイルcore-site.xmlに追加します。

<!- The current user is all set to root -> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <!- Do not enable permission check -> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property>

4.ディスプレイ

画像hive_structファイルが削除されました
画像