当前位置: 首页 > 知识库问答 >
问题:

如何发送一个工作在库伯内特斯的火花。无法实例化外部计划程序

司徒光霁
2023-03-14
bin/spark-submit --master k8s://https://192.168.99.101:8443 --deploy-mode cluster --name spark-test --class org.apache.spark.examples.SparkPi --conf spark.executor.instances=5 --conf spark.kubernetes.container.image=spark local:///opt/spark/examples/jars/spark-examples_2.11-2.4.0.jar

2019-03-13 18:26:57错误sparkcontext:91-初始化sparkcontext时出错。org.apache.spark.sparkexception:无法在org.apache.spark.sparkcontext$.org$apache$spark$sparkcontext$$createTaskscheduler(Sparkcontext.scala:2794)...30其他原因:io.fabric8.kubernetes.client.kubernetesclientexception:执行:GET at:https://kubernetes.default.svc/api/v1/namespaces/default/pods/spark-test-1552501611130-driver失败。消息:禁止!配置的服务帐户没有访问权限。服务帐户可能已被吊销。pods“spark-test-1552501611130-driver”被禁止:User“system:serviceaccount:default:default”无法获取命名空间“default”中API组“”中的资源“pods”。...又有30个

共有1个答案

胡俊贤
2023-03-14

您需要在Kubernetes中创建ServiceAccount。如果您从此链接下载YAML配置,就可以完成此操作

然后运行

kubectl apply -f spark-rbac.yaml

YAML文件将创建Kubernetes上的Spark所需的名称空间和ServiceAccount。但是,您还需要将spark-submit命令修改为:

bin/spark-submit --master k8s://https://192.168.99.101:8443 --deploy-mode cluster --name spark-test --class org.apache.spark.examples.SparkPi \
--conf spark.kubernetes.namespace=spark \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark-sa \
--conf spark.executor.instances=5 \
--conf spark.kubernetes.container.image=spark local:///opt/spark/examples/jars/spark-examples_2.11-2.4.0.jar
 类似资料:
  • 我正在尝试在Kubernetes集群(Azure AKS)中部署Flink作业。作业群集在启动后立即中止,但任务管理器运行正常。 docker镜像创建成功,没有任何异常。我可以运行docker镜像,也可以SSHdocker镜像。 我已经按照以下链接中提到的步骤: https://github.com/apache/flink/tree/release-1.9/flink-container/kub

  • 据我所知,作业对象应该在一定时间后收获豆荚。但是在我的GKE集群(库伯内特斯1.1.8)上,“kubectl get pods-a”似乎可以列出几天前的豆荚。 所有这些都是使用乔布斯API创建的。 我确实注意到在使用 kubectl 删除作业后,pod 也被删除了。 我在这里主要担心的是,我将在批量作业中在集群上运行成千上万个pod,并且不想让内部待办系统过载。

  • 我想使用CronJob在Kubernetes内部运行一个shell脚本,下面是我的CronJon.yaml文件: CronJob已被创建(kubectl apply -f CronJob.yaml)当我获得CronJob的列表时,我可以看到cron job ( kubectl get cj ),当我运行“kubectl get pods”时,我可以看到pod正在被创建,但是pod崩溃了。谁能帮我学

  • 我只是在本地mac上使用mini kube设置kubernetes。 创建了一个类型为NodePort的服务,并且能够使用url

  • 我只是想知道如何手动设置库伯内特斯Web仪表板使用的外部endpoint。 创建名称空间kube系统后,我运行了以下操作: 是否有一个标志可以用来指定外部访问使用哪个tcp端口?据我所知,这只是随机分配一个。我已经查看了留档,但我很难找到解决方案。如果有任何帮助,将不胜感激。

  • 我最近看到一个pull请求被合并到Apache/Spark存储库中,该存储库显然为K8s上的PySpark添加了初始Python绑定。我在公关上发表了一条评论,问了一个关于如何在Python Jupyter笔记本中使用spark-on-k8s的问题,并被告知在这里问我的问题。 我的问题是: 有没有办法使用PySpark的主控设置为