1. 程式人生 > 實用技巧 >kafka 容器化部署

kafka 容器化部署

Spark2.1.0安裝和配置

Spark主要使用HDFS充當持久化層,所以完整地使用Spark需要預先安裝Hadoop

Hadoop的下載地址:http://hadoop.apache.org/
Spark的下載地址:http://spark.apache.org/

Spark在生產環境中,主要部署在安裝Linux系統的叢集中。在Linux系統中安裝Spark需要預先安裝JDK、Scala等所需要的依賴。

由於Spark是計算框架,所以需要預先在叢集內有搭建好儲存資料的持久化層,如HDFS、Hive、Cassandra等,最後可以通過啟動指令碼執行應用。

1.安裝JDK
1-1 使用命令getconf LONG_BIT

檢視Linux系統的位數,然後下載相應版本的JDK
1-2 Oracle JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
1-3 把下載的jdk-8u131-linux-x64.tar.gz安裝包解壓到相應的目錄

tar -zxvf jdk-8u131-linux-x64.tar.gz

1-4 配置環境變數,在/etc/profile配置全域性變數或者在.bash_profile中配置使用者變數
在檔案中新增如下內容,
新增完成之後使用命令source /etc/profle使環境變數生效,
然後使用命令java -version

檢視是否安裝成功

  1. export JAVA_HOME=/usr/java
  2. export JRE_HOME=$JAVA_HOME/jre
  3. export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  4. export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

2.安裝Scala
2-1 下載Scala地址:http://www.scala-lang.org/download/
2-2 根據Spark對應版本選擇下載的Scala版本(scala-2.12.2.tgz)
2-3 如1-3那樣的安裝
2-4 配置環境變數,在/etc/profile

配置全域性變數或者在.bash_profile中配置使用者變數
在檔案中新增如下內容,
新增完成之後使用命令source /etc/profle使環境變數生效,
在命令列輸入Scala,能進入scala命令列說明安裝成功

  1. export SCALA_HOME=/usr/scala
  2. export PATH=$PATH:$SCALA_HOME/bin

3.安裝Hadoop
確認已經安裝好Hadoop:)

4.Spark安裝
4-1 Spark的下載地址:http://spark.apache.org/
4-2 下載對應Hadoop版本的Spark版本(spark-2.1.0-bin-hadoop2.7.tgz)
4-3 按照1-3的方式安裝Spark
4-4 配置環境變數,在/etc/profile配置全域性變數或者在.bash_profile中配置使用者變數
在檔案中新增如下內容,
新增完成之後使用命令source /etc/profle使環境變數生效,

export SPARK_HOME=/usr/spark

4-5 配置conf/spark-env.sh檔案
官方配置檔案參考:http://spark.apache.org/docs/latest/configuration.html
在檔案中加入如下內容:

  1. export SCALA_HOME=/usr/scala
  2. export SPARK_WORK_MEMORY=4g
  3. export SPARK_MASTER_IP=Master
  4. export MASTER=spark://Master:7077

引數解釋:

  • SPARK_WORK_MEMORY決定在每一個Worker節點上可用的最大記憶體,增加這個數可以在記憶體中快取更多資料,但一定要給Slave的作業系統和其他服務預留足夠記憶體
  • SPARK_MASTER_IP引數可以是具體的IP地址也可以是hostname,系統會更具hosts檔案進行解析
  • MASTER配置埠號

PS:SPARK_MASTER_IP和MASTER必須配置否則會造成Slave無法註冊主機錯誤

4-6 配置conf/slaves檔案 將節點的主機名加入到slaves檔案中

  1. Slave1
  2. Slave2
  3. ...
  4. ...

5.啟動Spark叢集

Spark叢集需要和Hadoop叢集一起啟動

5-1 Spark啟動和關閉

  1. ./sbin/start-all.sh
  2. ./sbin/stop-all.sh

5-2 在Master節點檢視是否啟動成功

  1. # jps
  2. 2127 Master

能檢視都Master就成功了

5-3 利用SSH免密碼登入Worker節點檢視是否啟動成功

關於SSH的配置在前面的Hadoop配置中有

  1. # jps
  2. 1405 Worker

5-4 完全啟動的一個Spark叢集的程序如下:

  1. 2127 Master
  2. 1405 Worker
  3. 7396 NameNode
  4. 7594 SecondaryNameNode
  5. 1053 DataNode
  6. 7681 ResourceManager
  7. 31935 NodeManager

如缺少程序可以在logs資料夾下檢視相應的日誌,具體檢視哪裡出了問題 針對解決。

6.Spark叢集樣例執行

6-1 以./run-example的方式執行

./bin/run-example org.apache.spark.examples.SparkPi

6-2 以./Spark Shell的方式執行

./bin/spark-shell

6-3 通過web ui 檢視叢集狀態

  1. http://master:8080
  2. http://master:4040