- 环境准备
开发环境一共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>