topic

消息队列学习03:Zookeeper、Kafka在Linux平台的安装和配置

﹥>﹥吖頭↗ 提交于 2019-12-01 13:21:34
消息队列学习03:Zookeeper、Kafka在Linux平台的安装和配置 安装Zookeeper 下载安装包   在 Apache Zookeeper镜像站点 下载安装包;我下载的是3.4.14版本 安装Zookeeper   1-通过XFTP将zookeeper-3.4.14.tar安装包上传到Linux服务器usr/local目录下   2-到usr/local目录下,确认是否成功 [root@izbp1aum9uyt0x56d3vepwz ~]# cd /usr/local/ [root@izbp1aum9uyt0x56d3vepwz local]# ls -al total 36860 drwxr-xr-x. 15 root root 4096 Oct 16 19:13 . drwxr-xr-x. 13 root root 4096 Mar 13 2019 .. drwxr-xr-x 7 root root 4096 Aug 31 03:59 aegis drwxr-xr-x. 2 root root 4096 Apr 12 2019 bin drwxr-xr-x 4 root root 4096 Aug 7 09:15 cloudmonitor drwxr-xr-x. 2 root root 4096 Apr 11 2018 etc drwxr-xr-x. 2

Kafka常用运维操作

冷暖自知 提交于 2019-12-01 12:20:10
创建主题 kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --replication-factor 3 --partitions 3 查看主题列表 kafka-topics.sh --zookeeper localhost:2181 --list 查看主题状态 kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic TestTopic 修改主题分区 kafka-topics.sh --alter --zookeeper 127.0.0.1:2181 --topic g5 --partitions 3 重新分配Partition和复制因子 kafka-reassign-partitions --generate: 根据给予的Topic列表和Broker列表生成迁移计划。generate并不会真正进行消息迁移,而是将消息迁移计划计算出来,供execute命令使用。 --execute: 根据给予的消息迁移计划进行迁移。 --verify: 检查消息是否已经迁移完成。 例子: kafka-reassign-partitions.sh --zookeeper 10.80.0.34:2181,10.80.0.36:2181,10.80

KafkaConsumer实现精确一次消费

末鹿安然 提交于 2019-12-01 12:03:17
转自 https://blog.csdn.net/qq_18581221/article/details/89766073 简介 在使用kafka时,大多数场景对于数据少量的不一致(重复或者丢失)并不关注,比如日志,因为不会影响最终的使用或者分析,但是在某些应用场景(比如业务数据),需要对任何一条消息都要做到精确一次的消费,才能保证系统的正确性,kafka并不提供准确一致的消费API,需要我们在实际使用时借用外部的一些手段来保证消费的精确性,下面我们介绍如何实现 kafka消费机制 这篇文章KafkaConsumer使用介绍、参数配置介绍了如何kafka具有两种提交offset(消费偏移量)方式,我们在Kafka简介以及安装和使用可知每个分区具备一offset记录消费位置,如果消费者一直处于正常的运行转态,那么offset将没有什么用处,因为正常消费时,consumer记录了本次消费的offset和下一次将要进行poll数据的offset起始位置,但是如果消费者发生崩溃或者有新的消费者加入消费者组,就会触发再均衡Rebalance,Rebalance之后,每个消费者将会分配到新的分区,而消费者对于新的分区应该从哪里进行起始消费,这时候提交的offset信息就起作用了,提交的offset信息包括消费者组所有分区的消费进度,这时候消费者可以根据消费进度继续消费

【Kafka】运维

喜夏-厌秋 提交于 2019-12-01 11:58:51
一、修改partitions(只能新增) [root@hftest0001 kafka_2.11-0.8.2.2]# pwd /opt/kafka_2.11-0.8.2.2 [root@hftest0001 kafka_2.11-0.8.2.2]# ./bin/kafka-topics.sh --zookeeper ${ip}:${port} --replication-factor 2 --partitions 1 --topic topic_r2_p1 --create Created topic "topic_r2_p1". [root@hftest0001 kafka_2.11-0.8.2.2]# ./bin/kafka-topics.sh --zookeeper ${ip}:${port} --topic topic_r2_p1 --describe Topic:topic_r2_p1 PartitionCount:1 ReplicationFactor:2 Configs: Topic: topic_r2_p1 Partition: 0 Leader: 201 Replicas: 201,155 Isr: 201,155 [root@hftest0003 kafka_2.11-0.8.2.2]# ./bin/kafka-topics.sh --zookeeper $

ubuntu安装本地kafka

故事扮演 提交于 2019-12-01 11:41:16
1.下载kafka_2.11-1.0.0.tgz http://kafka.apache.org/downloads 解压 tar -zxvf kafka_2.11-2.3.0.tgz cd kafka_2.11-2.3.0 2.启动服务器 需要先启动ZooKeeper,kafka内置提供了一个ZooKeeper服务器以及一组相关的管理脚本,使用内置的ZooKeeper即可: bin/zookeeper-server-start.sh config/zookeeper.properties 出现INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)表示ZooKeeper已经成功地在端口2181上启动了。 启动Kafka服务器: 需要在/config/server.properties上添加: advertised.host.name=10.10.15.14 再执行kafka启动命令: bin/kafka-server-start.sh config/server.properties 控制台输出INFO [KafkaServer id=0] started (kafka.server.KafkaServer)表示Kafka服务器启动成功

Kafka笔记

