# Spark 2.0集群環境的安裝步驟
## 一、環境準備
### 1. 硬件要求
- 至少3臺服務器(1個Master節點,2個Worker節點)
- 每臺機器建議配置:
- CPU: 4核以上
- 內存: 8GB以上
- 磁盤: 50GB以上可用空間
### 2. 軟件要求
- 操作系統: Linux(推薦CentOS 7/Ubuntu 16.04+)
- Java: JDK 1.8+
- Scala: 2.11.x(與Spark 2.0兼容版本)
- Hadoop: 2.7+(可選,如需HDFS支持)
## 二、基礎環境配置
### 1. 安裝JDK
```bash
# 所有節點執行
sudo yum install java-1.8.0-openjdk-devel # CentOS
# 或
sudo apt-get install openjdk-8-jdk # Ubuntu
# 驗證安裝
java -version
# 在Master節點執行
ssh-keygen -t rsa
ssh-copy-id worker1
ssh-copy-id worker2
# 所有節點修改/etc/hosts
192.168.1.100 master
192.168.1.101 worker1
192.168.1.102 worker2
wget https://archive.apache.org/dist/spark/spark-2.0.0/spark-2.0.0-bin-hadoop2.7.tgz
tar -zxvf spark-2.0.0-bin-hadoop2.7.tgz
mv spark-2.0.0-bin-hadoop2.7 /opt/spark
# 所有節點修改~/.bashrc
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
source ~/.bashrc
cd /opt/spark/conf
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
編輯spark-env.sh:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=4g
編輯slaves文件:
worker1
worker2
# 在Master節點執行
$SPARK_HOME/sbin/start-master.sh
# 在Master節點執行
$SPARK_HOME/sbin/start-slaves.sh
訪問Web UI:http://master:8080
應看到2個Worker節點注冊成功
spark-shell --master spark://master:7077
val data = Array(1, 2, 3, 4, 5)
val distData = sc.parallelize(data)
distData.reduce(_ + _)
spark-submit --master spark://master:7077 \
--class org.apache.spark.examples.SparkPi \
$SPARK_HOME/examples/jars/spark-examples_2.11-2.0.0.jar 10
Worker節點無法連接Master
sudo systemctl stop firewalld # CentOS
sudo ufw disable # Ubuntu
ping master
內存不足錯誤
spark-env.sh中的SPARK_WORKER_MEMORY值export SPARK_DAEMON_MEMORY=2g
端口沖突
export SPARK_MASTER_WEBUI_PORT=8081
| 命令 | 說明 |
|---|---|
start-master.sh |
啟動Master節點 |
start-slaves.sh |
啟動所有Worker節點 |
stop-master.sh |
停止Master節點 |
stop-slaves.sh |
停止所有Worker節點 |
spark-daemon.sh |
啟停單個守護進程 |
注意:本文檔基于Spark 2.0.0版本編寫,其他版本可能需要調整配置參數。生產環境建議使用最新穩定版。 “`
該文檔包含約1000字,采用Markdown格式編寫,包含代碼塊、表格、列表等元素,適合作為技術文檔使用。實際部署時請根據具體環境調整參數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。