一.下載或放置壓縮文件
二.解壓文件
tar -zxf 被解壓文件路徑 -C 解壓文件放置路徑
三.配置文件
1.profile
vim /etc/profile
- 末尾添加
export SPARK_HOME=/opt/apps/spark-3.1.2-bin-hadoop2.7
export PATH=$PATH:${SPARK_HOME}/bin
-
按ESC鍵輸入
:wq
保存退出
-
更新profile
source /etc/profile
2.spark-env.sh配置
- 進入目錄spark/conf
cd /opt/apps/spark-3.1.2-bin-hadoop2.7/conf
- 復制spark-env.sh.template 名命為spark-env.sh進行配置
cp -i spark-env.sh.template spark-env.sh
- 進入spark-env.sh
vim spark-env.sh
- 末尾添加代碼
export JAVA_HOME=/opt/apps/jdk1.8.0_221
export HADOOP_CONF_DIR=/opt/apps/hadoop-2.7.7
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=512m
export SPARK_WORKER_CORES=1
export SPARK_EXECUTOR_MEMORY=512m
export SPARK_EXECUTOR_CORES=1
export SPARK_WORKER_TNSTANCES=1
- 按ESC鍵輸入
:wq
保存退出
(2)函數解析
函數 | = | 對應參數 |
---|---|---|
export JAVA_HOME | = | jdk目錄 |
export HADOOP_CONF_DIR | = | Hadoop目錄 |
export SPARK_MASTER_IP | = | 主節點名 |
export SPARK _MASTER_PORT | = | 主節點端口號 |
export SPARK_WORKER_MEMORY | = | 工作節點給Executors的內存 |
export SPARK_WORKER_CORES | = | 節點核數 |
export SPARK_EXECUTOR_MEMORY | = | 每個Executor的內存 |
export SPARK_EXECUTOR_CORES | = | Execytor的核數 |
export SPARK_WORKER_TNSTANCES | = | 節點的工作進程數 |
3.配置slave
- vim 創建slaves在本目錄下
vim slaves
- 末尾添加內容
hadoop1
hadoop2
Hadoop3
按ESC鍵輸入:wq
保存退出
代碼解析
代碼 | 意義 |
---|---|
hadoop1 | 主節點名(可用主節點IP) |
hadoop2 | 從節點名(可用從節點IP) |
Hadoop3 | 從節點名(可用從節點IP) |
4.配置spark-defaults.conf
- 復制spark-defaults.conf.template名為spark-defaults.conf保存到當前目錄
cp -i spark-defaults.conf.template spark-defaults.conf
- 進入spark-defaults.conf
vim spark-defaults.conf
- 在 #Example:下面覆蓋為以下內容
spark.master spark://hadoop1:7077
spark.eventLog.enabled true
spark.eventLog.dir dfs://hadoop1:8020/spark-logs
spark.history.fs.loDirectory hdfs://hadoop1:8020/spark-logs
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.driver.memory 5g
spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
注:#是要保留的
- 按ESC鍵輸入
:wq
保存退出
參數解析
參數 | 解釋 | 默認 |
---|---|---|
spark.master | 主節點所在機器端口 | spark:// |
spark.eventLog.enabled | 是否打開日志文件 | flase (不打開) |
spark.eventLog.dir | 任務日志存放位置,(配置HDFS路徑) | 無 |
spark.history.fs.logDirectory | 存放歷史應用日志文件的目錄 | 無 |
拷貝spark
scp -r /opt/apps/spark-3.1.2-bin-hadoop2.7/ hadoop2:/opt/apps
scp -r /opt/apps/spark-3.1.2-bin-hadoop2.7/ hadoop3:/opt/apps
啟動集群
- 先啟動Hadoop
- 進入spark的sbin目錄
cd /opt/apps/spark-2.4.7-bin-hadoop2.7/sbin
- 輸入
./start-all.sh
驗證
啟動Spark
spark-shell
- 輸入
:quit
退出
集群啟動
1.啟動Hadoop集群
start-all.sh
2.啟動Spark集群
cd /opt/apps/spark-3.1.2-bin-hadoop2.7/sbin
./start-all.sh
網頁輸入
- url
http://hadoop1:8080/