Spark 集群環境搭建


 

思路:

        ①先在主機s0上安裝Scala和Spark,然后復制到其它兩台主機s1、s2

        ②分別配置三台主機環境變量,並使用source命令使之立即生效

 

主機映射信息如下:

192.168.32.100 s0
192.168.32.101 s1
192.168.32.102 s2

 

搭建目標:

s0 :  Master

s1 :  Worker

s2 :  Worker

 

 

1、准備

Hadoop 版本:2.7.7

Scala版本:2.12.8

Spark版本:2.4.3

 

2、安裝Hadoop

下載地址:

http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

 

Hadoop 安裝步驟參考(示例版本與HDFS端口配置略有差異,根據實際情況調整):

https://www.cnblogs.com/jonban/p/hadoop.html

 

3、安裝Scala

下載地址:

https://downloads.lightbend.com/scala/2.12.8/scala-2.12.8.tgz

 

解壓到 /opt 下

tar -zxvf scala-2.12.8.tgz -C /opt/

 

環境變量可暫時不配置,等到全部配置完成后統一配置環境變量,並使之生效。

配置環境變量,追加如下內容:

export SCALA_HOME=/opt/scala-2.12.8 export PATH=$PATH:$SCALA_HOME/bin

 

可用追加命令,如下所示:

echo -e '\nexport SCALA_HOME=/opt/scala-2.12.8\nexport PATH=$PATH:$SCALA_HOME/bin\n' >> /etc/profile

 

使用source命令使配置立即生效

source /etc/profile

 

 

4、安裝Spark

Spark下載地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz

 

也可到官網下載其它版本,下載頁面地址如下:

http://spark.apache.org/downloads.html

 

解壓到 /opt 下

tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz -C /opt/

 

 

5、修改配置文件

進入配置文件目錄

cd /opt/spark-2.4.3-bin-hadoop2.7/conf

 

配置 log4j.properties

mv log4j.properties.template log4j.properties

 

 

配置 slaves

mv slaves.template slaves

內容如下:

s1
s2

 

 

配置 spark-env.sh

cp spark-env.sh.template spark-env.sh

在 spark-env.sh 中添加如下內容(以下為本機示例,配置路徑根據實際情況調整):

export JAVA_HOME=/opt/jdk1.8.0_192
export SCALA_HOME=/opt/scala-2.12.8
export HADOOP_HOME=/opt/hadoop-2.7.7
export HADOOP_CONF_DIR=/opt/hadoop-2.7.7/etc/hadoop
export SPARK_MASTER_IP=s0
export SPARK_MASTER_HOST=s0
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_HOME=/opt/spark-2.4.3-bin-hadoop2.7
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.7/bin/hadoop classpath)

 

 

6、遠程復制Scala 安裝目錄到其它兩台主機s1、s2

scp -r /opt/scala-2.12.8 root@s1:/opt/
scp -r /opt/scala-2.12.8 root@s2:/opt/

 

 

7、遠程復制Spark 安裝目錄到其它兩台主機s1、s2

scp -r /opt/spark-2.4.3-bin-hadoop2.7 root@s1:/opt/
scp -r /opt/spark-2.4.3-bin-hadoop2.7 root@s2:/opt/

 

 

8、配置三台主機環境變量

在 /etc/profile 中追加如下內容:

export SCALA_HOME=/opt/scala-2.12.8
export PATH=$PATH:$SCALA_HOME/bin


export SPARK_HOME=/opt/spark-2.4.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

 

追加命令如下:

echo -e '\nexport SCALA_HOME=/opt/scala-2.12.8\nexport PATH=$PATH:$SCALA_HOME/bin\n' >> /etc/profile
echo -e '\nexport SPARK_HOME=/opt/spark-2.4.3-bin-hadoop2.7\nexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin\n' >> /etc/profile

 

使用source命令使配置立即生效

source /etc/profile

 

 

9、啟動

啟動Hadoop集群

start-dfs.sh
start-yarn.sh

 

啟動Spark

start-master.sh
start-slaves.sh

 

 

10、查看狀態

在三台主機上分別輸入jps命令查看狀態,結果如下:

[root@s0 conf]# jps
2097 ResourceManager
1803 NameNode
2675 Master

 

[root@s1 ~]# jps
1643 NodeManager
1518 DataNode
1847 Worker

 

[root@s2 ~]# jps
1600 NodeManager
1475 DataNode
1804 Worker

 

符合預期結果!

 

11、驗證

瀏覽器輸入地址:

http://s0:8080/

 

截圖如下:

 

 

集群狀態完美!

 

 

12、測試

 輸入spark-shell 命令,如下所示:

 

創建 wordcount.txt 文件,內容如下:

Hello Hadoop
Hello Hbase
Hello Spark

  

上傳 wordcount.txt 到 HDFS文件系統上

hdfs dfs -mkdir -p /spark/input
hdfs dfs -put wordcount.txt /spark/input

 

輸入scala 統計單詞個數程序,如下:

sc.textFile("hdfs://s0:8020/spark/input/wordcount.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).collect

 

輸出結果:

res0: Array[(String, Int)] = Array((Spark,1), (Hello,3), (Hbase,1), (Hadoop,1)) 

 

 

 

程序正常運行!

 

 

13、停止集群

stop-slaves.sh
stop-master.sh

 

停止Hadoop集群

stop-yarn.sh
stop-dfs.sh

 

 

 

 

Spark 集群環境搭建

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM