Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Die Big Data Cluster von Microsoft SQL Server 2019 werden eingestellt. Der Support für SQL Server 2019 Big Data Cluster endete am 28. Februar 2025. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und den Big Data-Optionen auf der Microsoft SQL Server-Plattform.
Änderungen der HDFS-Zugriffssteuerungslisten (Access Control Lists, ACLs) könnten die /system und /tmp Ordner in HDFS betroffen haben. Die wahrscheinlichste Ursache für die ACL-Änderung ist ein Benutzer, der die Ordner-ACLs manuell bearbeitet. Das direkte Ändern von Berechtigungen im Ordner "/system" und "/tmp/logs" wird nicht unterstützt.
Symptom
Ein Spark-Job wird über ADS eingereicht und schlägt mit SparkContext-Initialisierungsfehler und AccessControlException fehl.
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
Die Yarn-Benutzeroberfläche zeigt die Anwendungs-ID im STATUS "GETÖTET" an.
Wenn Sie versuchen, als Domänenbenutzer in den Ordner zu schreiben, schlägt er ebenfalls fehl. Sie können das folgende Beispiel testen:
kinit <UserAccount>
hdfs dfs -touch /system/spark-events/test
hdfs dfs -rm /system/spark-events/test
Cause
Die HDFS-ACLs wurden für die Sicherheitsgruppe der BDC-Benutzerdomäne modifiziert. Mögliche Änderungen enthielten ACLs für /system- und /tmp-Ordner. Änderungen dieser Ordner werden nicht unterstützt.
Überprüfen Sie den Effekt in den Livy-Protokollen:
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
Die YARN-Benutzeroberfläche zeigt Anwendungen mit dem Status "KILLED" für die Anwendungs-ID an.
Um die Ursache für das Schließen der RPC-Verbindung zu ermitteln, überprüfen Sie das YARN-Anwendungsprotokoll für die entsprechende Anwendung. Im vorherigen Beispiel bezieht es sich auf application_1580771254352_0041. Verwenden Sie kubectl, um eine Verbindung zum Sparkhead-0-Pod herzustellen und diesen Befehl auszuführen:
Der folgende Befehl fragt das YARN-Protokoll für die Anwendung ab.
yarn logs -applicationId application_1580771254352_0041
In den Ergebnissen unten wird die Berechtigung für den Benutzer verweigert.
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
Die Ursache kann sein, dass der BDC-Benutzer rekursiv dem HDFS-Stammordner hinzugefügt wurde. Dies hat möglicherweise Auswirkungen auf die Standardberechtigungen.
Resolution
Stellen Sie die Berechtigungen mit dem folgenden Skript wieder her: Verwenden Sie kinit mit Administrator:
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