Spark for kubernetes-Azure BlobStorageの認証情報の問題

オスカーブニラ

アプリのjarファイルがAzureBlob Storageコンテナーに保存されているときに、Spark for kubernetesを実行しようとすると、次の問題が発生します

2018-10-18 08:48:54 INFO  DAGScheduler:54 - Job 0 failed: reduce at SparkPi.scala:38, took 1.743177 s
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 6, 10.244.1.11, executor 2): org.apache.hadoop.fs.azure.AzureException: org.apache.hadoop.fs.azure.AzureException: No credentials found for account datasets83d858296fd0c49b.blob.core.windows.net in the configuration, and its container datasets is not accessible using anonymous credentials. Please check if the container exists first. If it is not publicly available, you have to provide account credentials.
    at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.createAzureStorageSession(AzureNativeFileSystemStore.java:1086)
    at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.initialize(AzureNativeFileSystemStore.java:538)
    at org.apache.hadoop.fs.azure.NativeAzureFileSystem.initialize(NativeAzureFileSystem.java:1366)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3242)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:121)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3291)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3259)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:470)
    at org.apache.spark.util.Utils$.getHadoopFileSystem(Utils.scala:1897)
    at org.apache.spark.util.Utils$.doFetchFile(Utils.scala:694)
    at org.apache.spark.util.Utils$.fetchFile(Utils.scala:476)
    at org.apache.spark.executor.Executor$$anonfun$org$apache$spark$executor$Executor$$updateDependencies$5.apply(Executor.scala:755)
    at org.apache.spark.executor.Executor$$anonfun$org$apache$spark$executor$Executor$$updateDependencies$5.apply(Executor.scala:747)
    at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
    at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
    at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
    at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230)
    at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
    at scala.collection.mutable.HashMap.foreach(HashMap.scala:99)
    at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
    at org.apache.spark.executor.Executor.org$apache$spark$executor$Executor$$updateDependencies(Executor.scala:747)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.hadoop.fs.azure.AzureException: No credentials found for account datasets83d858296fd0c49b.blob.core.windows.net in the configuration, and its container datasets is not accessible using anonymous credentials. Please check if the container exists first. If it is not publicly available, you have to provide account credentials.
    at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.connectUsingAnonymousCredentials(AzureNativeFileSystemStore.java:863)
    at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.createAzureStorageSession(AzureNativeFileSystemStore.java:1081)
    ... 24 more

ジョブを起動するために使用するコマンドは次のとおりです。

/opt/spark/bin/spark-submit
    --master k8s://<my-k8s-master>
    --deploy-mode cluster
    --name spark-pi
    --class org.apache.spark.examples.SparkPi
    --conf spark.executor.instances=5
    --conf spark.kubernetes.container.image=<my-image-built-with-wasb>
    --conf spark.kubernetes.namespace=<my-namespace>
    --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark
    --conf spark.kubernetes.driver.secrets.spark=/opt/spark/conf
    --conf spark.kubernetes.executor.secrets.spark=/opt/spark/conf
wasb://<my-container-name>@<my-account-name>.blob.core.windows.net/spark-examples_2.11-2.3.2.jar 10000

spark次の内容で名前が付けられたk8sシークレットがあります。

apiVersion: v1
kind: Secret
metadata:
  name: spark
  labels:
    app: spark
    stack: service
type: Opaque
data:
  core-site.xml: |-
    {% filter b64encode %}
    <configuration>
        <property>
            <name>fs.azure.account.key.<my-account-name>.blob.core.windows.net</name>
            <value><my-account-key></value>
        </property>
        <property>
            <name>fs.AbstractFileSystem.wasb.Impl</name>
            <value>org.apache.hadoop.fs.azure.Wasb</value>
        </property>
    </configuration>
    {% endfilter %}

ドライバーポッドは、Azure BlobStorageのコンテナーに格納されているjarの依存関係をダウンロードすることができます。このログスニペットに見られるように:

2018-10-18 08:48:16 INFO  Utils:54 - Fetching wasb://<my-container-name>@<my-account-name>.blob.core.windows.net/spark-examples_2.11-2.3.2.jar to /var/spark-data/spark-jars/fetchFileTemp8575879929413871510.tmp
2018-10-18 08:48:16 INFO  SparkPodInitContainer:54 - Finished downloading application dependencies.

core-site.xmlk8sシークレットからマウントされたファイルに保存されている資格情報を取得するためにエグゼキュータポッドを取得するにはどうすればよいですか?何が足りないのですか?

オスカーブニラ

次の設定をspark-submitに追加することで解決しました

