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
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
- export JAVA_HOME=/usr/java
- export JRE_HOME=$JAVA_HOME/jre
- export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
- 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命令列說明安裝成功
- export SCALA_HOME=/usr/scala
- 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
在檔案中加入如下內容:
- export SCALA_HOME=/usr/scala
- export SPARK_WORK_MEMORY=4g
- export SPARK_MASTER_IP=Master
- 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檔案中
- Slave1
- Slave2
5.啟動Spark叢集
Spark叢集需要和Hadoop叢集一起啟動
5-1 Spark啟動和關閉
- ./sbin/start-all.sh
- ./sbin/stop-all.sh
5-2 在Master節點檢視是否啟動成功
- # jps
- 2127 Master
能檢視都Master就成功了
5-3 利用SSH免密碼登入Worker節點檢視是否啟動成功
關於SSH的配置在前面的Hadoop配置中有
- # jps
- 1405 Worker
5-4 完全啟動的一個Spark叢集的程序如下:
- 2127 Master
- 1405 Worker
- 7396 NameNode
- 7594 SecondaryNameNode
- 1053 DataNode
- 7681 ResourceManager
- 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 檢視叢集狀態
- http://master:8080
- http://master:4040