痴心易碎 提交于 2019-12-01 10:22:49
Kafka简介 Kafka 是一个高吞吐量、低延迟分布式的消息队列。kafka每秒可以处理几十万条消息, 它的延迟最低只有几毫秒。 Kafka 模型 kafka 提供了一个生产者、缓冲区、消费者的模型 Broker:kafka集群有多个服务器组成, 用于存储数据(消息) Topic: 不同的数据(消息)被分为不同的topic(主题) Producer: 消息生产者, 往broker中某个topic里生产数据 Consumer:消息的消费者, 从broker中某个topic获取数据 概念理解 Topic && Message kafka将所有消息组织成多个topic的形式存储, 而每个 topic 又可以拆分成多个partition, 每个partition又由一条条消息组成。 每条消息都被标识了一个递增序列号代表其进来的先后顺序, 并按顺序存储在parition中。 Producer 选择一个topic, 生产消息, 消息会通过分配策略将消息追加到该topic下的某个partition 分区末尾(queue) Consumer 选择一个topic, 通过 id(offset 偏移量) 指定从哪个位置开始消费消息。消费完成之后保留id, 下次可以从这个位置开始继续消费, 也可以从其他任意位置开始消费。 Offset(偏移量): 能唯一标识该分区中的每个记录。

kafka创建topic报错

筅森魡賤 提交于 2019-12-01 10:18:50
kafka执行如下创建topic的语句: [root@node01 kafka_2.11-1.0.0]# bin/kafka-topics.sh --create --topic streaming-test --replication-factor 1 --partitions 3 --zookeeper node01:2181,node02:2181,node03:2181 Error while executing topic command : Replication factor: 1 larger than available brokers: 0. 报错:[2019-10-15 20:23:25,461] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0. 原因:broker的配置文件server.properties中的配置项zookeeper.connect指定了kafka的zookeeper的根目录( zookeeper.connect=node01:2181,node02:2181,node03:2181/kafka ) 解决方法:命令行参数“-

SpringBoot(八) SpringBoot整合Kafka

谁都会走 提交于 2019-12-01 10:10:36
window下安装kafka和zooker,超详细: https://blog.csdn.net/weixin_33446857/article/details/81982455 kafka:安装下载教程网址(CentOS Linux): https://www.cnblogs.com/subendong/p/7786547.html zooker的下载安装网址: https://blog.csdn.net/ring300/article/details/80446918 一、准备工作 提前说明:如果你运行出问题,请检查Kafka的版本与SpringBoot的版本是否与我文中的一致,本文中的环境已经经过测试。 Kafka服务版本为 kafka_2.11-1.1.0 (Scala), 也就是1.1.0 SpringBoot版本:1.5.10.RELEASE 提前启动zk,kafka,并且创建一个Topic [root@Basic kafka_2.11-1.1.0]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic 确保你的kafka能够访问,如果访问不了,需要打开外网访问。 config/server

C#的分布式消息队列介绍

懵懂的女人 提交于 2019-12-01 09:58:41
EQueue架构 EQueue是一个分布式的、轻量级、高性能、具有一定可靠性,纯C#编写的消息队列,支持消费者集群消费模式。 主要包括三个部分:producer, broker, consumer。producer就是消息发送者;broker就是消息队列服务器,负责接收producer发送过来的消息,以及持久化消息;consumer就是消息消费者,consumer从broker采用拉模式到broker拉取消息进行消费,具体采用的是long polling(长轮训)的方式。这种方式的最大好处是可以让broker非常简单,不需要主动去推消息给consumer,而是只要负责持久化消息即可,这样就减轻了broker server的负担。同时,consumer由于是自己主动去拉取消息,所以消费速度可以自己控制,不会出现broker给consumer消息推的太快导致consumer来不及消费而挂掉的情况。在消息实时性方面,由于是长轮训的方式,所以消息消费的实时性也可以保证,实时性和推模型基本相当。 EQueue是面向topic的架构,和传统的MSMQ这种面向queue的方式不同。使用EQueue,我们不需要关心queue。producer发送消息时,指定的是消息的topic,而不需要指定具体发送到哪个queue。同样,consumer发送消息也是一样,订阅的是topic

常见的消息中间键优缺点比较

﹥>﹥吖頭↗ 提交于 2019-12-01 09:00:30
ActiveMQ    单机吞吐量: 万级    topic数量对吞吐量的影响:    时效性: ms级    可用性: 高,基于主从架构实现高可用性    消息可靠性: 有较低的概率丢失数据    功能支持: MQ领域的功能极其完备    总结:     非常成熟,功能强大,在早些年业内大量的公司以及项目中都有应用     偶尔会有较低概率丢失消息     现在社区以及国内应用都越来越少,官方社区现在对ActiveMQ 5.x维护越来越少,几个月才发布一个版本     主要是基于解耦和异步来用的,较少在大规模吞吐的场景中使用 RabbitMQ    单机吞吐量: 万级    topic数量对吞吐量的影响:    时效性: 微秒级,延时低是一大特点。    可用性: 高,基于主从架构实现高可用性    消息可靠性:    功能支持: 基于erlang开发,所以并发能力很强,性能极其好,延时很低    总结:        erlang语言开发,性能极其好,延时很低;     吞吐量到万级,MQ功能比较完备     开源提供的管理界面非常棒,用起来很好用     社区相对比较活跃,几乎每个月都发布几个版本分     在国内一些互联网公司近几年用rabbitmq也比较多一些 但是问题也是显而易见的,RabbitMQ确实吞吐量会低一些,这是因为他做的实现机制比较重。