zookeeper+kafka,使用Java实现消息对接读取

一、从官网上下载zookeeper和kafka(本地使用的版本是zookeeper-3.3.6,kafka_2.11-1.0.0):

二、配置zookeeper和kafka并启动,基本的zkCli命令和kafka创建删除topic命令。

2.1配置zookeeper,主要配置有两个,一个是端口2181,另外一个是数据存储路径。

2.2启动zookeeper

2.3使用zookeeper的客户端,查看zookeeper结点的值

常用的命令就4个,分别是ls,get,set,delete。

[zk: 127.0.0.1:2181(CONNECTED) 45] help

ZooKeeper -server host:port cmd args

set path data [version]

ls path [watch]

delete path [version]

get path [watch]

[zk: 127.0.0.1:2181(CONNECTED) 46]

2.4配置kafka,主要配置有两个,一个是zookeeper的ip:port,另外一个kafka自己的broker端口通用值为9092.

2.5启动kafka

2.6使用kafka的基本命令,其实也就4个,分别是创建topic,查看topic,删除topic。

例如需要创建topic:

kafka-topics.bat --create

--zookeeper  localhost:2181

--replication-factor 1 --partitions 1

--topic dhpeitopic

三、使用Java来操作Kafka。

3.1创建topic,使用【2.6】中创建topic命令的方法创建一个topic,命名为dhpeitopic。

3.1发送数据KafkaProductor。

主要也就是两步,第一步准备连接kafka的参数,其实主要是配置个broker的ip:port;第二步向指定的topic发送数据,一般情况下我们发送都是JSON数据。

3.2接收数据(持续不断的来接收数据)

主要分为五步:

第一步,准备连接kafka的参数,其实主要是zookeeper的ip:port和topic的名称。

第二步,根据连接参数获取的kafka的connector,就像根据数据库参数获取到jdbc连接一样。

第三步,根据kafka连接connector来获取的kafkaStream(个人感觉就是持续不断的流)。

第四步,获取到kafkaStream。

第五步,根据获取到的kafkaStream来源源不断的读取数据。

3.3发送数据控制台打印日志

3.4接收数据控制台打印的日志

总结,在web应用中zookeeper比较常用,作为分布式系统的发布服务和注册服务来使用。Kafka应用也比较多。

zookeeper主要是分布式系统的协调系统,通过zookeeper的结点来协调分布式系统中的调用,当然zookeeper也可以存储配置文件,在结点(path)上面存放数据。

kafka主要作为高吞吐量的分布式流处理通道,并且提供磁盘数据为消息持久化,支持集群。

原文地址:https://www.cnblogs.com/dhsunny/p/8780115.html

时间: 2024-09-30 07:03:21

zookeeper+kafka,使用Java实现消息对接读取的相关文章

kafka集群和zookeeper集群的部署,kafka的java代码示例

来自:http://doc.okbase.net/QING____/archive/19447.html 也可参考: http://blog.csdn.net/21aspnet/article/details/19325373 http://blog.csdn.net/unix21/article/details/18990123 kafka作为分布式日志收集或系统监控服务,我们有必要在合适的场合使用它.kafka的部署包括zookeeper环境/kafka环境,同时还需要进行一些配置操作.接下

[kfaka] Apache Kafka:下一代分布式消息系统

简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日志服务. Apache Kafka与传统消息系统相比,有以下不同: 它被设计为一个分布式系统,易于向外扩展: 它同时为发布和订阅提供高吞吐量: 它支持多订阅者,当失败时能自动平衡消费者: 它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序. 本文我将重点介绍Apache Kaf

kafka:一个分布式消息系统

1.背景 最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布式实现的很奇怪,所以希望找一个适合分布式的消息系统. 以下是内容是调研过程中总结的一些知识和经验,欢迎拍砖. 2.基础知识 2.1.什么是消息队列 首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下: 队列提供了一种异步通信协议,这意味着消息的发送者和接收者不需要同时与消息保持联系,发送者发送的消息会存储在队列中,直到接

转 Apache Kafka:下一代分布式消息系统

简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日志服务. Apache Kafka与传统消息系统相比,有以下不同: 它被设计为一个分布式系统,易于向外扩展: 它同时为发布和订阅提供高吞吐量: 它支持多订阅者,当失败时能自动平衡消费者: 它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序. 本文我将重点介绍Apache Kaf

4 kafka集群部署及生产者java客户端编程 + kafka消费者java客户端编程

本博文的主要内容有   kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zookeeper 集群或者利用 kafka自带的zookeeper. 单机模式,用的是kafka自带的zookeeper, 分布式模式,用的是外部安装的zookeeper,即公共的zookeeper. Step 6: Setting up a multi-broker cluster So far w

Apache Kafka:下一代分布式消息系统

[http://www.infoq.com/cn/articles/apache-kafka/]分布式发布-订阅消息系统. Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日志服务. Apache Kafka与传统消息系统相比,有以下不同:它被设计为一个分布式系统,易于向外扩展:它同时为发布和订阅提供高吞吐量:它支持多订阅者,当失败时能自动平衡消费者:它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序. 本文我将重点介绍Apache Kafka的架构

[Java] 分布式消息队列(MQ)

概述 场景 服务解耦 削峰填谷 异步化缓冲:最终一致性/柔性事务 MQ应用思考点 生产端可靠性投递 消费端幂等:消息只能消费一次 高可用.低延迟.可靠性 消息堆积能力 可扩展性 业界主流MQ ActiveMQ:适合传统需求,并发性差 RabbitMQ:扩展性差 RocketMQ:扩展性强 Kafka:扩展性强,并发性强,可靠性差 技术选型 性能.优缺点.业务场景 集群架构模式,分布式.可扩展.高可用.可维护性 综合成本,集群规模,人员成本 未来的方向.规划.思考 ActiveMQ 介绍 JMS(

漫游Kafka实现篇之消息和日志

原文地址:http://blog.csdn.net/honglei915/article/details/37760631 消息格式 消息由一个固定长度的头部和可变长度的字节数组组成.头部包含了一个版本号和CRC32校验码. /** * 具有N个字节的消息的格式如下 * * 如果版本号是0 * * 1. 1个字节的 "magic" 标记 * * 2. 4个字节的CRC32校验码 * * 3. N - 5个字节的具体信息 * * 如果版本号是1 * * 1. 1个字节的 "ma

zookeeper+kafka集群安装之二

zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装参考: http://blog.csdn.net/ubuntu64fan/article/details/26678877 首先了解几个kafka中的概念: kafka是一个消息队列服务器,服务称为broker, 消息发送者称为producer, 消息接收者称为consumer; 通常我们部署多个b