一、軟件准備
scala-2.11.8.tgz
spark-1.6.1-bin-hadoop2.6.tgz
二、Scala 安裝
1、master 機器
(1)下載 scala-2.11.8.tgz, 解壓到 /opt 目錄下,即: /opt/scala-2.11.8。
(2)修改 scala-2.11.8 目錄所屬用戶和用戶組。
|
1
|
sudo chown -R hadoop:hadoop scala-
2.11
.
8
|
(3)修改環境變量文件 .bashrc , 添加以下內容。
|
1
2
3
|
# Scala Env
export SCALA_HOME=/opt/scala-
2.11
.
8
export PATH=$PATH:$SCALA_HOME/bin
|
運行 source .bashrc 使環境變量生效。
(4) 驗證 Scala 安裝
2、Slave機器
slave01 和 slave02 參照 master 機器安裝步驟進行安裝。
三、Spark 安裝
1、master 機器
(1) 下載 spark-1.6.1-bin-hadoop2.6.tgz,解壓到 /opt 目錄下。
(2) 修改 spark-1.6.1-bin-hadoop2.6 目錄所屬用戶和用戶組。
|
1
|
sudo chown -R hadoop:hadoop spark-
1.6
.
1
-bin-hadoop2.
6
|
(3) 修改環境變量文件 .bashrc , 添加以下內容。
|
1
2
3
|
# Spark Env
export SPARK_HOME=/opt/spark-
1.6
.
1
-bin-hadoop2.
6
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
|
運行 source .bashrc 使環境變量生效。
(4) Spark 配置
進入 Spark 安裝目錄下的 conf 目錄, 拷貝 spark-env.sh.template 到 spark-env.sh。
|
1
|
cp spark-env.sh.template spark-env.sh
|
編輯 spark-env.sh,在其中添加以下配置信息:
|
1
2
3
4
5
|
export SCALA_HOME=/opt/scala-
2.11
.
8
export JAVA_HOME=/opt/java/jdk1.
7
.0_80
export SPARK_MASTER_IP=
192.168
.
109.137
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-
2.6
.
4
/etc/hadoop
|
JAVA_HOME 指定 Java 安裝目錄;
SCALA_HOME 指定 Scala 安裝目錄;
SPARK_MASTER_IP 指定 Spark 集群 Master 節點的 IP 地址;
SPARK_WORKER_MEMORY 指定的是 Worker 節點能夠分配給 Executors 的最大內存大小;
HADOOP_CONF_DIR 指定 Hadoop 集群配置文件目錄。
將 slaves.template 拷貝到 slaves, 編輯其內容為:
|
1
2
3
|
master
slave01
slave02
|
即 master 既是 Master 節點又是 Worker 節點。
2、slave機器
slave01 和 slave02 參照 master 機器安裝步驟進行安裝。
四、啟動 Spark 集群
1、啟動 Hadoop 集群
Hadoop 集群的啟動可以參見之前的一篇文章 Hadoop 2.6.4分布式集群環境搭建,這里不再贅述。啟動之后,可以分別在 master、slave01、slave02 上使用 jps 命令查看進程信息。
2、啟動 Spark 集群
(1) 啟動 Master 節點
運行 start-master.sh,結果如下:
可以看到 master 上多了一個新進程 Master。
(2) 啟動所有 Worker 節點
運行 start-slaves.sh, 運行結果如下:
在 master、slave01 和 slave02 上使用 jps 命令,可以發現都啟動了一個 Worker 進程
(3) 瀏覽器查看 Spark 集群信息。
訪問:http://master:8080, 如下圖:
(4) 使用 spark-shell
運行 spark-shell,可以進入 Spark 的 shell 控制台,如下:
(5) 瀏覽器訪問 SparkUI
訪問 http://master:4040, 如下圖:
可以從 SparkUI 上查看一些 如環境變量、Job、Executor等信息。
至此,整個 Spark 分布式集群的搭建就到這里結束。
五、停止 Spark 集群
1、停止 Master 節點
運行 stop-master.sh 來停止 Master 節點。
使用 jps 命令查看當前 java 進程
可以發現 Master 進程已經停止。
2、停止 Worker 節點
運行 stop-slaves.sh 可以停止所有的 Worker 節點
使用 jps 命令查看 master、slave01、slave02 上的進程信息:
可以看到, Worker 進程均已停止,最后再停止 Hadoop 集群。
六、遺留問題
設置的 SCALA_HOME 沒有生效,Spark 啟動時用的是自帶的 Scala 2.10.5 版本。



















