軟件準備
scala-2.11.8.tgz
spark-1.6.1-bin-hadoop2.6.tgz
Scala 安裝
- master 機器
(1)下載 scala-2.11.8.tgz睡毒, 解壓到 /opt 目錄下橡伞,即: /opt/scala-2.11.8制轰。
(2)修改 scala-2.11.8 目錄所屬用戶和用戶組缆八。
sudo chown -R hadoop:hadoop scala-2.11.8
(3)修改環(huán)境變量文件 .bashrc , 添加以下內(nèi)容。
# Scala Env
export SCALA_HOME=/opt/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin
運行 source .bashrc 使環(huán)境變量生效蛔琅。
(4) 驗證 Scala 安裝
- Slave機器
slave01 和 slave02 參照 master 機器安裝步驟進行安裝胎许。
Spark 安裝
- master 機器
(1) 下載 spark-1.6.1-bin-hadoop2.6.tgz,解壓到 /opt 目錄下罗售。
(2) 修改 spark-1.6.1-bin-hadoop2.6 目錄所屬用戶和用戶組辜窑。
sudo chown -R hadoop:hadoop spark-1.6.1-bin-hadoop2.6
(3) 修改環(huán)境變量文件 .bashrc , 添加以下內(nèi)容。
# Spark Env
export SPARK_HOME=/opt/spark-1.6.1-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
運行 source .bashrc 使環(huán)境變量生效寨躁。
(4) Spark 配置
進入 Spark 安裝目錄下的 conf 目錄穆碎, 拷貝 spark-env.sh.template 到 spark-env.sh。
cp spark-env.sh.template spark-env.sh
編輯 spark-env.sh职恳,在其中添加以下配置信息:
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 節(jié)點的 IP 地址放钦;
- SPARK_WORKER_MEMORY 指定的是 Worker 節(jié)點能夠分配給 Executors 的最大內(nèi)存大猩恰;
- HADOOP_CONF_DIR 指定 Hadoop 集群配置文件目錄操禀。
將 slaves.template 拷貝到 slaves褂策, 編輯其內(nèi)容為:
master
slave01
slave02
即 master 既是 Master 節(jié)點又是 Worker 節(jié)點。
- slave機器
slave01 和 slave02 參照 master 機器安裝步驟進行安裝。
啟動 Spark 集群
- 啟動 Hadoop 集群
Hadoop 集群的啟動可以參見之前的一篇文章 Hadoop 2.6.4分布式集群環(huán)境搭建斤寂,這里不再贅述耿焊。啟動之后,可以分別在 master遍搞、slave01罗侯、slave02 上使用 jps 命令查看進程信息。
- 啟動 Spark 集群
(1) 啟動 Master 節(jié)點
運行 start-master.sh尾抑,結(jié)果如下:
可以看到 master 上多了一個新進程 Master歇父。
(2) 啟動所有 Worker 節(jié)點
運行 start-slaves.sh, 運行結(jié)果如下:
在 master再愈、slave01 和 slave02 上使用 jps 命令,可以發(fā)現(xiàn)都啟動了一個 Worker 進程
(3) 瀏覽器查看 Spark 集群信息护戳。
訪問:http://master:8080, 如下圖:
(4) 使用 spark-shell
運行 spark-shell翎冲,可以進入 Spark 的 shell 控制臺,如下:
(5) 瀏覽器訪問 SparkUI
訪問 http://master:4040, 如下圖:
可以從 SparkUI 上查看一些 如環(huán)境變量媳荒、Job抗悍、Executor等信息。
至此钳枕,整個 Spark 分布式集群的搭建就到這里結(jié)束缴渊。
停止 Spark 集群
- 停止 Master 節(jié)點
運行 stop-master.sh 來停止 Master 節(jié)點。
使用 jps 命令查看當前 java 進程
可以發(fā)現(xiàn) Master 進程已經(jīng)停止鱼炒。
- 停止 Worker 節(jié)點
運行 stop-slaves.sh 可以停止所有的 Worker 節(jié)點
使用 jps 命令查看 master衔沼、slave01、slave02 上的進程信息:
可以看到昔瞧, Worker 進程均已停止指蚁,最后再停止 Hadoop 集群。
遺留問題
設(shè)置的 SCALA_HOME 沒有生效自晰,Spark 啟動時用的是自帶的 Scala 2.10.5 版本凝化。