Spark Standalone 全分布模式安装过程中常见问题

3 篇文章 0 订阅

在部署spark分布的时候,中途遇见了很多问题,总结一下

1.启动了spark分布之后没有master,worker进程

2. 启动spark集群的时候提示“main” java.lang.UnsupportedClassVersionError:org/apache/spark/launcher/Main:Unsupported major.mior version 52.0

3. 访问sparkUI界面时出现无法访问此网站,ip拒绝了连接请求

4. 启动saprk-shell 的时候提示无法分配内存或spark-shel:44:6983 以杀死


1.启动了spark分布之后没有master,worker进程

在启动spark的时候,启动了start-all.sh ,启动过程也没有问题,但是jps 查看的时候master节点没有master进程,worke节点没有worker进程,一开始我以为是自己配置文件的时候哪里配置错了,但是检查了一遍之后没有发现哪里有问了,看了很多资料,最后才发现启动spark的时候路径错了,我以为start-all.sh就能够启动所有集群,但是在这里启动spark分布的时候,要在spark目录下执行 sbin/start-all.sh   才行

2. 启动spark集群的时候提示“main” java.lang.UnsupportedClassVersionError:org/apache/spark/launcher/Main:Unsupported major.mior version 52.0

  • 在启动spark 集群的时候即使jdk错误,但是java -version查看jdk的时候,是有自己安装的jdk版本信息的,也就是jdk环境变量配置是没有问题的。然后我又以为是我安装的jdk的版本问题,但是我三台主机都用的是同一个版本的jdk,然而HadoopMaser(主节点),HadoopSlave01(worker)能够启动成功,那就不是jdk版本的问题。

  •  然后我尝试在spark-env.sh 文件里边添加JDK的环境变量,在吧三台主机的日志里边的文件给删除之后。从新启动spark集群就成功了。
cd spark-2.4.8-bin-hadoop2.7/logs/
rm -rf *  #删除logs下的所有日志文件
#这里三台主机的日志文件都有删除


sbin/stop-all.sh   #在HadoopMaster(master节点)关闭spark集群
cd spark-2.4.8-bin-hadoop2.7/conf/
vi spark-env.sh 
#在文件中添加jdk的环境变量(三台主机都要分别添加)
export JAVA_HOME=/home/hadoop/software/jdk1.8.0_171



#这里建议吧scala,hadoop,spark,的环境变量也给加上
export SCALA_HOME=/home/hadoop/software/scala-2. 11.8
export JAVA_HOME=/home/hadoop/software/jdk1.8.0_ 171
export Hadoop_INSTALL=/home/hadoop/software/hadoop-3.3.0
export HADOOP_CONF_ DIR=$Hadoop_INSTALL/etc/hadoop
export SPARK_LOCAL_DIRS=/home/hadoop/software/spark-2.4.8-bin-hadoop2.7
export SPARK_LOCAL_DIRS=/home/hadoop/software/spark-2.4.8-bin-hadoop2. 7
#这里路径对应改为自己的文件路径即可


#三台主机都分别添加好了之后,从新启动spark集群就可以了
cd spark-2.4.8-bin-hadoop2.7
sbin/start-all.sh

3. 访问sparkUI界面时出现无法访问此网站,ip拒绝了连接请求

  • 在部署好hadoop的时候,访问sparkUI界面时出现无法王文此网站,ip拒绝了连接请求。一开始我以为是我的ip错误了,或者是master节点的ip和windows下电脑的ip不再同一个网段导致的。但是在检查之后发现ip没有错,也是和本机的ip在同一个网段的。后来看了很多博客之后都没有用。然后就只好静下心来找问题。

  •  之后我查看了master节点的日志,终于发现了问题。如下图,日志中提示MatserUI on port 8888。我才反应过来,我在配置shark-env.sh文件的时候,SPARK_MASTER_WEBUI=8888.
  •  从新访问sparkweb界面:192.168.141.184://8888 (吧8080换成8888,因为我配置的spark访问webUI的端口号是8888)  就可以了

4. 启动saprk-shell 的时候提示无法分配内存或spark-shel:44:6983 以杀死

  • 在启动saprk-shell内存的时候户提示无法分配内存或以杀死,这是因为虚拟机内存不足导致的,我看一些文章说的是吧每台虚拟机的内存改为2G即可,但是我看了自己的虚拟机,原本就是2G。

  • 后来我进入了spark-env.sh 把SPARK_WORKER_MEMORY=2g注释掉(注意,每台主机都要去注释掉)然后我是吧三台主机全部重启了,重新启动hadoop集群,启动saprk集群,之后再sprak-shell 之后就可以了。这里注释掉之后应该不用重启也是可以的,我不知道注释掉SPARK_WORKER_MEMORY=2g注释掉之后不重新启动可不可以,可以试一下。还有一种方法不注释掉SPARK_WORKER_MEMORY=2g也可以,把它改小一点就可以了。我没有试过,我看很多文章也是这样说的,应该是可以的,感兴趣的可以试一下。

  •  修改之后从新启动就成功了。


