Spark-hadoop集群中8020:Connection refused

news2024/9/26 3:29:10

一、使用CentOs7虚拟机运行spark案例报出8020端口出现错误

    前提条件,使用standalone模式下的Spark,使用spark-shell运行example中的相关测试案例spark-examples_2.12-3.0.0.jar,来计算pi。当spark-shell 停止掉后,集群监控base:4040 页面就看不到历史任务的运行情况,所以需要配置历史服务器记录任务运行情况。
    因此,在此基础上需要配置spark的历史服务器来记录任务运行情况,参考网上教程,进行了以下步骤进行配置。

# 1) 修改 spark-defaults.conf.template 文件名为 spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf

# 2) 修改 spark-default.conf 文件,配置日志存储路径
spark.eventLog.enabled true
spark.eventLog.dir hdfs://主机名:8020/directory
# 注意:需要启动 hadoop 集群,HDFS 上的 directory 目录需要提前存在。
sbin/start-dfs.sh
hadoop fs -mkdir /directory

# 3) 修改 spark-env.sh 文件, 添加日志配置
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://主机名:8020/directory 
-Dspark.history.retainedApplications=30"

# 4) 重新启动集群和历史服务
sbin/start-all.sh
sbin/start-history-server.sh

# 5) 重新执行任务
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://linux1:7077 ./examples/jars/spark-examples_2.12-3.0.0.jar 10

     ❗ 在执行第五步的时候出现了报错,部分报错内容如下:

23/07/28 15:19:58 INFO SparkContext: Successfully stopped SparkContext
Exception in thread "main" java.net.ConnectException: Call From base/192.168.10.201 to base:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

二、解决思路

    根据报错内容,以及网络搜索查找原因:

  1. 可能是ip出现异常,导致无法连接。
  2. 端口号没有开放导致拒接连接。
  3. 防火墙未关闭,导致无法连接。

三、解决过程

    首先根据网络上常用的排查方式,使用telnet指令访问ip或相应端口,查看连接是否正常。
    尝试22号端口是否可以连接。

    发现使用的ip是可以正常访问的,但是8020端口拒绝连接。
在这里插入图片描述

    通过netstat查看8020端口,发现该端口不存在,是属于hadoop集群中一个内部通讯的端口。尝试开放该端口,发现开放端口后依旧会导致报错。因此,考虑是Spark配置文件存在错误的问题。

    经过查看端口8020的使用情况发现,8020端口一般作为hadoop2.x系列的内部通讯端口使用。常用端口的使用如下:

端口名称hadoop2.xhadoop3.x
Namenode内部通常端口8020/90008020/9000/9820
Namenode对用户的査询端口500709870
MapReduce 查看执行任务端口80888088
历史服务器通信端口1988819888

    通过查看namenode端口的使用发现,hadoop3.x默认使用9820端口,因此,发现问题所在是在配置spark文件时端口出现错误
在这里插入图片描述

    ❗ 需要将原本spark-default.conf和spark-env.sh的8020端口改为9820端口,之后再重新启动spark相关服务即可。

    相关历史进程可以从http:// ip地址:18080/查看。

在这里插入图片描述

四、小结

    在使用Spark和Hadoop时,端口问题可能会出现,以下是一些常见的端口问题小结:

  1. Hadoop端口问题:
    • NameNode端口:Hadoop的NameNode组件默认使用端口9820。如果无法访问NameNode,请确保9820端口没有被防火墙或其他应用程序占用。
  2. Spark端口问题:
    • Spark Master端口:Spark的Master节点默认使用端口7077来接收来自Worker节点的连接。如果Worker节点无法连接到Master节点,请检查7077端口是否可用。
  3. 防火墙设置:
    • 确保你的防火墙允许Spark和Hadoop相关的端口通过。你可以配置防火墙规则来放行这些端口,或者完全禁用防火墙。但是,请注意这可能会降低系统的安全性,所以应该谨慎操作。
  4. 其他问题:
    • 端口冲突:在同一台机器上运行多个Spark或Hadoop集群时,可能会发生端口冲突的情况。确保每个集群使用不同的端口范围来避免冲突。
    • 网络配置:如果Spark或Hadoop跨多台机器进行通信,确保网络配置正确,允许节点之间的端口通信。

解决端口问题的方法通常是检查端口是否被占用,配置防火墙规则,以及确保网络和集群配置正确。根据具体情况,可能需要查看日志文件获取更多帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/805512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

macos下安装john the ripper并配置zip2john+破解加密zip文件

为了破解加密的zip文件,需要用到john进行爆破密码。 1、首先使用homebrew安装john,可以安装它的增强版john-jumbo: brew install john-jumbo 2、安装后可以使用 john 命令验证: john 3、配置zip2john的环境——.zshrc下,&#x…

Linux Mint 21.2 ISO 镜像开放下载

导读Linux Mint 21.2 ISO 镜像于 2023 年 6 月 21 日公测,开发者在这段时间内收集并修复了用户反馈的诸多问题。 代号为“Victoria”的 Linux Mint 21.2 ISO 镜像于今天正式开放下载,新版本基于 Ubuntu 22.04 LTS,提供 Cinnamon 5.8、Xfce 4.…

CNN卷积详解

