如何在EKS上的EMR中设置资源限制?我的驱动程序pod无法启动,因为它请求的CPU超过了允许的数量。这对我没有意义。我正在运行下面文档中的入门代码。
我添加了conf spark。驾驶员限度cores=2,以尝试使限值高于下面错误消息中列出的限值。我从这里得到了这个主意https://spark.apache.org/docs/latest/running-on-kubernetes.html#spark-属性
此群集中确实运行istio。我不确定这是否会引起问题。
下面是我正在运行的触发作业的代码
aws emr-containers start-job-run \
--virtual-cluster-id blahblah \
--name pi-4 \
--execution-role-arn arn:aws:iam::0000000000:role/blahblah_emr_eks_executor_role \
--release-label emr-6.4.0-latest \
--job-driver '{
"sparkSubmitJobDriver": {
"entryPoint": "s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py",
"entryPointArguments": ["s3://blahblah/wordcount_output"],
"sparkSubmitParameters": "--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1 --conf spark.driver.limit.cores=2"
}
}'
这会导致job runner容器出现以下故障:
状态:终止原因:错误消息:线程“main”io中出现异常。fabric8.kubernetes。客户KubernetesClientException:执行失败:POST地址:https://kubernetes.default.svc/api/v1/namespaces/spark/pods.消息:Pod“spark-0000000 2VEPBPMI2HKV驱动程序”无效:spec.containers[2]。资源。请求:无效值:“1”:必须小于或等于cpu限制。收到的状态:状态(apiVersion=v1,code=422,details=StatusDetails(原因=[状态原因(字段=spec.containers[2])。resources.requests,message=无效值:“1”:必须小于或等于cpu限制,原因=FieldValue无效,additionalProperties={})],组=null,种类=Pod,名称=spark-0000000 2VEPBPMI2HKV驱动程序,retryAfterSeconds=null,uid=null,additionalProperties={}),种类=状态,消息=Pod“spark-0000000 2VEPBPMI2HKV驱动程序”无效:spec.containers[2]。资源。请求:无效值:“1”:必须小于或等于cpu限制,元数据=ListMeta(\u continue=null,remainingItemCount=null,resourceVersion=null,selfLink=null,additionalProperties={}),原因=无效,状态=失败,additionalProperties={})。在io。fabric8.kubernetes。客户dsl。基础操作支持。requestFailure(OperationSupport.java:589)
关于如何进行有什么想法吗?
我能弄明白。
aws emr-containers start-job-run \
--virtual-cluster-id=blahblah \
--name=pi-4 \
--execution-role-arn=arn:aws:iam::blahblahaccount:role/balblah_role_name \
--release-label=emr-6.4.0-latest \
--job-driver='{
"sparkSubmitJobDriver": {
"entryPoint": "local:///usr/lib/spark/examples/src/main/python/pi.py",
"sparkSubmitParameters": "--conf spark.executor.instances=1 --conf spark.executor.memory=2G --conf spark.executor.request.cores=1 --conf spark.kubernetes.executor.limit.cores=2 --conf spark.driver.request.cores=1 --conf spark.kubernetes.driver.limit.cores=2
}
}'
看起来aws文档是错误的,配置值实际上如下所示。
但是,AWS文档让您传入conf spark。驾驶员核心=1。这个值似乎没有得到承认,我认为是这个值导致了我的错误。下面的spark配置文档提到了spark。驾驶员要求磁芯优先于火花。驾驶员cores,我认为这很有意义,因为当我传递它时,它的值被识别出来了。
https://spark.apache.org/docs/latest/running-on-kubernetes.html#configuration
我在Stack Overflow中见过很多解决方案,但没有一个对我有效。所以我得到了这个例外。我的pom。这里有xml代码 我还在tomcat/lib文件夹中添加了jar文件。但对我来说什么都不管用。
问题内容: 我正在阅读一本Java教科书,其中提到了一个称为“驱动程序类”的内容。这是什么?与普通班有什么不同? 问题答案: “驱动程序类”通常只是包含主类的类。在一个真实的项目中,您可能经常有许多“驱动程序类”用于测试等等,或者您可以在任何对象中构建主类,并通过IDE或通过简单指定“ java类名”来选择可运行类。
我的Spring Boot项目正在尝试使用驱动程序连接MYSQL数据库。我已经导入了最新的mysql驱动程序和 我已经在文件中配置了数据库连接 MYSQL版本是8.0.26 Spring启动版本2.6.2 当用Intellij运行项目时,我得到一个错误 原因:org。springframework。豆。BeanInstationException:未能实例化[com.zaxxer.hikari.H
9.17 自动驾驶 感知算法实习 一面 自我介绍 ResNet数学原理 one two stage网络代表和区别 SSD yolo Faster RCNN roi pooling和roi algin torch动态图 python装饰器 CaDDN流程 DETR流程 DETR3D deformable attention mmcv中的hook runner机制 反向传播 mAP计算 9.21 二面