本篇文章就到这里了,这些都是自己平时遇到的问题或者自己用到的东西,然后就整理了一下,能帮助到你,若有不对或这描述不清楚的地方请指正。😁😁✌

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Spark Standalone模式安装和部署步骤如下: 1. 下载Spark安装包并解压缩到指定目录。 2. 配置Spark环境变量,包括JAVA_HOME、SPARK_HOME等。 3. 配置Spark的主节点和从节点,可以通过编辑conf/spark-env.sh文件来设置。 4. 启动Spark集群,可以使用sbin/start-all.sh命令启动。 5. 部署Spark应用程序,可以使用spark-submit命令提交应用程序。 6. 监控Spark集群的运行状态,可以使用Web UI或命令行工具来查看。 以上是Spark Standalone模式安装和部署步骤,需要注意的是,部署过程需要根据实际情况进行配置和调整,以确保集群的稳定和高效运行。 ### 回答2: Spark是一个开源大数据处理框架,可以通过多种方式进行部署和运行。其Spark Standalone模式是一种较为常见的部署方式,本篇文章就介绍一下Spark Standalone模式安装和部署方法。 一、安装Java和Spark安装Spark Standalone模式之前,需要先安装Java和Spark。Java的安装方法比较简单,在Oracle官网上下载对应操作系统的Java安装包,然后根据提示进行安装即可。而Spark安装也十分简单,可以在Spark官网上下载对应版本的Spark,并将其解压到任意目录即可。 二、配置Spark环境 在安装完成Java和Spark后,需要对Spark进行一些配置,来满足运行Spark应用所需要的条件。具体的配置如下: 1. 创建Spark环境变量 将Spark安装目录添加到系统环境变量。在Linux系统,可以通过以下命令将Spark加入系统环境变量: export SPARK_HOME=/path/to/spark export PATH=$PATH:$SPARK_HOME/bin 2. 配置Spark Master节点 在Spark官方网站上,可以找到如何设置Spark Master的详细说明。在执行之前,请确保: - 运行spark-daemon.sh脚本的用户有足够的权限,才能够启动Spark Master进程。 - 确认Spark Master的IP地址已经设置成正确的值,否则会无法和Worker进程进行通信。 - 配置Spark所需要的内存、CPU核心和端口等参数。 3. 配置Worker节点 在Spark集群,Worker节点是执行实际任务的节点,同样也需要进行相应的配置。配置方法和Master节点类似,不同之处在于需要在每个Worker所在的机器进行配置。 三、启动Spark Standalone集群 在完成上述配置后,就可以启动Spark Standalone集群了。整个集群的启停,使用start-all.sh和stop-all.sh脚本来实现。在启动Master进程后,可以直接通过以下命令启动Worker进程: ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://<master-ip>:<master-port> 其,<master-ip>和<master-port>分别是Master进程的IP地址和端口号,需要根据实际情况进行配置。 通过上述方法,就可以成功地安装和部署Spark Standalone模式,开启大数据处理之旅。 ### 回答3: Spark是现今最流行的大数据处理框架之一。在使用Spark处理海量数据时,我们经常需要在集群上用Spark Standalone模式来进行安装和部署。下面我将逐步详细介绍如何进行Spark Standalone模式安装和部署。 1. 准备环境 在开始安装之前,需要为Spark Standalone模式准备基本环境: a. Java环境:Spark需要在Java 8或更高版本下运行 b. Hadoop环境:尽管Spark可以独立运行,但它通常与Hadoop或其他分布式文件系统集成。因此,为了使Spark Standalone顺利运行,需要先进行Hadoop的配置 c. Python环境:为了简化Spark的部署和使用,最好安装Python环境。Python环境可以提供PySpark,这是一种用于在Python上开发Spark应用程序的API。 2. 下载和解压Spark 在准备好环境后,需要下载并解压Spark。请从Spark官方网站上下载Spark,选择适合您的操作系统的版本。将Spark压缩包解压到目标文件夹。 3. 配置Spark 在解压完Spark后,我们需要按照以下步骤配置Spark: a. 编辑spark-env.sh文件并设置JAVA_HOME和HADOOP_CONF_DIR变量。这个文件位于Spark解压后的conf目录下。 b. 编辑spark-defaults.conf文件,并设置Spark属性。 c. 编辑slaves文件,设置集群的slave(工作节点)主机名或IP地址。 4. 启动Spark集群 在完成Spark配置后,我们需要启动Spark集群。以下是一些基本步骤: a. 在主机上运行启动Master的脚本sbin/start-master.sh(请注意,您需要相应的权限来运行初始化脚本) b. 一旦主节点启动并运行,我们可以连接Master的web UI来查看Spark集群状态。在浏览器打开Master主机并输入URL:http://[Master IP地址或主机名]:8080。 c. 在其余节点上启动Slave的脚本sbin/start-slave.sh(请注意启动Master之前必须先启动Slave) 5. 启动Spark应用程序 启动Spark应用程序的方法: a. 如果您使用Scala编写Spark应用程序,则使用Spark的Scala API启动应用程序。 b. 如果您使用Python编写Spark应用程序,则可以使用PySpark应用程序。 总体来说,Spark Standalone模式安装和部署需要几个简单的步骤。然而,在配置的过程,需要注意节点配置和Spark的环境配置。因此,需要在配置之前了解并准备所有必需的环境。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小-枝-丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值