- 環境準備
開發環境一共3臺linux服務器,要安裝elasticsearch集羣和spark,spark沒有安裝機器,以單機模式啓動爲主,主要目的是學會用spark怎麼對多種不一樣數據源進行計算。java
spark能夠處理的文件包括:普通文本文件,hadoop文件,mysql,hive,hbase,elasticsearch等。這也基本涵蓋了主流的數據格式。node
-
- 搭建elasticsearch2.3.5集羣
因爲3臺linux服務器已經安裝了jdk1.7版本了,所以選擇elasticsearch的2.3.5版本安裝,5.x版本須要用到jdk1.8了。mysql
新建es用戶給elasticsearch集羣使用,下載tgz包後解壓到用戶目錄。linux
[es@cmallpreapp10 elasticsearch-2.3.5]$ pwdsql
/home/es/elasticsearch-2.3.5express
[es@cmallpreapp10 elasticsearch-2.3.5]$ lsbash
bin config data lib LICENSE.txt logs modules NOTICE.txt plugins README.textile服務器
[es@cmallpreapp10 elasticsearch-2.3.5]$app
在3臺服務器都下載好/home/es/elasticsearch-2.3.5目錄,下面配置集羣。curl
vi config/elasticsearch.yml:
# 集羣名稱
cluster.name: elasticsearch
node.name: 10.37.154.83
network.host: 10.37.154.83
discovery.zen.ping.unicast.hosts: ["10.37.154.84:9300", "10.37.154.83:9300", "10.37.154.82:9300"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.fd.ping_timeout: 10s
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
script.inline: on
script.indexed: on
這3臺服務器的cluster.name設置爲同一個值,network.host和node.name設置爲本節點的ip和名稱。discovery.zen.ping.unicast.hosts參數是設置集羣ip地址列表的,將3臺機器的ip地址和端口號寫在這裏,默認9300端口。
在3臺服務器分別啓動es。
bin/elasticsearch –d # -d表示後臺啓動。
最後用curl驗證:
[es@cmallpreapp10 elasticsearch-2.3.5]$ curl 10.37.154.82:9200/_cat/nodes
10.37.154.82 10.37.154.82 9 43 0.00 d * 10.37.154.82
10.37.154.84 10.37.154.84 5 25 0.02 d m 10.37.154.84
10.37.154.83 10.37.154.83 5 40 0.01 d m 10.37.154.83
elasticsearch集羣安裝成功!
-
- 安裝jdk1.8和scala11.8
下面咱們要安裝spark環境了。咱們採用的是最新的spark2.2.0版本,須要jdk1.8,但linux服務器默認安裝的是jdk1.7,所以咱們先安裝jdk1.8。
新建用戶spark,下載jdk1.8 linux版本,解壓到用戶目錄下:
/home/spark/jdk1.8.0_121
將環境變量寫到.bashrc。
export JAVA_HOME=/home/spark/jdk1.8.0_121
export SPARK_HOME=/home/spark/spark-2.2.0-bin-hadoop2.6
export PATH=$JAVA_HOME/bin:$SPARK_HOME/bin:/home/spark/soft/scala-2.11.8/bin:$PATH
咱們要設置SPARK_HOME,scala路徑等。執行source .bashrc。而後驗證版本。
[spark@cmallpreapp10 ~]$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
[spark@cmallpreapp10 ~]$ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_121).
Type in expressions for evaluation. Or try :help.
至此,Jdk1.8和scala11.8安裝成功!
-
- 安裝spark2.2.0
從官網下載2.2.0版本的spark。用spark用戶登陸linux服務器,解壓到/home/spark目錄下:
/home/spark/spark-2.2.0-bin-hadoop2.6
-
- 打包jar工程命令
maven打包:mvn clean scala:compile package
-
- 提交jar包執行
bin/spark-submit --class package.xxxx ./myxxx.jar --master spark://10.34.15.82:7077
- maven操做
- 指定中央存儲庫:
<repositories>
<repository>
<!-- Maven 自帶的中央倉庫使用的Id爲central 若是其餘的倉庫聲明也是用該Id 就會覆蓋中央倉庫的配置 -->
<id>mvnrepository</id>
<name>mvnrepository</name>
<url>http://www.mvnrepository.com/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>