Exception in thread “main“ java.net.ConnectException: Call From hadoop101/192.168.10.12 to hadoop101

部署Spark集群配置历史服务器时,出现无法连接到Hadoop101节点的错误。经排查是端口问题,Hadoop2.x和1.x端口不同,8020端口在2.x环境不能访问HDFS集群,需将其改成9000。修改相关配置文件后,重新执行测试代码,日志写入HDFS成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部署Spark集群,配置历史服务器的时候报错,显示无法连接到Hadoop101节点错误信息如下:

Exception in thread “main” java.net.ConnectException: Call From hadoop101/192.168.10.12 to hadoop101:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

在这里插入图片描述
解决办法
经过排查发现大概率是端口的问题,于是查资料发现,Hadoop2.x和1.x端口是不一样的,8020端口在hadoop1.x中默认承担着namenode 和 datanode之间的心跳通信,且也兼顾着FileSystem默认的端口号(就是hdfs客户端访问hdfs集群的RPC通信端口),
但是在hadoop2.x中,8020只承担了namenode 和 datanode之间的心跳通信,并不能访问文件系统也就是8020端口在2.x的Hadoop环境并不能够访问HDFS集群,9000端口是在hadoop2.x中将FileSystem通讯端口拆分出来了,因此我们需要修改配置。将8020端口改成9000.

1)修改 spark-default.conf 文件,配置日志存储路径

spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop101:9000/directory

2)修改 spark-env.sh 文件, 添加日志配置

export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.fs.logDirectory=hdfs://hadoop101:9000/directory 
-Dspark.history.retainedApplications=30"

修改配置以后重新执行测试代码

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop101:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

可以看到日志写入HDFS成功
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值