我想使用Kubernetes作为Spark的资源管理器。
所以我想用spark-submit
提交一个jar到spark cluster:
./bin/spark-submit \
--master k8s://https://vm13:6443 \
--class com.example.WordCounter \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=default \
--conf spark.kubernetes.container.image=private-docker-registery/spark/spark:3.2.1-3 \
--conf spark.kubernetes.namespace=default \
--conf spark.kubernetes.authenticate.submission.oauthToken=$TOKEN \
--conf spark.kubernetes.authenticate.caCertFile=api.cert \
java-word-count-1.0-SNAPSHOT.jar
对于服务帐户:
第一个
对于caCertFile,我使用了/etc/kubernetes/pki/apiserver.crt
内容。
和提交。oauthToken:kubectl get secret spark-token-86tns -o yaml | grep token
并使用令牌部分。
但仍然不工作,并且出现pods is forbidden: User "system:anonymous" cannot watch resource "pods" in API group "" in the namespace "default"
错误
1条答案
按热度按时间sr4lhrrt1#
spark.kubernetes.authenticate.caCertFile
必须是service account
证书且
spark.kubernetes.authenticate.submission.oauthToken
也必须是service account
令牌。证书和令牌都可以在服务帐户秘密中找到。
service account
证书和令牌(base64 -d)。