内容纲要
概要描述
Sophon会话本质上是spark on yarn(yarn-client模式),一个client为sophon-base提交到 yarn 上的 spark application,可在 Yarn 服务 resourcemanager 角色 link 的8088页面查看。
问题描述:
Sophon会话/资源池启动失败,在yarn的8088页面查看报错:/usr/java/jdk1.8.0_25:No such file or directory
yarn服务找不到 java 环境目录, 类似下图
详细说明
原因
sophon的配置文件中默认配置的是/usr/java/jdk1.8.0_25, 但是现场环境中, yarn 的pod里面没有/usr/java/jdk1.8.0_25目录导致的。
解决方案
方案一
-
找到sophonbase所在节点
-
在base 所在节点将 /etc/sophon1/conf/base/spark-defaults.conf 中的spark.executorEnv.JAVA_HOME的值改成yarn 中对应的jdk 目录, 本次示例中可以将其改成 /usr/java/jdk1.8.0_25_bak
-
重启sophon base 角色和会话/资源池
方案二
由于现场环境是由于操作不规范导致的jdk 目录变化的, 故也可以修改YARN的镜像里面的JDK目录名称,更新还原镜像。
- 参照 使用 Dockerfile 更换已有镜像的文件(换包中换包步骤中的1-5步, 更新yarn的镜像
Dockerfile 内容示例如下,
FROM ${registry-hostname}:5000/transwarp/yarn:${yarn的版本}
RUN mv /usr/java/jdk1.8.0_25_bak /usr/java/jdk1.8.0_25
镜像tag 请根据实际环境修改,可使用 docker images |yarn
查看
- 重启YARN服务、sophon base 角色和会话/资源池
其他信息
如有任何其他疑问, 请关注微信公众号“星环科技服务号”,联系售后技术支持