在 Linux 上安装和部署 Apache Spark 时,有几个关键点和常见“坑”需要注意。下面按顺序给你梳理,适合新手和生产环境参考。
Spark 依赖 JVM:
检查:
java -version
⚠️ 注意:
JAVA_HOMEexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
| Spark | Scala | Hadoop |
|---|---|---|
| 3.3+ | 2.12 | 3.x |
| 2.4 | 2.11 | 2.7+ |
| 模式 | 说明 |
|---|---|
| Local | 学习、测试 |
| Standalone | Spark 自带集群 |
| YARN | Hadoop 环境 |
| K8s | 云原生 |
wget https://archive.apache.org/dist/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz
tar -xzf spark-3.3.2-bin-hadoop3.tgz
mv spark-3.3.2-bin-hadoop3 /opt/spark
配置环境变量:
export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$PATH
✅ 注意:
/root 下(权限问题)./build/mvn -DskipTests clean package
⚠️ 耗时、易出错
spark-env.shexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export SPARK_MASTER_HOST=master
export SPARK_WORKER_MEMORY=4g
spark-defaults.confspark.master spark://master:7077
spark.executor.memory 2g
⚠️ 内存不要超过物理内存 70%
常见端口:
避免被占用(如 Tomcat)
所有节点:
/etc/hosts
192.168.1.10 master
192.168.1.11 worker1
⚠️ 不要用 localhost
ssh-keygen
ssh-copy-id worker1
ntpdate cn.pool.ntp.org
spark-shell
或:
run-example SparkPi 10
❌ Unsupported major.minor version
→ Java 版本不对
❌ Worker 无法连接 Master
→ 防火墙 / hosts / 端口
❌ Memory overhead exceeded
→ executor 内存设置过大
/tmp/spark*如果你告诉我:
我可以给你一步一步的具体安装命令。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。