Alpine linux docker 上的 apache-spark 启动错误

标签 apache-spark docker alpine

*我关注了 https://www.anchormen.nl/spark-docker/
当我执行命令时,apache 启动失败,说“--”不被识别。
我对 spark 很陌生。向我们值得信赖的社区成员寻求帮助。

bash /opt/spark/sbin/start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark--org.apache.spark.deploy.master.Master-1-e6b8f9219a40.out
failed to launch: nice -n 0 /opt/spark/bin/spark-class org.apache.spark.deploy.master.Master --host e6b8f9219a40 --port 7077 --webui-port 8080
  nohup: can't execute '--': No such file or directory
full log in /opt/spark/logs/spark--org.apache.spark.deploy.master.Master-1-e6b8f9219a40.out

*
与文章的唯一区别是我使用了 alpine linux,仅限于。

验证我试图cat日志文件..并得到了同样的错误。 docker 中的 alpine linux 无法识别“--”。我做错了什么吗?

[已解决] 谢谢罗伯特。

如果有人在寻找答案,请在您的 docker-file 中添加以下内容
RUN apk update && apk upgrade && apk add curl ca-certificates tar supervisor bash procps coreutils

最佳答案

您的问题在此 line

问题是alpine图片自带 busybox ,它替代了许多命令,包括 nohupps .所以 alpine 带有一个非 gnu nohup无法处理的 -- , 和 ps无法处理 -p .

所以,安装 coreutilsprocps在任何调用 apache spark 脚本之前安装软件包以获得 nohup 的版本和 ps你需要的。

在 Dockerfile 或容器命令行中:

RUN apk --update add coreutils procps

关于 Alpine linux docker 上的 apache-spark 启动错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576787/

相关文章:

scala - 如何关闭 Apache Spark 2 中生成代码的日志记录?

docker - 如何使用 CoreOS 的舰队构建有状态的 docker 服务架构?

docker - 如何在docker compose版本: >= 3?中启用IPv6

docker - 从kubernetes/Docker中的Pod/容器执行,通过不包含预安装bash的镜像创建

docker - 为什么执行 Golang 可执行文件的 docker 容器在启动后立即挂起?

python - 如何合并 pyspark 和 pandas 数据框

apache-spark - 在 Spark 中导入具有不同列数的文本文件

java - 如何在 kubernetes 环境中使用 spark 配置 beam python sdk

docker - Kubernetes部署中的Docker基本镜像更新

python - 在 alpine docker 容器中安装 multidict 时如何修复 gcc 错误?