Spark 集群问题排查

  • 第一个问题:再安装完spark后,需要重新部署客户端配置时,执行到最后一个步骤:报错

仅完成 0/4 个步骤。首个失败:主机 staging-master (id=1) 上的客户端配置 (id=34) 已使用 1 退出,而预期值为 0。

原因:因为cm安装spark不会去环境变量去找java,而是去/usr/java/default查找

这个在机器上:

mkdir /usr/java

ln -s /opt/module/jdk1.8.0_144/  /usr/java/default

但是却还没有解决,然后找到了一个正解:


我看到了通过将/ usr / java / default链接到$ {JAVA_HOME}来解决问题的其他技巧。

实际上它可以解决问题,但这不是根本的解决方案

在$ {CM_PATH} /lib64/cmf/service/client/deploy-cc.sh和$ {CM_PATH} / lib64 / cmf / service / common / cloudera-中使用/ usr / java / default到$ {JAVA_HOME}的链接config.sh,请参阅此处

微信IMG8898.jpeg

代码显示了您可以将其他var链接到$ {JAVA_HOME},而不仅是  / usr / java / default

所以我不认为主机上的链接JAVA_HOME很方便 

您可以在主机页面的cdh管理器中设置JAVA_HOME,在cdh管理器中设置主机环境以解决此问题,

这是步骤:CDH管理器->所有主机-> $ {error_host}->配置-> JAVA HOEM目录


设置完后,重新部署配置文件OK.集群由于改动这个配置需要重新启动。

  • 第二个问题:spark2-shell 启动 报错 
     
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream
	at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefaultSparkProperties$1.apply(SparkSubmitArguments.scala:123)
	at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefaultSparkProperties$1.apply(SparkSubmitArguments.scala:123)
	at scala.Option.getOrElse(Option.scala:120)
	at org.apache.spark.deploy.SparkSubmitArguments.mergeDefaultSparkProperties(SparkSubmitArguments.scala:123)
	at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:109)
	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:114)
	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 7 more

spark 安装时没安装完整:

1./opt/cloudera/parcels/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354/etc/spark2/conf.dist/  配置文件夹为空
解决:cp /opt/cloudera/parcels/CDH-5.12.2-1.cdh5.12.2.p0.4/etc/spark/conf.dist/* /opt/cloudera/parcels/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354/etc/spark2/conf.dist/

2.在cdh上添加hadoop classpath

export SPARK_DIST_CLASSPATH=$(/opt/cloudera/parcels/CDH-5.12.2-1.cdh5.12.2.p0.4/bin/hadoop classpath)

重启动spark2。再次执行 spark2-shell

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值