在使用Spark的过程中报错 java.net.ConnectException: 拒绝连接
情况一(系统JDK配置导致):
在逐步排查后最终锁定为JDK配置的问题,可能自己在之前动过JDK相关的配置,导致在使用Spark中不能生效出现报错
总结问题原因:在修改完/etc/profile.d/my_env.sh中环境变量后没有进行source /etc/profile,直接向服务器进行分发,导致出错。
解决办法:1.在完成系统环境变量的修改后,进行source /etc/profile,(注意此过程为root操作,如果不想使用root建议直接 在vim 前加上sudo (1.sudo vim /etc/profile.d/my_env.sh 2.source /etc/profile))
2然后向服务器进行同步分发,建议直接分发JDK
在经过漫长的排查后,终于解决了(java.net.ConnectException: 拒绝连接问题)问题,希望如果有小伙伴出现此类问题,多一个排查的方向.
情况二(端口不匹配问题导致):
解析:配置HDFS的namenode的地址;配置hadoop运行时产生的文件的目录
1)fs.default.name是NameNode的URI。hdfs://主机名:端口/
21/08/13 01:51:13 WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Attempted to request executors before the AM has registered!
21/08/13 01:51:13 WARN MetricsSystem: Stopping a MetricsSystem that is not running
Exception in thread "main" java.net.ConnectException: Call From hadoop122/192.168.10.122 to hadoop122:8020 failed on connection exception: java.net.Coni.apache.org/hadoop/ConnectionRefused
Spark 默认的 hdfs 端口号为 8020,而在设置 hadoop 时,一般将其设置为 9000
原因:我在core.site.xml中配置的9000,而Spark默认为8020,导致配置错误,
解决:将core.site.xml进行修改为8020,并分发到相应的服务器
这虽然是一个小问题,但对新手希望能给予帮助。。。。。。。