--conf spark.hadoop.fs.AbstractFileSystem.wasb.Impl=org.apache.hadoop.fs.azure.Wasb
--conf spark.hadoop.fs.azure.account.key.${STORAGE_ACCOUNT_NAME}.blob.core.windows.net=${STORAGE_ACCOUNT_KEY}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azure BlobStorageへのAngularJSadal認証

分類Dev

関数 Azure Powershell に資格情報を渡す際の問題

分類Dev

Kubernetes pythonクライアント:認証の問題

分類Dev

AWSCognito-認証情報の問題

分類Dev

Azure Data Factory-invalid_grantの認証に関する問題

分類Dev

Azure KubernetesServiceからAzureContainerRegistryで認証する際の問題

分類Dev

Azure BlobStorageへのFTP

分類Dev

Spark groupByOutOfMemoryの問題

分類Dev

Spark送信の問題

分類Dev

Kubernetesの単純な認証

分類Dev

PythonからのkubernetesクラスターでのSpark送信(2.3)

分類Dev

Azure Kubernetes-Azure MonitorとSidecarLogshipping?

分類Dev

Azure BlobStorageへのGETリクエストの実行中に認証に失敗しました[RESTAPI] [Azure Blob Storage]

分類Dev

Kubernetes NGINX IngressTLSの問題

分類Dev

Kubernetesポッドの問題

分類Dev

Kubernetes api / dashboardの問題

分類Dev

Azure Batch REST API、承認の問題

分類Dev

Azure WebアプリLinuxのFTP認証情報はどこにありますか?

分類Dev

Azure Maps 403「アクセス許可、容量、または認証の問題。」

分類Dev

Azure BlobStorageでのCloudFlareCDNの使用

分類Dev

Spark job in Kubernetes stuck in RUNNING state

分類Dev

Mongooseで認証資格情報を保存する際の問題

分類Dev

Azure Kubernetes Service(AKS)でのDaskKubernetesのビッグデータの操作

分類Dev

Azure NetworkingActiveFTPの問題

分類Dev

Azure ContainerServiceのKubernetesバージョンの指定

分類Dev

Azure BlobStorageの負荷分散

分類Dev

Kubernetesクラスターx509:証明書の問題

分類Dev

kubernetes入力TLS検証とリダイレクトの問題

分類Dev

Azure kubernetes-複数のゾーンに分散できますか?

Related 関連記事

  1. 1

    Azure BlobStorageへのAngularJSadal認証

  2. 2

    関数 Azure Powershell に資格情報を渡す際の問題

  3. 3

    Kubernetes pythonクライアント:認証の問題

  4. 4

    AWSCognito-認証情報の問題

  5. 5

    Azure Data Factory-invalid_grantの認証に関する問題

  6. 6

    Azure KubernetesServiceからAzureContainerRegistryで認証する際の問題

  7. 7

    Azure BlobStorageへのFTP

  8. 8

    Spark groupByOutOfMemoryの問題

  9. 9

    Spark送信の問題

  10. 10

    Kubernetesの単純な認証

  11. 11

    PythonからのkubernetesクラスターでのSpark送信(2.3)

  12. 12

    Azure Kubernetes-Azure MonitorとSidecarLogshipping?

  13. 13

    Azure BlobStorageへのGETリクエストの実行中に認証に失敗しました[RESTAPI] [Azure Blob Storage]

  14. 14

    Kubernetes NGINX IngressTLSの問題

  15. 15

    Kubernetesポッドの問題

  16. 16

    Kubernetes api / dashboardの問題

  17. 17

    Azure Batch REST API、承認の問題

  18. 18

    Azure WebアプリLinuxのFTP認証情報はどこにありますか?

  19. 19

    Azure Maps 403「アクセス許可、容量、または認証の問題。」

  20. 20

    Azure BlobStorageでのCloudFlareCDNの使用

  21. 21

    Spark job in Kubernetes stuck in RUNNING state

  22. 22

    Mongooseで認証資格情報を保存する際の問題

  23. 23

    Azure Kubernetes Service(AKS)でのDaskKubernetesのビッグデータの操作

  24. 24

    Azure NetworkingActiveFTPの問題

  25. 25

    Azure ContainerServiceのKubernetesバージョンの指定

  26. 26

    Azure BlobStorageの負荷分散

  27. 27

    Kubernetesクラスターx509:証明書の問題

  28. 28

    kubernetes入力TLS検証とリダイレクトの問題

  29. 29

    Azure kubernetes-複数のゾーンに分散できますか?

ホットタグ

アーカイブ