spark-2.0.2+hadoop-2.7.3+scala-2.11.8+java8u101集群安装

提示:在配置集群之前,提醒大家对集群的系统安装以及配置文件的一些注意事项:

1.系统最好全部统一,如我们集群的ubuntu server 16.04

2,由于安装过程中经常需要重启机器,因此,对应的

a.ip与mac地址之间的固定(路由器设置,进入路由器进行设置;

b.以及ip开机自动获取,sudo vim /etc/init.d/rc.local 在最近加入一行 dhclient即可。(rc.local可以理解为开机root运行的脚本,所以所有你想开机启动的服务都可以在这里面加入)

下面进入正文:

1.hosts文件配置

a.要想配置过程中省点力气,我们一开始就要建立好ip与主机名称之间的映射(主机名的更改,参考http://blog.sina.com.cn/s/blog_959c4e2f0101cxd1.html);

b.更改主机名结束之后,vim /etc/hots,把对应的映射加入即可,如我们的集群如下(左边ip,右边主机名):


2.java8u101安装

a.下载对应java版本的linux 二进制压缩文件,由于java官网界面上只挂着最新的版本的下载路径,如果你需要下载早点的版本,进入http://www.oracle.com/technetwork/java/javase/downloads/index.html,拉到最下面,进入此界面下载;


b.下载完成之后,通过xftp上传到ubunt

<think>我们正在处理一个关于Spark运行时出现FileNotFoundError的问题。用户已经配置了环境变量,但仍然遇到错误,提示找不到`/opt/spark-2.0.2-bin-hadoop2.6/bin/spark-submit`文件。从错误信息中可以看出,Spark试图访问的路径是`/opt/spark-2.0.2-bin-hadoop2.6/bin/spark-submit`,而用户安装的是Spark3.4.0,这显然路径不一致。问题分析:1.用户安装的是Spark3.4.0,但是错误信息中引用了Spark2.0.2的路径,说明环境变量配置可能没有正确指向新安装Spark3.4.02.可能的原因包括:-环境变量配置错误(如SPARK_HOME指向了错误的路径)-系统中存在多个Spark版本,而旧版本的路径被优先使用-配置未生效(如修改环境变量后未执行`source`命令)解决步骤:###步骤1:检查Spark安装目录确认Spark3.4.0安装路径。通常,如果按照官方文档安装Spark会被解压到某个目录,例如:-`/opt/spark-3.4.0-bin-hadoop3`或-`/usr/local/spark-3.4.0-bin-hadoop3`使用以下命令查看Spark目录内容:```bashls/opt/spark-3.4.0-bin-hadoop3/bin```确认`spark-submit`文件存在于该目录下。###步骤2:检查环境变量配置检查环境变量配置文件(如`~/.bashrc`、`~/.bash_profile`或`~/.zshrc`),确保`SPARK_HOME`指向正确的Spark3.4.0目录,并且将`$SPARK_HOME/bin`加入`PATH`。例如:```bashexportSPARK_HOME=/opt/spark-3.4.0-bin-hadoop3exportPATH=$PATH:$SPARK_HOME/bin```###步骤3:使环境变量生效修改环境变量后,执行以下命令使配置立即生效:```bashsource~/.bashrc#如果使用bash#或source~/.zshrc#如果使用zsh```###步骤4:检查当前环境中的Spark路径使用`which`命令检查`spark-submit`的路径:```bashwhichspark-submit```预期输出应该是Spark3.4.0的路径,例如:```/opt/spark-3.4.0-bin-hadoop3/bin/spark-submit```如果输出的路径是旧版本(如`/opt/spark-2.0.2-bin-hadoop2.6/bin/spark-submit`),则说明环境变量配置未生效或配置有误。###步骤5:检查系统残留的旧版本Spark如果之前安装过旧版本Spark,并且没有完全卸载,可能会导致冲突。检查`/opt/`、`/usr/local/`等目录,删除或移走旧版本Spark目录。###步骤6:检查脚本中的硬编码路径如果用户是通过某个脚本启动Spark,检查该脚本中是否硬编码了旧版本Spark路径。修改脚本中的路径为新版本路径。###步骤7:重新运行应用完成上述步骤后,重新运行Spark应用,观察是否解决问题。###其他可能原因-**权限问题**:确保用户对Spark目录有执行权限。可以使用以下命令修复权限:```bashsudochmod-R755/opt/spark-3.4.0-bin-hadoop3```-**符号链接问题**:如果使用了符号链接,确保链接指向正确的版本。###参考引用中的启示从引用[2]中我们注意到,Hadoop中如果未设置`JAVA_HOME`也会出现类似问题。虽然这里不是Java路径问题,但思路相同:环境变量配置不正确。同样,Spark的运行也需要正确的环境变量配置。如果上述步骤不能解决问题,请检查Spark的配置文件(如`spark-env.sh`)中是否设置了正确的路径。可以复制`spark-env.sh.template`为`spark-env.sh`,并设置其中的`SPARK_HOME`等变量。[^1]:引用自用户提供的错误信息,提示路径错误。[^2]:引用自用户提供的Hadoop配置经验,强调环境变量的重要性。§§相关问题§§1.如何正确设置Spark的环境变量?2.Spark运行需要哪些前提条件?3.如何卸载旧版本Spark?4.如何验证Spark安装是否成功?5.Spark运行时出现ClassNotFound异常如何解决?</think>### Spark FileNotFoundError 解决方案 #### 问题分析 根据错误信息 `FileNotFoundError [Errno 2] no such file or directory &#39;/opt/spark-2.0.2-bin-hadoop2.6/bin/spark-submit&#39;`,核心问题是: 1. **路径版本不匹配**:您安装的是 Spark 3.4.0,但系统尝试访问的是 Spark 2.0.2 的路径 2. **环境变量未正确生效**:`SPARK_HOME` 等环境变量配置可能被旧配置覆盖 3. **符号链接缺失**:Spark 安装后缺少必要的软链接 #### 解决步骤 --- ##### 1. **验证实际安装路径** ```bash # 检查 Spark 实际安装目录 ls /opt/ | grep spark # 确认 bin 目录是否存在 ls /opt/spark-3.4.0-bin-hadoop3/bin # 根据实际版本修改 ``` 如果输出包含 `spark-submit` 文件,说明安装成功但路径配置错误[^2]。 --- ##### 2. **修复环境变量配置** 编辑环境配置文件(根据您的 shell 选择): ```bash # Bash 用户 nano ~/.bashrc # Zsh 用户 nano ~/.zshrc ``` **确保包含以下配置**: ```bash export SPARK_HOME=/opt/spark-3.4.0-bin-hadoop3 # 修改为您的实际路径 export PATH=$PATH:$SPARK_HOME/bin ``` **使配置生效**: ```bash source ~/.bashrc # 或 source ~/.zshrc ``` --- ##### 3. **创建符号链接(关键步骤)** ```bash sudo ln -s /opt/spark-3.4.0-bin-hadoop3 /opt/spark ``` 此操作创建从 `/opt/spark` 指向实际安装目录的软链接,解决版本路径问题[^2]。 --- ##### 4. **检查环境变量生效情况** ```bash # 验证 SPARK_HOME echo $SPARK_HOME # 应输出:/opt/spark-3.4.0-bin-hadoop3 # 检查 spark-submit 路径 which spark-submit # 应输出:/opt/spark-3.4.0-bin-hadoop3/bin/spark-submit ``` --- ##### 5. **修复权限问题** ```bash sudo chmod -R 755 /opt/spark-3.4.0-bin-hadoop3 sudo chown -R $USER:$USER /opt/spark-3.4.0-bin-hadoop3 ``` --- ##### 6. **验证修复结果** ```bash # 运行测试命令 spark-submit --version ``` **预期输出**: ``` Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ &#39;_/ /___/ .__/\_,_/_/ /_/\_\ version 3.4.0 /_/ ``` #### 根本原因解析 1. **路径硬编码问题**:Spark 某些脚本可能包含旧版本路径的硬编码[^2] 2. **多版本冲突**:系统中残留旧版本 Spark 的配置 3. **环境加载顺序**:系统级配置可能覆盖用户级环境变量 > **预防建议**: > - 使用 `update-alternatives` 管理多版本 > - 定期清理旧版本:`sudo rm -rf /opt/spark-*` > - 在 `~/.profile` 中声明环境变量确保优先级[^2]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值