[关闭]
@rickyChen 2016-07-27T18:05:48.000000Z 字数 2104 阅读 3535

Spark 2.0.0-preview流式处理环境部署

Spark


环境准备

Hadoop Yarn

Hadoop 2.5.0-cdh5.3.2

Intellij Idea

Intellij IDEA 2016.3

其他

java version "1.8.0_45"
scala 2.11.8

Spark 2.0.0-preview安装配置

  1. 从官网拉取预编译版本spark-2.0.0-preview-bin-hadoop2.7.tgz/usr/local目录下,解压并创建软链接

    1. cd /usr/local
    2. wget http://mirror.bit.edu.cn/apache/spark/spark-2.0.0-preview/spark-2.0.0-preview-bin-hadoop2.7.tgz
    3. tar -xvf spark-2.0.0-preview-bin-hadoop2.7.tgz
    4. ln -s spark-2.0.0-preview-bin-hadoop2.7 spark
  2. 修改Spark配置文件,指定Hadoop Yarn路径

    1. cd /usr/local/spark/conf
    2. mv spark-default.conf.template spark-default.conf
    3. mv spark-env.sh.template spark-env.sh
    4. vim spark-env.sh
    5. export HADOOP_CONF_DIR=/etc/hadoop/conf

下载相关依赖

  从http://search.maven.org/上拉取Spark Streaming连接Kafka Broker的相关依赖spark-streaming-kafka-0-8-assembly_2.11-2.0.0-preview.jar

运行Spark Streaming python测试脚本

  1. cd /usr/loca/spark
  2. bin/spark-submit --jars jars/spark-streaming-kafka-0-8-assembly_2.11-2.0.0-preview.jar examples/src/main/python/streaming/direct_kafka_wordcount.py broker Topic

Spark 1.4.1升级到2.0.0-preview遇到的坑

Spark Streaming以及Kafka依赖规则微调(pom.xml)

import org.apache.spark.Logging的问题

  1. trait Logging{
  2. }
  1. private[spark] trait Logging{
  2. ...
  3. }

  原项目中继承org.apache.spark.Logging类,并自定义了日志打印方法。但是在2.0.0-preview版本中,org.apache.spark.Logging这个类并不存在,转移到org.apache.spark.internal.Logging。由上述源码可知,在2.0.0-preview版本中,这已经不是DeveloperApi了。
 

提交代码报错Caused by: java.lang.ClassNotFoundException: scala.collection.GenTraversableOnce$class

解决思路:

统一整个系统Scala、JDK版本,更换Spark包。

填坑过程:
1. 因为原来线上跑的Spark版本为spark-1.4.1-bin-hadoop2.4,从Spark官网拉取spark-2.0.0-preview-bin-hadoop2.4预编译版本,运行DirectKafkaWordCount.scala报上述错误,怀疑是Scala版本问题,于是统一系统Scala版本为2.11.8,JDK版本为1.8.0_45,任报上述错误。
2. 编写SparkPi Scala程序,打包上传服务器,运行验证Spark安装正确。
3. 运行官方案例direct_kafka_wordcount.py测试,错误依旧存在

bin/spark-submit examples/src/main/python/streaming/direct_kafka_wordcount.py broker topic
4. 拉取spark-2.0.0-preview-bin-hadoop2.7版本,错误消失,具体原因暂时不明。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注