在 Linux 上安装与验证 Apache Spark 的完整步骤
一 环境准备
java -version、python3 --version。二 安装与配置
wget https://downloads.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgzsudo tar -xzf spark-3.3.2-bin-hadoop3.tgz -C /opt~/.bashrc 或 ~/.zshrc):export SPARK_HOME=/opt/spark-3.3.2-bin-hadoop3
export PATH=$SPARK_HOME/bin:$PATH
使配置生效:source ~/.bashrcSPARK_HOME/conf/spark-env.sh(不存在则复制模板创建):cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64' >> $SPARK_HOME/conf/spark-env.sh
echo 'export SPARK_MASTER_HOST=localhost' >> $SPARK_HOME/conf/spark-env.sh
以上步骤覆盖下载、解压、环境变量与基础配置。
三 启动与验证
spark-shell,出现 Scala REPL 提示符即表示安装成功。$SPARK_HOME/sbin/start-master.sh
$SPARK_HOME/sbin/start-worker.sh spark://localhost:7077
spark-env.sh 中设置 SPARK_MASTER_PORT 更换端口。spark-shell 中执行val data = Seq(1,2,3,4,5)
val rdd = sc.parallelize(data)
println(s"The sum is: ${rdd.reduce(_ + _)}")
以上完成本地与伪分布式的启动与验证。
四 常见问题与排查
java -version 输出并调整 JAVA_HOME。SPARK_HOME 与 PATH 是否正确写入并 source 生效。spark-env.sh 中设置 SPARK_MASTER_PORT 规避冲突。spark-defaults.conf 中调小内存,例如:spark.executor.memory 1g
spark.driver.memory 1g
--packages 自动拉取,例如spark-shell --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.3.2五 进阶配置与运行模式
$SPARK_HOME/conf 下复制并重命名模板:cp slaves.template slaves
cp spark-env.sh.template spark-env.sh
编辑 slaves 写入 Worker 主机名/IP,在 spark-env.sh 设置 SPARK_MASTER_HOST 等;主节点执行 ./sbin/start-all.sh 启动集群。spark-defaults.conf 开启事件日志spark.eventLog.enabled true
spark.eventLog.dir hdfs://<namenode>:9000/spark-eventlog
在 spark-env.sh 配置 History Server:export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://<namenode>:9000/spark-eventlog"
启动:$SPARK_HOME/sbin/start-history-server.sh,访问 http://免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。