Kafka 单节点多Kafka Broker集群

接前一篇文章,今天搭建一下单节点多Kafka Broker集群环境。

配置与启动服务

由于是在一个节点上启动多个 Kafka Broker实例,所以我们需要使用不同的端口来实现。

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

修改 config/server-1.properties

broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1

修改 config/server-2.properties

broker.id=2
listeners=PLAINTEXT://:9094
log.dir=/tmp/kafka-logs-2

在三个终端中分别使用不同的配置文件启动 kafka,如下:

# 终端一
$ 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的topic:

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic mytopic
Created topic "mytopic".

创建后,使用 –describe 来查看一下

bin/kafka-topics.sh --describe --zookeeper localh2181 --topic mytopic
Topic:mytopic   PartitionCount:1    ReplicationFactor:3 Configs:
    Topic: mytopic  Partition: 0    Leader: 2   Replicas: 2,1,0 Isr: 2,1,0

可以看出现在的Leader是 2 节点,复制节点是:2,1,0三个节点。

现在我们分别在两个终端上运行下面的命令来测试生产消息和消费消息。

# 终端 A 生产消息
$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
aaa
bbb
ccc
# 终端 B 消费消息
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic mytopic
aaa
bbb
ccc

目前为止一切工作正常,现在我们把其中的 Leader: 2 实例 kill 掉,然后再观察一下。

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic mytopic
Topic:mytopic   PartitionCount:1    ReplicationFactor:3 Configs:
    Topic: mytopic  Partition: 0    Leader: 1   Replicas: 2,1,0 Isr: 1,0

发现 Leader 变成了 1,复制节点变成了两个:1,0。

此时,继续在“终端 A”中生产消息,然后可以看到“终端 B”中会继续消费新的消息。这说明尽管原来负责写入的 Leader 已经挂掉,但是消息不会丢失,仍然可以继续被消费。

Kafka 单节点多Kafka Broker集群的更多相关文章

  1. windows单节点下安装es集群

    linux下的es的tar包,拖到windows下,配置后,启动bin目录下的bat文件,也是可以正常运行的. 从linux下拷的tar包,需要修改虚拟机的内存elasticsearch.in.bat ...

  2. redhat6.5 redis单节点多实例3A集群搭建

    在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建. 单节点单实例搭建可以参看这个网:https://www.cnblogs.com/butterflies/p/9628 ...

  3. Apache Kafka学习 (二) - 多代理(broker)集群

    1. 配置server.properties > cp config/server.properties config/server-1.properties> cp config/ser ...

  4. Hadoop单节点启动分布式伪集群

    emm~ 写这篇博客只是手痒,因为开发环境用单节点就够了,生产环境肯定是真实集群,所以这个伪分布式纯属娱乐而已. 配置HDFS1. 安装好一台hadoop,可以参考这篇博客.2. 在hadoop目录下 ...

  5. 利用shell脚本[带注释的]部署单节点多实例es集群(docker版)

    文章目录 目录结构 install_docker_es.sh elasticsearch.yml.template 没事写写shell[我自己都不信,如果不是因为工作需要,我才不要写shell],努力 ...

  6. 使用Kafka的一些简单介绍: 1集群 2原理 3 术语

    目录 第一节 Kafka 集群 Kafka 集群搭建 Kafka 集群快速搭建 第二节 集群管理工具 集群管理工具 集群 Issues 第三节 使用命令操纵集群 第四节 Kafka 术语说明 第五节 ...

  7. Kafka 详解(二)------集群搭建

    这里通过 VMware ,我们安装了三台虚拟机,用来搭建 kafka集群,虚拟机网络地址如下: hostname                      ipaddress             ...

  8. ActiveMQ笔记(4):搭建Broker集群(cluster)

    上一篇介绍了基于Networks of Borkers的2节点HA方案,这一篇继续来折腾Networks of Brokers,当应用规模日渐增长时,2节点的broker可能仍然抗不住访问压力,这时候 ...

  9. ActiveMQ: 搭建Broker集群(cluster)

    上一篇介绍了基于Networks of Borkers的2节点HA方案,这一篇继续来折腾Networks of Brokers,当应用规模日渐增长时,2节点的broker可能仍然抗不住访问压力,这时候 ...

随机推荐

  1. go基础语法

    定义变量: 可放在函数内,或直接放在包内使用var集中定义变量使用:=定义变量写的短一些 package main import ( "fmt" "math" ...

  2. 20145312《Java第一次实验报告》

    20145312<Java第一次实验报告> Java开发环境的熟悉(Windows+Idea) 一.实验内容 使用Idea编辑.编译.运行.调试Java程序. 使用JDK编译.运行简单的J ...

  3. 八皇后问题解题报告(dfs

    这里是代码传送门 所谓八皇后问题,一开始接触,上学期舍友提及的,但是因为各种原因,水平不够,并没有关心,偶然之间,再次遇见,便进行的尝试(棋盘是0-7的,不是1-8的...开始打弄错了) 所谓八皇后问 ...

  4. 关于C#中的垃圾回收

    http://cnn237111.blog.51cto.com/2359144/1343004    GC.Collect如何影响垃圾回收 主要是 //GC.Collect(); //GC.WaitF ...

  5. svn根据项目来创建目录结构或者根据分支来创建项目结构

    假设检出项目的时候,都使用trunk来进行检出 按照项目来创建目录结构 TestPrj版本库 适合一次只检出一个项目的需求 这个版本库的名字无所谓,随便起就好了.因为检出某一个项目的trunk的时候, ...

  6. vs asp.net 给所有邮箱发邮件,案例,源代码,c#

       //发送邮箱             MailMessage mailObj = new MailMessage();             mailObj.From = new MailAd ...

  7. 跟着vamei复习概率论

    最近重新看了一下概率论,感觉很多东西都遗忘了,还会陷入各种误区,赶紧的纠正回来. 概率论这块,主要内容包括: 事件.条件概率.随机变量.随机变量的分布函数.概率密度.联合分布.期望.方差.协方差. 我 ...

  8. HDU 3861 The King's Problem(强连通分量缩点+最小路径覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=3861 题意: 国王要对n个城市进行规划,将这些城市分成若干个城市,强连通的城市必须处于一个州,另外一个州内的任意 ...

  9. 解决Eclipse Maven插件的最佳方案

    最近在尝试使用GAE,要求项目必须使用Maven,于是下载了Maven3.1.1配置了环境变量.但是在为Eclipse EE安装Maven插件的时候遇到了问题. 官网的建议是: 在Eclipse EE ...

  10. switchhosts使用技巧

    https://jingyan.baidu.com/article/1974b289a3cfd1f4b0f7744d.html