本项目是为网站日志流量分析做的基础:网站日志流量分析系统,Kafka、HBase集群的搭建可参考:使用Docker搭建Spark集群(用于实现网站流量实时分析模块),里面有关于该搭建过程

  本次对接Kafka及HBase是基于使用Docker搭建Spark集群(用于实现网站流量实时分析模块)搭建的6个Docker容器来实现的对接。

  代码地址:https://github.com/Simple-Coder/sparkstreaming-demo

一、SparkStreaming整合Kafka

1、maven代码

2、启动测试

2.1启动3个kafka并测试

生产端消息如下:

接收到的消息如下:

2.2spark提交jar任务,SparkStreaming消费Kafka消息

  console-producer生产消息,spartkStreaming主动拉取消息,console-consumer也能收到消息,结果如下: 

console-consumer接收到的消息如下:

至此、Spark对接Kafka完成

3、问题总结

  KafkaUtils的选择,由于maven中央库只有1.6.3版本的spark-streaming-kafka,其他版本的spark-streaming-kafka-***的api调用个人不习惯,还是停留在之前的api,所以这可能是导致以下问题的所在,不过还好问题解决

①ClassNotFoundException: org.apache.kafka.common.utils.Utils:上传kafka-clients-0.8.2.0.jar至spark的jars目录

②java.lang.NoClassDefFoundError:org/apache/spark/streaming/kafka/KafkaUtils :上传kafka_2.11-0.8.2.1.jar、spark-streaming-kafka_2.11-1.6.3.jar至Spark的jars目录

③java.lang.NoClassDefFoundError:org/apache/spark/logging:开头maven结构图中,将工程jar上传至spark的jars目录

④NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer:上传zkclient-0.11.jar至spark的jars目录

二、SparkStreaming整合HBase

1、读取HBase表

1.1 scala代码

1.2 提交jar任务测试

  由于是docker容器搭建的集群,本地不容易测试,只好提交jar至docker容器

提交任务截图如下:

HBase表t2数据如下:

  至此scala读取HBase数据成功,期间还是同样的问题,缺少关于HBase的jar,将maven依赖的HBase全部上传至Spark的jars目录下即可。

2、写入HBase表

2.1 scala代码

2.2 提交jar任务至spark测试

提交jar任务如下

 HBase命令行查看如下:

  至此、spark写入hbase成功。

3、过滤器

  随即的返回row的数据,chance取值为0到1.0,如果<0则为空,如果>1则包含所有的行。

3.1 scala代码

3.2 提交jar至spark测试

第一次如下:

第二次如下:

  至此、spark对接kafka及HBase完成,欢迎各位读者指正、交流~

Spark对接Kafka、HBase的更多相关文章

  1. 大牛博客!Spark / Hadoop / Kafka / HBase / Storm

    在这里,非常感谢下面的著名大牛们,一路的帮助和学习,给予了我很大的动力! 有了Hadoop,再次有了Spark,一次又一次,一晚又一晚的努力相伴! HBase简介(很好的梳理资料) 1. 博客主页:h ...

  2. spark streaming 对接kafka记录

    spark streaming 对接kafka 有两种方式: 参考: http://group.jobbole.com/15559/ http://blog.csdn.net/kwu_ganymede ...

  3. kerberos环境下spark消费kafka写入到Hbase

    一.准备环境: 创建Kafka Topic和HBase表 1. 在kerberos环境下创建Kafka Topic 1.1 因为kafka默认使用的协议为PLAINTEXT,在kerberos环境下需 ...

  4. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  5. Spark Streaming+Kafka

    Spark Streaming+Kafka 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端, ...

  6. spark与kafka集成进行实时 nginx代理 这种sdk埋点 原生日志实时解析 处理

    日志格式202.108.16.254^A1546795482.600^A/cntv.gif?appId=3&areaId=8213&srcContId=2535575&area ...

  7. Spark踩坑记:Spark Streaming+kafka应用及调优

    前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark streaming从k ...

  8. 4、spark streaming+kafka

    一.Receiver模式 1. receiver模式原理图 在SparkStreaming程序运行起来后,Executor中会有receiver tasks接收kafka推送过来的数据.数据会被持久化 ...

  9. spark streaming kafka example

    // scalastyle:off println package org.apache.spark.examples.streaming import kafka.serializer.String ...

随机推荐

  1. 题解【AcWing272】最长公共上升子序列

    题面 一道线性 DP 好题. 设 \(dp_{i,j}\) 表示在所有 \(a_{1\dots i}\),\(b_{1\dots j}\) 的子序列中,以 \(b_j\) 结尾的最长公共上升子序列的最 ...

  2. Pikachu-File Inclusion(文件包含漏洞)

    File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中 ...

  3. mysql 视图 触发器 存储过程 函数事务 索引

    mysql 视图 触发器 存储过程 函数事务 索引 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当 ...

  4. overfitting &&underfitting

    1.过拟合 然能完美的拟合模型,但是拟合出来的模型会含有大量的参数,将会是一个含有大量参数的非常庞大的模型,因此不利于实现 1.1解决过拟合的方法 1.1.1 特征选择,通过选取特征变量来减少模型参数 ...

  5. Latex中遇到 No room for a new \count 问题的解决

    在tex文件中加入etex宏包. \usepackage{etex} 最好加载第一个宏包位置 PDF合并 \documentclass[a4paper]{article}\usepackage{pdf ...

  6. 欢迎来到L T X的博客 & 博客转型公告

    这里是L T X,一位来自重庆的学生的个人博客. 由于博主以前是OIer,目前博客里主要是OI相关的内容. 但是现在博主已经退役了,因此博客将会转向...嗯...那种...就是那种...比较奇怪的类型 ...

  7. Oracle - 拼接多个字段 - wm_concat()函数

    Oracle wm_concat()函数oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并如:s ...

  8. C语言回文链表

    要求:请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true思路:利用快慢双指针+反转半链 ...

  9. uipath_excel

    1.excel建表 https://jingyan.baidu.com/article/95c9d20d0ee5e2ec4e75618d.html 2.具体操作 https://blog.csdn.n ...

  10. spring微服务实战 - 1 一个完整的HTTP JSON REST服务

    import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.Spr ...