文档章节

Kafka简单集群

夜雨寄北09
 夜雨寄北09
发布于 2017/07/25 17:42
字数 407
阅读 16
收藏 0

搭建有3个消息生产者的简单Kafka集群。

复制server.properties:

cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties

分别编辑2个配置文件,broker.id是集群里的唯一标识,需要全局唯一。因为是在同一台机器上,所以需要修改listeners的端口和日志目录。

vi config/server-1.properties
    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1
 
vi config/server-2.properties
    broker.id=2
    listeners=PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2

启动ZooKeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

分别启动三台生产者:

bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &

创建一个复制3份,名为my-replicated-topic的topic:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic

查看集群状态:

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

Topic:my-replicated-topic    PartitionCount:1    ReplicationFactor:3    Configs:
Topic: my-replicated-topic    Partition: 0    Leader: 0    Replicas: 2,0,1    Isr: 0,1,2

"Leader"指id为0的节点是当前主节点,每个节点都可能被随机选为主节点。

"Replicas"指id为2,0,1的三个节点参与了复制,而不关心节点是否可用。

"Isr"是"in-sync"的意思,指可用的节点id列表。

发送消息:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
my test message 1
my test message 2

消费消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic

 

容灾测试

通过describe命令,得知当前的主节点id是2(Leader:2),杀掉此节点:

ps aux|grep server-2.properties
kill -9 xxx

查看集群状态:

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

Topic:my-replicated-topic    PartitionCount:1    ReplicationFactor:3    Configs:
Topic: my-replicated-topic    Partition: 0    Leader: 2    Replicas: 2,0,1    Isr: 1,2

可以看到当前的主节点变成了2(leader:2),Isr可用节点为1,2

 消费消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic

 

© 著作权归作者所有

共有 人打赏支持
夜雨寄北09
粉丝 9
博文 16
码字总数 11686
作品 0
浦东
程序员
私信 提问
Linux系统Kafka集群搭建与简单测试

Kafka安装 Zookeeper集群搭建,可参考Linux系统Zookeeper集群配置 上传kafka安装包并解压 编辑配置文件 这个是server.properties文件内容 增加集群的配置文件server1.properties 修改配置 增...

Listen_ing
2016/06/02
603
0
在 OpenShift 和 Kubernetes 上运行 Apache Kafka 集群 - Strimzi

Strimzi提供了一种在各种部署配置中在OpenShift和Kubernetes上运行Apache Kafka集群的方法。 在使用Strimzi项目时,使用Kubernetes和OKD(适用于Red Hat OpenShift)启动和运行Apache Kafka集...

匿名
11/09
0
0
LinkedIn 详细介绍了他们开源的 Kafka Monitor

在2016年4月份举行的Kafka峰会上,LinkedIn在Apache 2.0许可协议下开源了Kafka Monitor,并于近日详细介绍了该监控工具的架构以及他们最初的构建动机。在年初的时候,LinkedIn曾在一篇有关K...

oschina
2016/06/16
4.7K
7
kafka 系统测试框架--kafka-monitor

在2016年4月份举行的Kafka峰会上,LinkedIn在Apache 2.0许可协议下开源了Kafka Monitor,并于近日详细介绍了该监控工具的架构以及他们最初的构建动机。在年初的时候,LinkedIn曾在一篇有关K...

匿名
2016/06/16
2.1K
0
基于Docker搭建分布式消息队列Kafka

本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示。本例搭建的示例包含...

半夜菊花茶
2017/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day150-2018-11-17-英语流利阅读-待学习

歪果仁也疯狂:海外版抖音的征途 毛西 2018-11-17 1.今日导读 海外版抖音 TikTok 于 2017 年 5 月上线海外,至今覆盖全球 150 多个国家和地区,月活跃用户数已突破 5 亿。然而,“出海”的抖...

飞鱼说编程
今天
11
0
分布式学习最佳实践:从分布式系统的特征开始(附思维导图)

什么是分布式系统 回到顶部   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法...

dragon_tech
今天
4
0
TOKEN设计

TOKEN设计 Api_Token 首先需要知道API是什么? API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在...

DrChenXX
今天
3
0
浅谈“李氏代换”——从纪念金庸和斯坦李说起

李氏代换(LSP)简介 李氏代换是软件设计的一个原则,又名依赖倒转原则或依赖倒置原则,其衍生原则有接口分离原则等。该原则由Barbara Liskov于1988年提出。 该原则指出,程序中高级别的元素...

SamYjy
今天
38
0
JavaScript实现在线websocket WSS测试工具 -toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部