Spark安装步骤及第一次启动failed to launch: nice -n 0错误

本文详细记录了在三台虚拟机上部署Spark集群的过程,特别关注了因JDK版本不兼容导致的启动失败问题。通过更换并正确配置JDK1.8,解决了“Unsupported major.minor version 52.0”的错误,实现了Spark集群的成功启动。

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

基本条件:同步时间、免密登录、关闭防火墙、安装JDK1.8

在安装spark之前

emmm
我有三台虚拟机
hadoop01
hadoop02
hadoop03

然后jdk1.7
就是因为这个

我第一启动时failed to launch: nice -n 0错误

哦 对了 网上好多说配置 /root/.bashrc 文件
在后面加上

export JAVA_HOME= /usr/local/jdk1.8.0_191

这句话就好了
我弄了没用
因为 我的jdk1.7

启动失败好多错误信息 有提示信息
你要认真去看下面的错误信息
它提示我去看日志 我进入到提示目录看的日志
告诉我

Unsupported major.minor version 52.0

注意了 看到这个就应该知道这是版本不兼容的问题出现了 因为我前面因为替换jar包的问题遇到过
所以 含泪舍弃了jdk1.7
从官网下载了jdk1.8 上传解压
在这里 还在想以前的jdk1.7的配置怎么办 一些路径 还有配置文件写的jkd1.7怎么弄 一个一个改?
大佬告诉我!
将加压后的jdk1.8的名字改为现在存在的jdk1.7的名字就行了
就是内容变为1.8 但名字还是1.7!!!!
ok
安装好重启spark 果然成功!

步骤

1.上传安装包到hadoop01 2.将文件解压到指定的目录

 tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /usr/local

2.在其conf下配置
3.1修改conf目录下的env文件 mv spark-env.sh.template spark-env.sh vi spark-env.sh 在文件的末尾添加 export JAVA_HOME= /usr/local/jdk1.8.0_191 JDK安装路径

export SPARK_MASTER_IP=hadoop01      主节点IP
export SPARK_MASTER_PORT=7077    主节点端口号(内部通信)

注意这个hadoop01
如果你没有配置hosts文件 那就写hadoop01的地址

export JAVA_HOME=/usr/local/jdk1.7.0_79
export SPARK_MASTER_IP=hadoop01
export SPARK_MASTER_PORT=7077

3.修改slaves.template文件为slaves
mv slaves.template slaves
vi slaves

我写上了
(可以根据自己的结点数量适当删改)
hadoop02
hadoop02

4.分发配置好的内容到其他机器

scp -r /usr/local/spark-2.2.0-bin-hadoop2.7/  hadoop02:/usr/local/
scp -r /usr/local/spark-2.2.0-bin-hadoop2.7/  hadoop03:/usr/local/

5.spark启动集群
进入到安装目录找sbin目录进入

[root@hadoop01 conf]# cd /usr/local/spark-2.2.0-bin-hadoop2.7/sbin/
[root@hadoop01 sbin]# ./start-all.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### Spark Worker 启动失败的原因分析 当遇到 `failed to launch: nice -n 0 /usr/local/src/spark/bin/spark-class org.apache.spark.deploy.worker.Worker` 的错误时,通常是因为环境变量未正确设置或某些依赖项缺失。以下是可能原因及其解决方案: #### 可能原因一:缺少必要的环境变量 如果 `JAVA_HOME` 或其他必要环境变量(如 `HADOOP_CONF_DIR`, `SPARK_HOME`)未正确配置,则可能导致此问题。可以通过以下方式解决: - 确认 `JAVA_HOME` 已正确定义并指向有效的 JDK 安装目录[^5]。 - 如果使用 Hadoop 集成,需确保 `HADOOP_CONF_DIR` 和 `SPARK_DIST_CLASSPATH` 被正确设置[^3]。 ```bash export JAVA_HOME=/path/to/jdk export SPARK_HOME=/usr/local/src/spark export HADOOP_CONF_DIR=/etc/hadoop/conf export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath) ``` #### 可能原因二:权限不足 运行命令的用户可能缺乏足够的权限来执行相关文件。可以尝试切换到 root 用户重新启动服务。 ```bash sudo su - cd $SPARK_HOME/sbin ./start-worker.sh spark://<master-ip>:7077 ``` #### 可能原因三:参数传递不正确 在提交任务时,如果参数传递有误也可能引发此类错误。建议检查脚本中的参数定义是否符合预期[^4]。 ```bash --class com.example.MyApp \ --master spark://<master-ip>:7077 \ --deploy-mode cluster \ --executor-memory 2G \ --total-executor-cores 5 \ /path/to/my-app.jar ``` #### 日志排查方法 通过查看日志文件进一步定位具体问题所在位置[^2]。例如,在 Master 或 Worker 输出的日志中寻找更详细的错误描述。 ```bash cat $SPARK_HOME/logs/*.out tail -f $SPARK_HOME/work/app-*/* ``` --- ### 总结 综合以上分析可知,该类问题多源于基础配置不当或者操作流程存在瑕疵所致。按照上述指导逐一核查各项设定即可有效解决问题。 ```python import os def check_env_variables(): required_vars = ['JAVA_HOME', 'SPARK_HOME'] missing = [var for var in required_vars if not os.environ.get(var)] return missing missing_vars = check_env_variables() if missing_vars: print(f"The following environment variables are missing: {', '.join(missing_vars)}") else: print("All necessary environment variables are set.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值