话不多说,上问题:
在主节点启动服务命令
#主节点
## 启动Master服务
/export/server/spark-standalone/sbin/start-master.sh
## 停止Master服务
/export/server/spark-standalone/sbin/stop-master.sh
#从节点
## 启动Workers服务
/export/server/spark-standalone/sbin/start-workers.sh
## 停止Workers服务
/export/server/spark-standalone/sbin/stop-workers.sh
问题点的是,我的Master服务没有问题,但是Worker服务只在主节点这台机器上启动了,但是另外两台从节点上的Worker服务没有启动;报错信息,显示了jdk路径没找到,但是我再spark-env.sh中已经配置了JDK环境
## 设置JAVA安装目录
JAVA_HOME=/export/server/jdk
后来,排查了另外两台机器,发现我的JDK路径使用的是软连接创建后的路径,后面直接从主节点scp到从节点上的,但是另外两台机器上没有创建软连接,后来在从节点上创建从节点,启动后,没有问题了
进入web UI页面查看,也没有 问题了
最后,最一个总结:
这种问题,一般是JDK路径没找到导致的报错
1、先确定是否在配置文件中设置了JAVA_HOME路径,有没有出错,如果是在/etc/profile中配置的有没有刷新一下。如果是集群的,更需要确定每台机器中的路径是否一致,jdk的路径是否一致
2、如果使用软连接的路径,集群模式下,其他从节点也必须保持一致。