[解決済み] HDFSのHiveプロキシユーザーの最適なソリューションは何ですか?
質問内容
HDFSとHiveのproxyuserの設定が非常にわかりにくいです。hive-site.xmlのdoAsオプションは有効にしています。
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
そして、core-site.xmlのproxyuser。
<property>
<name>hadoop.proxyuser.hdfs.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hdfs.groups</name>
<value>*</value>
</property>
しかし、これでは原因になります。
2017-03-29 16:24:59,022 INFO org.apache.hadoop.ipc.Server: Connection from 172.16.0.239:60920 for protocol org.apache.hadoop.hdfs.protocol.ClientProtocol is unauthorized for user hive (auth:PROXY) via hive (auth:SIMPLE)
2017-03-29 16:24:59,023 INFO org.apache.hadoop.ipc.Server: Socket Reader #1 for port 9000: readAndProcess from client 172.16.0.239 threw exception [org.apache.hadoop.security.authorize.AuthorizationException: User: hive is not allowed to impersonate hive]
コアサイト.xmlは他のサービスと共有されるため、全てのサービスがハイブとしてHDFSにアクセスするのは好ましくないので、多くの例にあるようにproxyuserをquot; hive"に設定しませんでしたが、試してみたところ、コアサイト.xmlは以下のような表示になります。
<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>
再度beelineを起動したところ、今度はログインは問題ないのですが、コマンド実行時にyarnが例外を発生させました。
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Permission denied: user=hive, access=WRITE, inode="/user/yarn/hive/.staging":hdfs:supergroup:drwxr-xr-x
Proxyuser "hive" は "hdfs" によって所有されている staging フォルダから拒否されました。私は、HDFSに保護を与えながら、フォルダを皆に開放する意味がないので、stagingフォルダに777を与えることは良い考えだとは思いません。だから私の質問は、Hive、Hdfs、およびYarnの間の権限を設定するための最良の解決策は何ですか?
Hadoopのパーミッションは私にとって悪夢です、助けてください。
どうすればいいですか?
にプロキシユーザーのエントリーを追加する。
core-site.xml
というスーパーユーザが
hive
を使えば、どのホストからでも接続できます(値が
*
) 任意のグループに所属するユーザになりすますことができます (値は
*
).
<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>
これは、実際のホスト名やグループ名を渡すことで、より制限を強めることができます(Refer
スーパーユーザ
). スーパーユーザのアクセス権限
hive
がFS上で持っているものは、なりすましユーザーにも適用されます。
複数ユーザーのHadoop環境では、スーパーユーザーごとに専用のディレクトリを作成し、そこにファイルを保存するよう関連サービスを設定するのがベストプラクティスでしょう。そして、グループ
supergroup
必要であれば、ファイルに対してグループレベルのアクセス権を与えることができます。
このプロパティを
hdfs-site.xml
を使用してスーパーグループを設定します。
<property>
<name>dfs.permissions.superusergroup</name>
<value>supergroup</value>
<description>The name of the group of super-users.</description>
</property>
関連
-
[解決済み] Apache Hive 小数点以下2桁に四捨五入する方法は?
-
[解決済み] コマンドプロンプトからHiveとHadoopのバージョンを知るには?
-
[解決済み] HADOOPでワード数を値でソートする方法は?[重複している]。
-
[解決済み] Hive - 現在使用している実行エンジンを知る方法
-
[解決済み] Hive - Hiveサービスのクラスパスを印刷する方法
-
[解決済み] HiveのRANK OVER機能
-
[解決済み] Pig:FLATTENキーワード
-
[解決済み] hadoop の -libjars に関する問題
-
[解決済み] Facebookのデータ分析ツール「HiPal」とは、どのようなものなのか?
-
[解決済み] HiveにStringのsplit関数はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜHiveのFetchタスクはMapのみのタスクより速く動作するのですか?
-
[解決済み] Apache Hive 小数点以下2桁に四捨五入する方法は?
-
[解決済み] Hadoop-Hiveからテーブルを削除/トランケートする方法は?
-
[解決済み] HbaseのcheckAndPutとcheckAndMutateの違いは何ですか?
-
[解決済み] コマンドプロンプトからHiveとHadoopのバージョンを知るには?
-
[解決済み] HDFSのHiveプロキシユーザーの最適なソリューションは何ですか?
-
[解決済み] HiveのRANK OVER機能
-
[解決済み] curl で --negotiate を使用する場合、keytab ファイルは必要ですか?
-
[解決済み] Hiveで日付の差を計算する方法
-
[解決済み] HiveにStringのsplit関数はありますか?