Apach Zeppelin搭配Livy接入kafka使用spark streaming处理
来源:互联网 发布:oracle 数据库权限角色 编辑:程序博客网 时间:2024/05/19 14:37
一.Zeppelin的基础设置可以参考上篇博文
二.接入kafka数据源
参考这个例子,接入kafka源需要先配置依赖,点击zeppelin界面右上角设置(齿轮标记),进入interpreter设置,再点击蓝色interpreter设置,在spark interpreter设置中添加依赖
总共需要添加下面五个依赖:
kafka_2.11-0.8.2.2.jar
kafka-clients-0.8.2.2.jar
metrics-core-2.2.0.jar
spark-streaming-kafka-0-8_2.11-2.1.0.jar
zkclient-0.10.jar
需要注意的是scala版本和kafka版本,spark只支持0.8+和0.10+的kafka
参考kafka文档在本地启动最简单的zookeeper和producer,使用crontab向kafka输出dummy数据,可以在zeppelin中读到对应的内容如下:
三.在livy中接入kafka数据源
在livy中接入kafka关键的不同在于依赖的设置,zeppelin中设置livy需要的kafka依赖并不起作用:
在配置livy的kafka依赖时,像使用 spark interpreter时一样在zeppelin中添加依赖并不起作用,会产生类似下面的错误:
<console>:23: error: object kafka is not a member of package <root>
或者
java.lang.NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer
at kafka.consumer.Consumer$.create(ConsumerConnector.scala:94)
at org.apache.spark.streaming.kafka.KafkaReceiver.onStart(KafkaInputDStream.scala:100)
原因还是在于没有找到依赖:
在livy中载入依赖有两种方式:
一种是将需要的jar包放入 $livy_home/rsc-jars(对应livy.io下载的预编译版) 或者 $livy_home/rsc/target/jars/ (对应手动编译版)
二是在$SPARK_HOME/conf/spark-defaults.conf 中设置spark.jars变量
另外一个需要注意的问题是编译livy时的spark版本:
livy 0.4 snapshot版本与spark 不同版本兼容性导致的报错:
主要原因在于livy 4.0使用了SparkListener,而SparkListener 在spark 2.x中和spark 1.x中是不兼容的的,所以需要根据livy 使用的spark版本学则编译选项,默认是针对spark 1.6编译的.
类似的错误还有
java.lang.NoClassDefFoundError: org/apache/spark/internal/Logging
也是因为spark 2.x 里面不包含上面这个logging类,这个类只存在于spark 1.6
处理完上述问题后接入kafka数据源即可运行:
- Apach Zeppelin搭配Livy接入kafka使用spark streaming处理
- Apach Zeppelin和Apach Livy搭配使用配置
- apach zeppelin中使用spark streaming:基本功能
- 使用Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析【公安大数据】
- Spark Streaming整合Kafka
- Spark Streaming + kafka
- Kafka+Spark Streaming集成
- kafka + spark streaming 架构
- spark streaming+kafka
- Spark Streaming + Kafka
- kafka-spark streaming-hbase
- spark streaming 整合kafka
- spark streaming + kafka
- flume kafka spark streaming
- Kafka->Spark Streaming->mongodb
- spark streaming kafka wordcount
- Spark & Livy
- spark livy
- 欢迎使用CSDN-markdown编辑器
- Java之系统属性
- 借我4月
- 使用Fiddler进行IOS APP的HTTP抓包
- 关于java中比较所用的"=="与s.equals()方法的不同
- Apach Zeppelin搭配Livy接入kafka使用spark streaming处理
- 期货交易中的一些术语
- iOS-UICollectionViewLayout方法简单介绍
- C语言图形界面编程
- CentOS7 minimal下MySQL安装
- elasticsearch-- search guard安装与配置
- Node.js
- CODEVS 1332 上白泽慧音
- 生产管理企业科学统计产品数据,高效完成数据分析