Linux下配置Spark环境
一 环境准备与版本选择
java -version 与 javac -version 确认版本与编译器可用。若未安装,Ubuntu 可:sudo apt update && sudo apt install openjdk-11-jdk。二 安装与基础配置
wget https://downloads.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz,解压至目标目录(如 /opt):sudo tar -xzf spark-3.3.2-bin-hadoop3.tgz -C /opt。~/.bashrc 或 ~/.zshrc 并 source 生效):
export SPARK_HOME=/opt/spark-3.3.2-bin-hadoop3export PATH=$SPARK_HOME/bin:$PATHexport PYSPARK_PYTHON=python3export HADOOP_HOME=/usr/local/hadoop、export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopspark-shell(Scala)或 pyspark(Python),出现 REPL 即表示安装成功。三 集群部署 Standalone 模式
$SPARK_HOME/conf,复制模板并重命名:
cp spark-env.sh.template spark-env.shcp spark-defaults.conf.template spark-defaults.confexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export SPARK_MASTER_HOST=<master-ip>(Master 主机名或 IP)export SPARK_MASTER_PORT=7077(默认)SPARK_WORKER_CORES、SPARK_WORKER_MEMORY、SPARK_WORKER_PORT、SPARK_WORKER_WEBUI_PORTscp -r $SPARK_HOME worker1:$SPARK_HOME),在 Master 执行:
$SPARK_HOME/sbin/start-all.sh(或分别执行 start-master.sh 与 start-workers.sh)jps 应能看到 Master/Worker 进程$SPARK_HOME/logs/四 运行模式与作业提交
spark-shell --master local[*](使用所有 CPU 核心)pyspark --master local[*]$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://<master-ip>:7077 $SPARK_HOME/examples/jars/spark-examples_2.12-3.3.0.jar 10spark-submit --class com.example.App --master yarn --deploy-mode cluster <app.jar> [args]spark-submit --class com.example.App --master yarn --deploy-mode client <app.jar> [args]spark-defaults.conf):
spark.master spark://<master-ip>:7077spark.executor.memory 4g、spark.driver.memory 4g、spark.executor.cores 4spark.eventLog.enabled true、spark.eventLog.dir file:///tmp/spark-events(或写入 HDFS)五 常用优化配置与故障排查
spark-defaults.conf 或提交命令中设置
spark.executor.memory、spark.driver.memory、spark.executor.cores、spark.default.parallelism、spark.sql.shuffle.partitionsspark.eventLog.enabled true,日志目录提前创建(本地或 HDFS)spark-env.sh 设置
SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=<log-dir>"$SPARK_HOME/sbin/start-history-server.sh,访问 http://spark-env.sh 调整 SPARK_MASTER_WEBUI_PORTSPARK_WORKER_CORES、SPARK_WORKER_MEMORY 避免资源争用spark.executor.memory/spark.driver.memory 或增加节点资源tail -f $SPARK_HOME/logs/spark-<user>-*.log 定位启动与运行错误免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。