设为首页 加入收藏

TOP

Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境(二)
2017-10-10 12:11:24 】 浏览:9189
Tags:Spark 集群 Akka Kafka Scala 开发 配置 环境
-0.8.2.1.tgz
解压到目录/opt下,把目录名改成/opt/kafka

wget http://mirrors.cnnic.cn/apache/kafka/0.10.0.1/kafka_2.11-0.8.2.1.tgz
tar --directory /opt kafka_2.11-0.8.2.1.tgz
mv /opt/kafka_2.11-0.8.2.1 /opt/kafka
  • sbt
    sbt包用于开发环境,在测试环境和生产环境可以不要。
    可以使用yum安装。
curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
sudo yum install sbt

配置软件

  • 复制AKKA的类库到spark里,这样spark应用就可以使用AKKA的类库。
    因为有两个spark配置需要设定class path,我们分别针对它们建两个目录。
    一个是$SPARK_HOME/extraClassPath/driver
    另外一个是$SPARK_HOME/extraClassPath/executor
    复制/opt/akka/lib/akka/akka和/opt/akka/lib/akka/config-到这两个目录里。

    注意:不要复制所有的akka文件,akka类库中的某些文件的版本可能会和spark的有冲突,
    在运行apark应用时,会出现java.lang.ExceptionInInitializerError。

mkdir -p $SPARK_HOME/extraClassPath/driver
cp -n /opt/akka/lib/akka/akka* $SPARK_HOME/extraClassPath/driver/
cp -n /opt/akka/lib/akka/config-* $SPARK_HOME/extraClassPath/driver/

mkdir -p $SPARK_HOME/extraClassPath/executor
cp -n /opt/akka/lib/akka/akka* $SPARK_HOME/extraClassPath/executor/
cp -n /opt/akka/lib/akka/config-* $SPARK_HOME/extraClassPath/executor/
  • 在spark的配置文件spark-defaults.conf中,指定classPath
    进入到$SPARK_HOME/conf目录中,看有没有文件spark-defaults.conf
    如果没有复制spark-defaults.conf.templatespark-defaults.conf
    编辑spark-defaults.conf,加入下面两行。

    spark.driver.extraClassPath        /opt/spark/extraClassPath/driver/*
    spark.executor.extraClassPath      /opt/spark/extraClassPath/executor/*
cp -n $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf
echo "spark.driver.extraClassPath        /opt/spark/extraClassPath/driver/*" >> $SPARK_HOME/conf/spark-defaults.conf
echo "spark.executor.extraClassPath      /opt/spark/extraClassPath/executor/*" >> $SPARK_HOME/conf/spark-defaults.conf
  • 复制KAFKA的类库到spark里。
mkdir -p $SPARK_HOME/extraClassPath/driver
cp -n $KAFKA_HOME/libs/kafka_2.11-0.8.2.1.jar $SPARK_HOME/extraClassPath/driver/
cp -n $KAFKA_HOME/libs/kafka-clients-0.8.2.1.jar $SPARK_HOME/extraClassPath/driver/
cp -n $KAFKA_HOME/libs/metrics-core-2.2.0.jar $SPARK_HOME/extraClassPath/driver/

mkdir -p $SPARK_HOME/extraClassPath/executor
cp -n $KAFKA_HOME/libs/kafka_2.11-0.8.2.1.jar $SPARK_HOME/extraClassPath/executor/
cp -n $KAFKA_HOME/libs/kafka-clients-0.8.2.1.jar $SPARK_HOME/extraClassPath/executor/
cp -n $KAFKA_HOME/libs/metrics-core-2.2.0.jar $SPARK_HOME/extraClassPath/executor/

验证安装的结果

测试spark部署情况

运行下面的命令:

$SPARK_HOME/bin/run-example SparkPi 10

正常的情况下,会有一大堆输出,看看有没有:
Pi is roughly 3.14

  • 启动spark集群master server
$SPARK_HOME/sbin/start-master.sh

master服务,默认会使用7077这个端口。可以通过其日志文件查看实际的端口号。

  • 启动spark集群slave server
$SPARK_HOME/sbin/start-slave.sh spark://$(hostname):7077

后面的参数是master URL.

  • 在集群环境中,运行spark的sample
$SPARK_HOME/bin/run-example --master spark://$(hostname):7077 SparkPi 10

后面的参数是master URL.
正常的情况下,会有一大堆输出,看看有没有:
7077
Pi is roughly 3.14

  • 关闭spark的master服务
$SPARK_HOME/sbin/stop-master.sh
  • 关闭spark的slave服务
$SPARK_HOME/sbin/stop-slave.sh

测试Kafka的部署情况

  • 启动kafka服务器
# Start zookeeper server
gnome-terminal -x sh -c '$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties; bash'

# Wait zookeeper server is started.
sleep 5s

# Start kafka serv
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spark集群 + Akka + Kafka + Scal.. 下一篇Spark集群 + Akka + Kafka + Scal..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目