Spark启动报java.net.ConnectException

一、报错信息

在Spark集群中的某台机器上执行spark-shell命令时,报错信息如下:

19/02/18 10:41:53 INFO retry.RetryInvocationHandler: Exception while invoking getClusterMetrics of class ApplicationClientProtocolPBClientImpl over rm2 after 1 fail over attempts. Trying to fail over after sleeping for 21745ms.
java.net.ConnectException: Call From rtiebc01/xx.xx.xx.xx to rtiebc02:23140 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)

二、原因分析

1. Hadoop

Spark是基于Hadoop之上,首先检查Hadoop集群是否正常。

1) jps
Hadoop集群的各个节点执行上面命令,查看名称节点、数据节点是否启动正常
2)hdfs dfs -ls /
验证Hadoop集群是否能正常访问

2. Spark

通过第一步分析,Hadoop集群正常,那么就看下是不是Spark的问题了。

1)jps
查看Spark集群的各节点,Worker和Master进程是否正常启动;
2)启动Spark
cd $SPARK_HOME/sbin
./stop-all.sh
./start-all.sh

重新启动了Spark,检查Spark集群的其他节点时候,发现Worker进程并没有启动起来,这就是问题所在。

三、解决方案

1. 分析start-all.sh脚本执行过程

通过分析start-all.sh脚本执行过程,如上图,由于是其他节点的Worker进程没有启动,那么问题出在start-slaver.sh脚本执行时。

2. 分析start-slaver.sh脚本执行过程

slaves.sh用到了conf文件夹下的slaves文件,通过查看并没有发现这个文件。问题原因已锁定!

3. 创建slaves文件

cd $SPARK_HOME/conf
cp slaves.template slaves

4. 配置Worker节点

cd $SPARK_HOME/conf
vim slaves
# 将Worker节点的机器名按照一行一个输入
:x

5. 重新启动Spark集群

cd $SPARK_HOME/sbin
./stop-all.sh
./start-all.sh

再执行spark-shell命令,就一切正常了,enjoy IT!!!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值