目标
- 配置一个spark standalone集群 + akka + kafka + scala的开发环境。
- 创建一个基于spark的scala工程,并在spark standalone的集群环境中运行。
- 创建一个基于spark+akka的scala工程,并在spark standalone的集群环境中运行。
- 创建一个基于spark+kafka的scala工程,并在spark standalone的集群环境中运行。
集群框架图
本图主要是说明各个组件可以发布到不同的逻辑机器上。
本文主要是为了配置一个用于开发和测试的环境,所以将所有组件都部署到了一台机器上。
预装的软件配置
CentOS |
7.2.1511 |
|
JDK |
Oracle JDK 1.8 x64 |
/opt/java |
Spark |
2.0.0 |
/opt/spark |
Akka |
2.4.10 |
/opt/akka |
Kafka |
0.8.2.1 |
/opt/kafka |
Scala |
2.11.8 |
/opt/scala |
|
sbt |
0.13.12 |
|
开发环境 |
配置环境变量
- 编辑 ~/.bash_profile
加上下面的语句:
export JAVA_HOME=/opt/java
export SCALA_HOME=/opt/scala
export SPARK_HOME=/opt/spark
export KAFKA_HOME=/opt/kafka
export AKKA_HOME=/opt/akka
export PATH=$PATH:$JAVA_HOME/bin:$SPARK_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin
source ~/.bash_profile
下载并安装必要的软件
tar --directory /opt -xzf jdk-8u102-linux-x64.tar.gz
mv /opt/jdk-8u102 /opt/java
Download URL: http://spark.apache.org/downloads.html
下载spark-2.0.0-bin-hadoop2.7.tgz
解压到目录/opt下,把目录名改成/opt/spark
。
wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.0-bin-hadoop2.7.tgz
tar --directory /opt -xzf spark-2.0.0-bin-hadoop2.7.tgz
mv /opt/spark-2.0.0-bin-hadoop2.7 /opt/spark
Download URL: http://www.scala-lang.org/download/
下载scala-2.11.8.tgz
解压到目录/opt下,把目录名改成/opt/scala
。
wget http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar --directory /opt -xzf scala-2.11.8.tgz
mv /opt/scala-2.11.8 /opt/scala
wget http://downloads.typesafe.com/akka/akka_2.11-2.4.10.zip
upzip -q akka_2.11-2.4.10.zip -d /opt
mv /opt/akka_2.11-2.4.10 /opt/akka
KAFKA
由于我们将会使用Spark内置的Stream KAFKA功能,这个功能现在绑定了KAFKA 8.x.
如果你不用这个功能开发,而是写一个Kafka的Comsumer,可以下载最新的版本。
Download URL: http://kafka.apache.org/downloads.html
下载: kafka_2.11