次の方法で共有


HDFS のアクセス許可を復元する

重要

Microsoft SQL Server 2019 ビッグ データ クラスターのアドオンは廃止されます。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日に終了します。 ソフトウェア アシュアランス付きの SQL Server 2019 を使用する既存の全ユーザーはプラットフォームで完全にサポートされ、ソフトウェアはその時点まで SQL Server の累積更新プログラムによって引き続きメンテナンスされます。 詳細については、お知らせのブログ記事と「Microsoft SQL Server プラットフォームのビッグ データ オプション」を参照してください。

HDFS アクセス制御リスト (ACL) の変更は、HDFS の /system フォルダーと /tmp フォルダーに影響を与えた可能性があります。 ACL の変更の最も可能性の高い原因は、ユーザーがフォルダー ACL を手動で操作することです。 /system フォルダーと /tmp/logs フォルダー内のアクセス許可を直接変更することはサポートされていません。

症状

SPARK ジョブは ADS を介して送信され、SparkContext 初期化エラーと AccessControlException で失敗します。

583 ERROR spark.SparkContext: Error initializing SparkContext.
org.apache.hadoop.security.AccessControlException: Permission denied: user=<UserAccount>, access=WRITE, inode="/system/spark-events":sph:BDCAdmin:drwxr-xr-x

Yarn UI には、KILLED 状態のアプリケーション ID が表示されます。

ドメイン ユーザーとしてフォルダーに書き込もうとすると、エラーも発生します。 次の例を使用してテストできます。

kinit <UserAccount>
hdfs dfs -touch /system/spark-events/test
hdfs dfs -rm /system/spark-events/test

原因

BDC ユーザー ドメイン セキュリティ グループの HDFS ACL が変更されました。 可能な変更には、/system フォルダーと /tmp フォルダーの ACL が含まれていました。 これらのフォルダーの変更はサポートされていません。

Livy ログの効果を確認します。

INFO utils.LineBufferedStream: YYYY-MM-DD-HH:MM:SS,858 INFO yarn.Client: Application report for application_1580771254352_0041 (state: ACCEPTED)
...
WARN rsc.RSCClient: Client RPC channel closed unexpectedly.
INFO interactive.InteractiveSession: Failed to ping RSC driver for session <ID>. Killing application

YARN UI には、アプリケーション ID の KILLED 状態のアプリケーションが表示されます。

RPC 接続の終了の根本原因を取得するには、アプリケーションに対応するアプリの YARN アプリケーション ログを確認します。 前の例では、 application_1580771254352_0041を参照しています。 kubectlを使用して sparkhead-0 ポッドに接続し、次のコマンドを実行します。

次のコマンドは、アプリケーションの YARN ログを照会します。

yarn logs -applicationId application_1580771254352_0041

次の結果では、ユーザーのアクセス許可が拒否されます。

YYYY-MM-DD-HH:MM:SS,583 ERROR spark.SparkContext: Error initializing SparkContext.
org.apache.hadoop.security.AccessControlException: Permission denied: user=user1, access=WRITE, inode="/system/spark-events":sph:BDCAdmin:drwxr-xr-x

原因は、BDC ユーザーが HDFS ルート フォルダーに再帰的に追加された可能性があります。 これが既定のアクセス許可に影響を与えた可能性があります。

解決策

次のスクリプトを使用してアクセス許可を復元します。管理者と kinit を使用します。

hdfs dfs -chmod 733 /system/spark-events
hdfs dfs -setfacl --set default:user:sph:rwx,default:other::--- /system/spark-events
hdfs dfs -setfacl --set default:user:app-setup:r-x,default:other::--- /system/appdeploy
hadoop fs -chmod 733 /tmp/logs
hdfs dfs -setfacl --set default:user:yarn:rwx,default:other::--- /tmp/logs