这是我在EKS群集上部署Spark作业时收到的错误消息的日志。
使用嵌入到Docker镜像Alpine 3.9中的Spark 2.4.2。
你有什么想法吗?
谢谢
++ id -u
+ myuid=0
++ id -g
+ mygid=0
++ getent passwd 0
+ uidentry=root:x:0:0:root:/root:/bin/ash
+ '[' -z root:x:0:0:root:/root:/bin/ash ']'
+ SPARK_K8S_CMD=driver
+ '[' -z driver ']'
+ shift 1
+ SPARK_CLASSPATH=':/opt/spark/jars/*'
+ env
+ grep SPARK_JAVA_OPT_
+ sort -t_ -k4 -n
+ sed 's/[^=]*=\(.*\)/\1/g'
+ readarray -t SPARK_JAVA_OPTS
+ '[' -n '' ']'
+ '[' -n '' ']'
+ case "$SPARK_K8S_CMD" in
+ CMD=(${JAVA_HOME}/bin/java "${SPARK_JAVA_OPTS[@]}" -cp "$SPARK_CLASSPATH" -Xms$SPARK_DRIVER_MEMORY -Xmx$SPARK_DRIVER_MEMORY -Dspark.driver.bindAddress=$SPARK_DRIVER_BIND_ADDRESS $SPARK_DRIVER_CLASS $SPARK_DRIVER_ARGS)
+ exec /sbin/tini -s -- /usr/lib/jvm/java-1.8-openjdk/bin/java -cp ':/opt/spark/jars/*' -Xms -Xmx -Dspark.driver.bindAddress=xxx.xxx.xxx.xxx
Invalid initial heap size: -Xms
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
最佳答案
您既没有为最小/初始堆(-Xms
)设置任何值,也没有为最大堆(-Xmx
)设置任何值。
这里:
(...) ':/opt/spark/jars/*' -Xms -Xmx -Dspark.driver.bindAddress=xxx.xxx.xxx.xxx (...)
该错误告诉您Xms参数的值不正确:
Invalid initial heap size: -Xms
(因为没有值)。用有效值填充这些参数,然后重试。您可以将其设置为MB(
(-Xms512M, -Xmx1024M
)或GB(-Xms1G, -Xmx2G
)。只是一些示例,请检查主机和JVM以指定正确的值。
关于java - 无效的初始堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58005794/