转载自:https://blog.csdn.net/yilulvxing/article/details/107452153 仅用于自己学习过程中经典文章讲解的记录,防止原文失效。 1:单通道卷积 以单通道卷积为例,输入为(1,5,5),分别表示1个通道…

Flutter 添加 example流程

一、已有Flutter工程(命令)添加 example 1、cd 工程(flutter_plugin ,是自己创建的)根目录 例: flutter create example 执行命令创建example PS:cd example 后执行flutter doctor 后就可以看到效果 2、如果需要指定iOS/Android 语言,请添加…

从0到1,无代码开发如何简化产品创新流程

在当今竞争激烈的市场环境中,产品创新已经成为企业成功的关键因素之一。为了在市场上保持竞争力,企业需要不断地推出新产品或改进现有产品。然而,传统的开发流程往往耗时费力,且成本高昂。因此,简化产品创新流程成为了…

Could not locate supplied template: react+ts搭建

1. reactts创建 我们在是用下create-react-app之前要下载一下 npm install create-react-app -g使用一下命令创建ts的react框架 create-react-app my-app --scripts-versionreact-scripts-ts 2. 遇见问题 我们用以上创建之后会提示一段代码选择“Y”之后发现我们创建的项目…

分析npm run serve之后发生了什么?

首先需要明白的是,当你在终端去运行 npm run ****,会是什么过程。 根据上图的一个流程,就可以衍生出很多问题。 1,为什么不直接运行vue-cli-service serve? 因为直接运行 vue-cli-service serve,会报错&#xff0c…

浏览器的同源策略 - 跨域问题

1.什么是跨域 跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制: 无法访问其他源下的网页的 Cookies,Storage等;无法访问其他源下的DOM对象和 JS 对象;无法使…

Verilog语法学习——LV7_求两个数的差值

LV7_求两个数的差值 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 描述 根据输入信号a,b的大小关系,求解两个数的差值:输入信号a,b…

SpringBoot使用jetty和tomcat还有undertow以及ssl配置支持https请求

一般使用SpringBoot开发应用程序都是使用的tomcat 稍微注意点性能就使用undertow,配置支持https请求常用nginx来做代理,直接用SpringBoot配置还是很少的,八成用不到,就怕需要用到的时候又不能及时弄出来,于是记录一下。…

3d激光slam建图与定位(1)_基于ndt算法定位

一.代码实现流程 二.ndt算法原理 一.该算法定位有三个进程文件 1.map_loader.cpp用于点云地图的读取,从文件中读取点云后对这个点云地图进行旋转平移后发布点云地图到ros #include "map_loader.h"MapLoader::MapLoader(ros::NodeHandle &nh){std::st…

Cisco 路由器配置管理

大多数网络中断的最常见原因是错误的配置更改。对网络设备配置的每一次更改都伴随着造成网络中断、安全问题甚至性能下降的风险。计划外更改使网络容易受到意外中断的影响。 Network Configuration Manager 网络更改和配置管理 (NCCM)解决方案&#xff…

操作符(超详解)

操作符详解 1. 操作符分类2. 算术操作符3. 移位操作符3.1 左移操作符3.2 右移操作符 4. 位操作符5. 赋值操作符6. 单目操作符6.1 单目操作符介绍6.2 sizeof和数组 7. 关系操作符8. 逻辑操作符9. 条件操作符10.逗号表达式11.下标引用,函数调用和结构成员12.表达式求值…

【TypeScript】接口类型 Interfaces 的使用理解

导语: 什么是 类型接口? 在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement&#x…

基于IP地址的证书实现https

基于IP地址实现传递数据的,默认的HTTP很容易被不法分子劫持数据,网络防洪是当下的互联网为确保安全,要用HTTPS协议更为妥当。 使用IP地址申请证书的主要条件,必须在申请认证过程,开放IP地址外网可以访问,包…

web漏洞-java安全(41)

这个重点是讲关于java的代码审计,看这些漏洞是怎么在java代码里面产生的。 #Javaweb 代码分析-目录遍历安全问题 这个漏洞原因前面文章有,这次我们看看这个漏洞如何在代码中产生的,打开靶场 解题思路就是通过文件上传,上传文件…

文件按关键字分组-切割-染色-写入excel

1. 背景 针对下面的文件data.csv,首先根据fid进行排序,然后分组,使相同fid的记录放到同一个excel文件中,并对每列重复的数据元素染上红色。 fid,user_id -1000078398032092029,230410010036537520 -1000078398032092029,23042301…

聊聊嵌入式编程中的主函数和循环函数

a在嵌入式编程中,主函数(main函数)是程序的入口点,也是程序的起点。在主函数中,我们可以进行一些初始化操作和设置,然后进入一个主循环,执行特定的任务或处理。 主函数在程序开始时被调用&…

链路模型的分析

链路模型 目录概述需求: 设计思路实现思路分析1.解说 拓展实现性能参数测试: 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait …

计算机组成原理(2)- 浮点数的存储

1、浮点数的表示方法 假设有以下小数,它表示的十进制数是多少呢? 00000000 00000000 00000000 1010.10101*2^3 1*2^1 1*2^-1 1*2^-3 10.625 1010.1010可以用科学计数法来表示为1.0101010 * 2^3。关于科学计数法再举个例子0.10101用科学计数法表示…