分享

spark集群环境运行报错

lihy114 发表于 2016-6-1 17:28:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 8 10316
在local模式下,eclipse中进行调试,是可以正常运行的;打包后放在集群环境中,使用spark-submit运行程序,报错如下

16/06/02 01:02:14 ERROR spark.SparkContext: Error initializing SparkContext.
java.net.ConnectException: Call From node243/192.168.3.243 to systex:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; 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)


这是什么情况呢?
有人遇到过这个情况没

已有(8)人评论

跳转到指定楼层
nextuser 发表于 2016-6-1 17:56:11
这是个常见错误,原因很多。
Call From node243/192.168.3.243 to systex:8020

下面三个是什么情况
node243
192.168.3.243
systex
两台机器?
systex是master?
node243 192.168.3.243 连接不上master?



首先:
楼主需要看看本地环境和集群环境有什么区别:
比如配置文件,版本
代码放到集群是否有些需要修改,或则配置文件没有加载到。
然后常规检测:
防火墙,网络,worker与master的通信等
回复

使用道具 举报

lihy114 发表于 2016-6-1 18:09:45
nextuser 发表于 2016-6-1 17:56
这是个常见错误,原因很多。
Call From node243/192.168.3.243 to systex:8020

node243是192.168.3.243的hostname,是这个集群的master;但是不清楚to systex:8020是什么意思
版本是一致的,使用的是spark1.6.0,我在eclipse是使用maven进行管理的
在eclipse中能正常运行,使用的是Local模式;
放在集群环境中,仍然采用local模式的情况下,同样报这个错误。
SparkContext初始化失败,应该是连接spark环境就有问题!
回复

使用道具 举报

nextuser 发表于 2016-6-1 18:13:52
lihy114 发表于 2016-6-1 18:09
node243是192.168.3.243的hostname,是这个集群的master;但是不清楚to systex:8020是什么意思
版本是一 ...

systex:8020
这应该是hostname,正常来讲,这应该是hdfs路径先看看hosts里面是否有 systex,每台都看下。然后看下代码。找到systex 应该问题就差不多了



回复

使用道具 举报

lihy114 发表于 2016-6-1 18:20:12
nextuser 发表于 2016-6-1 18:13
systex:8020
这应该是hostname,正常来讲,这应该是hdfs路径先看看hosts里面是否有 systex,每台都看下 ...

我没有从hdfs里面读取数据,选择了oracle数据库做为数据源

从本地文件读取的时候也是这个错误,是否需要指明不从hdfs读取数据
回复

使用道具 举报

nextuser 发表于 2016-6-1 18:51:10
lihy114 发表于 2016-6-1 18:20
我没有从hdfs里面读取数据,选择了oracle数据库做为数据源

从本地文件读取的时候也是这个错误,是否需 ...

不需要指明的
回复

使用道具 举报

lihy114 发表于 2016-6-2 09:45:08

您好,想跟您确认一下,如果我的Spark程序,直接读的是oracle数据库的,而不是hdfs的数据,能否排除掉hadoop的原因,因为我看报错中,有很多hadoop或者hdfs的字眼,我感觉可能是hadoop有问题,我的hadoop是2.6.3的,是下载的不编译后的版本,我看网上有人说linux64位的机器需要自己编译hadoop 2.x的版本才行,而不能使用编译好的
回复

使用道具 举报

lihy114 发表于 2016-6-2 14:15:08

我的spark的程序代码是在eclipse下编写的,使用maven进行的管理
在打包的时候将maven编译的spark相关的jar包打进来,只有一个oracle的驱动包,其他就是我编写的程序代码的,是不是因为这个原因导致的这个问题,按道理,程序代码应该使用spark集群环境中的驱动包吧,我认为不需要将maven编译的spark相关的jar包打进来,这样理解对不
回复

使用道具 举报

lihy114 发表于 2016-6-3 11:09:09
问题解决了,是conf文件夹下面的spark-default.conf的参数配置错误
spark.eventLog.dir指向hadoop的hdfs配置就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条