Spark详解(二):Spark完全分布式环境搭建
生活随笔
收集整理的這篇文章主要介紹了
Spark详解(二):Spark完全分布式环境搭建
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 前言
本文搭建了一個由三節(jié)點(master、slave1、slave2)構(gòu)成的Spark完全分布式集群,并通過Spark分布式計算的一個示例測試集群的正確性。本文將搭建一個支持Yarn的完全分布式環(huán)境
2. Spark架構(gòu)
Spark 使用的是主從架構(gòu)體系
3. Apache Spark環(huán)境搭建
需要配置的文件有 slaves spark-env.sh spark-defaults.conf
spark-env.sh
#!/usr/bin/env bash export JAVA_HOME=/opt/java/jdk1.8.0_151 export HADOOP_HOME=/opt/hadoop/hadoop-2.7.6 export HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.7.6/etc/hadoop export SCALA_HOME=/opt/scala/scala-2.11.12 export SPARK_HOME=/opt/spark/spark-2.3.1-bin-hadoop2.7 export YARN_HOME=/opt/hadoop/hadoop-2.7.6 export YARN_CONF_DIR=//opt/hadoop/hadoop-2.7.6/etc/hadoop export SPARK_MASTER_IP=node91 export SPARK_MASTER_PORT=7077 export SPARK_MASTER_WEBUI_PORT=8099 export SPARK_WORKER_CORES=16 export SPARK_WORKER_MEMORY=16g export SPARK_WORKER_INSTANCES=1 export SPARK_WORKER_WEBUI_PORT=8081 export SPARK_EXECUTOR_CORES=4 export SPARK_EXECUTOR_MEMORY=4g #export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar #export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATH export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node91:9000/user/root/sparkhistory"# spark standalone模式 # spark_WORKER_CORES spark每個worker進程分配cpu核數(shù) # spark_WORKER_INSTANCES spark每個節(jié)點分配多少個worker進程 # spark_WORKER_MEMORY spark每個worker進程占用內(nèi)存 # spark_EXECUTROR_CORES spark每個executor占用cpu核數(shù) # spark_EXECUTOR_MEMORY spark每個executor占用內(nèi)存spark-defaults.conf
# Example: spark.master spark://node91:7077 spark.eventLog.enabled true spark.eventLog.compress true park.eventLog.dir hdfs://node91:9000/user/root/sparkhistory spark.history.fs.logDirectory hdfs://node91:9000/user/root/sparkhistory spark.yarn.historyServer.address node91:18080 spark.history.ui.port 18080 spark.ui.port 8099 # spark.serializer org.apache.spark.serializer.KryoSerializer # spark.driver.memory 5g # spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"slaves
node23 node244. Apache Spark配置高可用性
使用zookeeper配置高可用性 利用StandyBy的Master節(jié)點進行備份
1.配置spark-env.sh export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=root2:2181,root4:2181,root5:2181" 2.然后再你需要作為備用啟動的Master節(jié)點上 配置 export SPARK_MASTER_IP=root2 指定Spark Master 的ip地址 3.然后再你需要作為備用啟動的Master節(jié)點上 啟動start-master.sh5. 啟動和關(guān)閉 Apache Spark集群
5.1 啟動Apache Spark
啟動 Spark Master 進程
start-master.sh啟動 Spark Slaves 進程
start-slaves.sh啟動 Spark History Server 進程
start-history-server.sh5.2 關(guān)閉Apache Spark
關(guān)閉 Spark Master 進程
stop-master.sh關(guān)閉 Spark Slaves 進程
stop-slaves.sh關(guān)閉 Spark History Server 進程
stop-history-server.sh6. 測試
PI 案例:
6.1 Standyalone 提交命令
spark-submit \ --master spark://node91:7077 \ --class org.apache.spark.examples.SparkPi \ examples/jars/spark-examples_2.11-2.3.1.jar 100006.2 YARN提交命令
spark-submit \ --master yarn \ --class org.apache.spark.examples.SparkPi \ examples/jars/spark-examples_2.11-2.3.1.jar 100007. Web UI
Spark Master UI:8089
Spark Worker UI: 8081
Spark History Server UI:18080
Spark Master : 提交作業(yè)端口 7077
總結(jié)
以上是生活随笔為你收集整理的Spark详解(二):Spark完全分布式环境搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark详解(一):Spark及其生态
- 下一篇: Spark详解(三):Spark编程模型