在 Linux 上安装 Apache Spark 时,有一些实用技巧和常见坑点,可以让过程更顺利、后续使用更稳定。下面按安装流程 + 优化建议来总结。
✅ 推荐下载页
https://spark.apache.org/downloads.html
Spark 对 Java 8 / 11 / 17 都支持(3.x 推荐 Java 11)
java -version
安装示例(Java 11):
sudo apt install openjdk-11-jdk # Ubuntu / Debian
sudo yum install java-11-openjdk # CentOS / Rocky
✅ 技巧:
避免在一台机器上安装多个 Java 版本,容易迷惑 Spark。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz
sudo mkdir -p /opt/spark
sudo tar -xzf spark-3.5.0-bin-hadoop3.tgz -C /opt/spark --strip-components=1
✅ 不建议放在 /home/xxx/Downloads
编辑:
vim ~/.bashrc
添加:
export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
生效:
source ~/.bashrc
✅ 技巧:
检查是否生效:
echo $SPARK_HOME
spark-shell --version
Spark Web UI 默认端口:4040
如果已有服务占用:
spark-shell --conf spark.ui.port=4050
spark-shell --master local[*]
local:1 个线程local[2]:2 个线程local[*]:使用所有 CPUstart-master.sh
start-worker.sh spark://localhost:7077
检查节点:
http://localhost:8080
报错:
JAVA_HOME is not set
解决:
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
✅ 推荐做法:
pip install pyspark
如果你用 Anaconda:
conda install pyspark
避免系统 Python 和 Spark 内置 Python 冲突。
调整:
spark-shell --driver-memory 2g --executor-memory 2g
长期建议:
编辑 $SPARK_HOME/conf/spark-defaults.conf
spark.driver.memory 2g
spark.executor.memory 2g
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
编辑:
export SPARK_MASTER_HOST=your-hostname
export SPARK_WORKER_MEMORY=4g
如果是纯计算:
spark-shell
sc.parallelize(1 to 10).sum()
✅ 能算出来就说明安装成功。
安装 Spark 的核心技巧:匹配版本 + 固定目录 + 配置环境变量 + 先用 local 模式验证。
如果你愿意,我可以:
你现在是用于 学习 / 单机分析 / 集群部署 哪一种场景?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。