CDH5.11自带的是spark1.6,在把spark升级到2.2之后,添加服务,执行服务 Spark 2 上的命令 部署客户端配置阶段报错。
“客户端配置 (id=2) 已使用 1 退出,而预期值为 0
查看日志:
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/
Using -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/spark2_on_yarn_spar1957cecc-SPARK2_YARN_HISTORY_SERVER-e5a7ed032e536edfeee0ba8f_pid17633.hprof -XX:OnOutOfMemoryError=/opt/cm-5.11.0/lib64/cmf/service/common/killparent.sh as CSD_JAVA_OPTS
Using /opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER as conf dir
Using scripts/control.sh as process script
CONF_DIR=/opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER
CMF_CONF_DIR=/opt/cm-5.11.0/etc/cloudera-scm-agent
Tue Dec 26 10:05:54 CST 2017: Running Spark2 CSD control script…
Tue Dec 26 10:05:54 CST 2017: Detected CDH_VERSION of [5]
Java version 1.8 is required for Spark 2.2.
Tue Dec 26 10:05:55 CST 2017
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/
Using -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/spark2_on_yarn_spar1957cecc-SPARK2_YARN_HISTORY_SERVER-e5a7ed032e536edfeee0ba8f_pid17704.hprof -XX:OnOutOfMemoryError=/opt/cm-5.11.0/lib64/cmf/service/common/killparent.sh as CSD_JAVA_OPTS
Using /opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER as conf dir
Using scripts/control.sh as process script
CONF_DIR=/opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER
CMF_CONF_DIR=/opt/cm-5.11.0/etc/cloudera-scm-agent
Tue Dec 26 10:05:56 CST 2017: Running Spark2 CSD control script…
Tue Dec 26 10:05:56 CST 2017: Detected CDH_VERSION of [5]
Tue Dec 26 10:05:58 CST 2017
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/
Using -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/spark2_on_yarn_spar1957cecc-SPARK2_YARN_HISTORY_SERVER-e5a7ed032e536edfeee0ba8f_pid17775.hprof -XX:OnOutOfMemoryError=/opt/cm-5.11.0/lib64/cmf/service/common/killparent.sh as CSD_JAVA_OPTS
Using /opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER as conf dir
Using scripts/control.sh as process script
CONF_DIR=/opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER
CMF_CONF_DIR=/opt/cm-5.11.0/etc/cloudera-scm-agent
Tue Dec 26 10:05:58 CST 2017: Running Spark2 CSD control script…
Tue Dec 26 10:05:58 CST 2017: Detected CDH_VERSION of [5]
Java version 1.8 is required for Spark 2.2.
Tue Dec 26 10:06:02 CST 2017
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/
Using -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/spark2_on_yarn_spar1957cecc-SPARK2_YARN_HISTORY_SERVER-e5a7ed032e536edfeee0ba8f_pid17846.hprof -XX:OnOutOfMemoryError=/opt/cm-5.11.0/lib64/cmf/service/common/killparent.sh as CSD_JAVA_OPTS
Using /opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER as conf dir
Using scripts/control.sh as process script
CONF_DIR=/opt/cm-5.11.0/run/cloudera-scm-agent/process/260-spark2_on_yarn-SPARK2_YARN_HISTORY_SERVER
CMF_CONF_DIR=/opt/cm-5.11.0/etc/cloudera-scm-agent
Tue Dec 26 10:06:02 CST 2017: Running Spark2 CSD control script…
Tue Dec 26 10:06:02 CST 2017: Detected CDH_VERSION of [5]
Java version 1.8 is required for Spark 2.2.
我们可以看到,spark2.2需要jdk1.8版本,而系统自带的是jdk1.7.0_67, 看起来解决任务只是把jdk版本升级就好,于是,我把CDH集群中的jdk都升级到了jdk1.8.0_60, 顺便提一句,spark2.2 需要scala2.11以上版本。
- 停掉cloudera manager
停掉服务器服务
/opt/cm-5.11.0/etc/init.d/cloudera-scm-server stop
关闭所有客户端服务
/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent stop
卸载原本的jdk
安装新的jdk,并配置JAVA_HOME
vim /opt/cm-5.11.0/etc/default/cloudera-scm-server
export JAVA_HOME=/usr/java/jdk1.8.0_60开启所有服务
- 启动cloudera manager
在每个主机上配置java home
8. 启动集群