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. 20145314郑凯杰 《Java程序设计》实验五 实验报告

    20145314郑凯杰 <Java程序设计>实验五 实验报告 实验搭档王亦徐:http://www.cnblogs.com/1152wyx/p/5471524.html 实验要求 完成实验 ...

  2. VMware 共享目录不显示的解决办法

    centos mount -t vmhgfs .host:/ /mnt/hgfs # 如果有如下提示: # Error: cannot mount filesystem: No such device ...

  3. OKR学习总结

    OKR学习总结 背景:因为公司最近采用OKR工作法,所以来了解一下. 简介 OKR ——Object Key Results 主要分为两部分:O 和 KR ,就是目标和关键结果. 将这个丰满点描述,就 ...

  4. counting the buildings - 第一类斯特灵数

    2017-08-10 21:10:08 writer:pprp //TLE #include <iostream> #include <cstdio> #include < ...

  5. Codeforces Round #414 C. Naming Company

    http://codeforces.com/contest/794/problem/C 题意: 有两个人要为公司起名字,每个人手中都有n个字符,现在要取一个n个字符长度的公司名.两人轮流取名,每次选择 ...

  6. Class.forName()与newInstance()

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  7. javascript脚本程序执行消耗的时间

    console.time方法是开始计算时间,console.timeEnd是停止计时 // 启动计时器 console.time('time'); // (写一些测试用代码) // 停止计时,输出时间 ...

  8. Learning Perl 第九章习题第二题

    把输入文件中的所有Fred换成Larry, 不区分大小写. 知识点 1. 文本文件读写 2. 简单的正则替换 3. unless 的用法 4. $_ 的用法

  9. PHP数据库链接类(PDO+Access)

    PHP PDO Access链接 class DbHelpClass { private $conn; private $qxId; private $ret; function __construc ...

  10. .net 获取浏览器Cookie(包括HttpOnly)

    网上好不容易找到的,分享+收藏 一.接口文件 using System; using System.ComponentModel; using System.Net; using System.Run ...