环境准备: ubuntu 开发环境: jdk 1.8 scala:2.11.0 spark 2.0 zookeeper 3.4.6 kafka  2.12-0.10.2.0 开始整合: 1 zookeeper的安装,这里我使用的zookeeper版本为3.4.6 a, 下载zookeeper安装包zookeeper-3.4.6.tar.gz   b, 解压安装文件到/usr/local/ 这是我的安装目录,具体可根据自己的情况而定: sudo tar -zxvf zookeeper-3.4.6.…
基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming.Spark SQL.MLlib.GraphX,这些内建库都提供了高级抽象,可以用非常简洁的代码实现复杂的计算逻辑.这也得益于Scala编程语言的简洁性.这里,我们基于1.3.0版本的Spark搭建了计算平台,实现基于Spark Streaming的实时计算.我们的应用场景是分析用户使用手机App的行为,描述如下所示: 手机客户端会收集用户的行为事件(我们以点击事…
一.nifi基本配置 1. 修改各节点主机名,修改/etc/hosts文件内容. 192.168.0.120 master 192.168.0.121 slave1 192.168.0.122 slave2 具体请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 2. 安装zookeeper分布式集群 具体请参考<Kafka:ZK+Kafka+Spark Streaming集…
日志=>flume=>kafka=>spark streaming=>hbase 日志部分 #coding=UTF-8 import random import time url_paths = [ "class/112.html", "class/128.html", "learn/821", "class/145.html", "class/146.html", "cl…
将arvo格式数据发送到kafka的topic 第一步:定制avro schema: { "type": "record", "name": "userlog", "fields": [ {"name": "ip","type": "string"}, {"name": "identity"…
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何安装hadoop2.9.0请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0> 如何配置zookeeper3.4.12 请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(八)安装zook…
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何安装hadoop2.9.0请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0> 如何配置hadoop2.9.0 HA 请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoo…
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何安装hadoop2.9.0请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0> 如何配置hadoop2.9.0 HA 请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoo…
1.目标 为了构建实时应用程序,Apache Kafka  - Spark Streaming Integration是最佳组合.因此,在本文中,我们将详细了解Kafka中Spark Streaming Integration的整个概念.此外,我们将看看Spark Streaming-Kafka示例.在此之后,我们将讨论基于接收器的方法和Kafka Spark Streaming Integration的直接方法.此外,我们将在Kafka Spark Streaming Integration中…
异常问题:Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical memory used; 2.2 GB of 2.1 GB virtual memory used. Killing container. spark-submit提交脚本: [spark@master work]$ more submit.sh #! /bin/bash jars="" for…
Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.>配置好虚拟机,正在使用中,让它强制断电后,启动起来发现ip无法访问,而且重启网络失败: 执行:systemctl restart network.service 出现异常:Failed to start LSB: Br…
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何安装hadoop2.9.0请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0> 如何配置hadoop2.9.0 HA 请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoo…
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何配置hadoop2.9.0 HA 请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA> 安装hadoop的服务器: 192.168.0.120 master 192.168.0.121 slave1 192.168.…
1.安装好flume2.安装好kafka3.安装好spark4.流程说明: 日志文件->flume->kafka->spark streaming flume输入:文件 flume输出:kafka的输入 kafka输出:spark 输入5.整合步骤: (1).将插件jar拷贝到flume的lib目录下 a. flumeng-kafka-plugin.jar b. metrics-annotation-2.2.0.jar (2).将配置文件producer.properties拷贝到flu…
背景 Kafka实时记录从数据采集工具Flume或业务系统实时接口收集数据,并作为消息缓冲组件为上游实时计算框架提供可靠数据支撑,Spark 1.3版本后支持两种整合Kafka机制(Receiver-based Approach 和 Direct Approach),具体细节请参考文章最后官方文档链接,数据存储使用HBase 实现思路 实现Kafka消息生产者模拟器 Spark Streaming采用Direct Approach方式实时获取Kafka中数据 Spark Streaming对数据…
Apache Kafka 是一个可扩展,高性能,低延迟的平台,允许我们像消息系统一样读取和写入数据.我们可以很容易地在 Java 中使用 Kafka. Spark Streaming 是 Apache Spark 的一部分,是一个可扩展.高吞吐.容错的实时流处理引擎.虽然是使用 Scala 开发的,但是支持 Java API. Apache Cassandra 是分布式的 NoSQL 数据库. 准备 在进行下面文章介绍之前,我们需要先创建好 Kafka 的主题以及 Cassandra 的相关表,…
1.背景介绍 Storm以及离线数据平台的MapReduce和Hive构成了Hadoop生态对实时和离线数据处理的一套完整处理解决方案.除了此套解决方案之外,还有一种非常流行的而且完整的离线和 实时数据处理方案.这种方案就是Spark.Spark本质上是对Hadoop特别是MapReduce的补充.优化和完善,尤其是数据处理速度.易用性.迭代计算和复杂数据分析等方面. Spark Streaming 作为Spark整体解决方案中实时数据处理部分,本质上仍然是基于Spark的弹性分布式数据集(Re…
花了很长时间尝试druid官网上说的Tranquility嵌入代码进行实时发送数据到druid,结果失败了,各种各样的原因造成了失败,现在还没有找到原因,在IDEA中可以跑起,放到线上就死活不行,有成功了的同仁希望贴个链接供我来学习学习:后来又尝试了从kafka实时发送到druid,还是有些错误(现在已经解决, 后面再记录一下):最后没办法呀,使用Tranquility Server呗 _ _! Tranquility Server的配置和启动请移步:https://github.com/dru…
1,基于Flume的Push模式(Flume-style Push-based Approach)      Flume被用于在Flume agents之间推送数据.在这种方式下,Spark Streaming可以很方便的建立一个receiver,起到一个Avro agent的作用.Flume可以将数据推送到改receiver. 1),需求 从集群中选择一台机器, 当Flume+Spark Streaming程序运行时,需要保证Spark的一个worker运行在同一台机器上. Flume可以通过…
官网文档:<http://spark.apache.org/docs/latest/streaming-programming-guide.html#a-quick-example> Spark Streaming提供的提供的理念是一个批次处理一定时间段内的数据,一批次处理接收到的这一批次的数据:而Structured Streaming提供的理念是使用DataFrame/DataSet方式接收流,这样的流是一个可以看做为一个无界的大表,可以持续输出统计结果,而统计结果也会跟随时间(流数据的流…
推送avro格式数据到topic 源代码:https://github.com/Neuw84/structured-streaming-avro-demo/blob/master/src/main/java/es/aconde/structured/GeneratorDemo.java package es.aconde.structured; import com.twitter.bijection.Injection; import com.twitter.bijection.avro.Ge…
需求: 目前kafka的topic上有一批数据,这些数据被分配到9个不同的partition中(就是发布时key:{m1,m2,m3,m4...m9},value:{records items}),mx(m1,m2...m9)这些数据的唯一键值:int_id+start_time,其中int_id和start_time是topic record中的记录.这9组数据按照唯一键值可以拼接(m1.primarykey1,m2.primarykey1,m3.primarykey1.....m9.prim…
Structured Streaming默认支持的sink类型有File sink,Foreach sink,Console sink,Memory sink. ForeachWriter实现: 以写入redis为例 package com.dx.streaming.producer; import org.apache.spark.sql.ForeachWriter; import org.apache.spark.sql.Row; import redis.clients.jedis.Jed…
flatMapGroupsWithState的出现解决了什么问题: flatMapGroupsWithState的出现在spark structured streaming原因(从spark.2.2.0开始才开始支持): 1)可以实现agg函数: 2)就目前最新spark2.3.2版本来说在spark structured streming中依然不支持对dataset多次agg操作 ,而flatMapGroupsWithState可以替代agg的作用,同时它允许在sink为append模式下在a…
消费者测试: ./kafka-consumer-perf-test..com.cn:,vm10..com.cn:,vm10..com.cn: --group test-teg1 --messages --topic test --threads --message-size end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec SLF4J: Class path contains multiple SLF4J…
一.kafka-manager简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况.它支持管理多个集群.选择副本.副本重新分配以及创建Topic.同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能: 管理多个集群 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分…
问题描述: 我之前使用kafka的命令删除了改topic: ./kafka-topics.sh --delete --zookeeper [zookeeper server]  --topic [topic name] kafka是启用了自动创建topic功能的(之气那测试过可以使用),发布消息到该topic上,此时报错,感觉没删除干净,只是标记为删除状态. 抛出异常信息为: WARN clients.NetworkClient: Error while fetching metadata wi…
事情经过:之前该topic(M_A)已经存在,而且正常使用structured streaming消费了一段时间,后来删除了topic(M_A),重新创建了topic(M-A),程序使用新创建的topic(M-A)进行实时统计操作,使用structured streaming执行过程中抛出了一下异常: // :: INFO utils.AppInfoParser: Kafka version : -kafka- // :: INFO utils.AppInfoParser: Kafka comm…
scala版本2.11 java版本1.8 spark版本2.2.1 es版本6.2.2 hadoop版本2.9.0 elasticsearch节点列表: 192.168.0.120 192.168.0.121 192.168.0.122 内容导航: 1)首先,讲解使用elasticsearch client api讲解如何创建(删除.修改.查询)index,type,mapping:对数据进行增删改查. 2)然后,讲解如何使用在spark下写入elasticsearch. 3)最后,讲解如何读…
注: elasticsearch 版本6.2.2 1)集群模式,则每个节点都需要安装ik分词,安装插件完毕后需要重启服务,创建mapping前如果有机器未安装分词,则可能该索引可能为RED,需要删除后重建. 域名 ip master 192.168.0.120 slave1 192.168.0.121 slave2 192.168.0.122 2)Elasticsearch 内置的分词器对中文不友好,会把中文分成单个字来进行全文检索,不能达到想要的结果,在全文检索及新词发展如此快的互联网时代,I…