首页 > 其他分享 >kafka设置多代理集群

kafka设置多代理集群

时间:2023-05-17 21:02:55浏览次数:38  
标签:bin -- 代理 server topic 集群 kafka my


到目前为止,我们一直在使用单个代理,这并不好玩。对 Kafka来说,单个代理只是一个大小为一的集群,除了启动更多的代理实例外,没有什么变化。 为了深入了解它,让我们把集群扩展到三个节点(仍然在本地机器上)。

首先,为每个代理创建一个配置文件 (在Windows上使用copy 命令来代替):

1

2

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

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

现在编辑这些新文件并设置如下属性:

1

2

3

4

5

6

7

8

9

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

broker.id属性是集群中每个节点的名称,这一名称是唯一且永久的。我们必须重写端口和日志目录,因为我们在同一台机器上运行这些,我们不希望所有的代理尝试在同一个端口注册,或者覆盖彼此的数据。

我们已经建立Zookeeper和一个单节点了,现在我们只需要启动两个新的节点:

1

2

3

4

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

...

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

...

现在创建一个副本为3的新topic:

1

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

Good,现在我们有一个集群,但是我们怎么才能知道那些代理在做什么呢?运行"describe topics"命令来查看:

1

2

3

> 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: 1   Replicas: 1,2,0 Isr: 1,2,0

以下是对输出信息的解释。第一行给出了所有分区的摘要,下面的每行都给出了一个分区的信息。因为我们只有一个分区,所以只有一行。

  • “leader”是负责给定分区所有读写操作的节点。每个节点都是随机选择的部分分区的领导者。
  • “replicas”是复制分区日志的节点列表,不管这些节点是leader还是仅仅活着。
  • “isr”是一组“同步”replicas,是replicas列表的子集,它活着并被指到leader。

请注意,在示例中,节点1是该主题中唯一分区的领导者。

我们可以在已创建的原始主题上运行相同的命令来查看它的位置:

1

2

3

> bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

Topic:test  PartitionCount:1    ReplicationFactor:1 Configs:

Topic: test Partition: 0    Leader: 0   Replicas: 0 Isr: 0

这没什么大不了,原来的主题没有副本且在服务器0上。我们创建集群时,这是唯一的服务器。

让我们发表一些信息给我们的新topic:

1

2

3

4

5

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic

...

my test message 1

my test message 2

^C

现在我们来消费这些消息:

1

2

3

4

5

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

...

my test message 1

my test message 2

^C

让我们来测试一下容错性。 Broker 1 现在是 leader,让我们来杀了它:

1

2

3

> ps aux | grep server-1.properties

7564 ttys002    0:15.91 /System/Library/Frameworks/JavaVM.framework/Versions/1.8/Home/bin/java...

> kill -9 7564

在 Windows 上用:

1

2

3

4

> wmic process where "caption = 'java.exe' and commandline like '%server-1.properties%'" get processid

ProcessId

6016

> taskkill /pid 6016 /f

领导权已经切换到一个从属节点,而且节点1也不在同步副本集中了:

1

2

3

> 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: 1,2,0 Isr: 2,0

不过,即便原先写入消息的leader已经不在,这些消息仍可用于消费:

1

2

3

4

5

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

...

my test message 1

my test message 2

^C

 

这个是对应官网得文档,但是在实际学习中,还是会遇到很多坑。

如,配置多个配置文件,

kafka设置多代理集群_kafka

这个标红得一定要和其他配置文件不一样。

kafka设置多代理集群_zookeeper_02

kafka设置多代理集群_zookeeper_03

这是两个不一样得代理,但是同步还是很快得,实现了高可用和高扩展。

标签:bin,--,代理,server,topic,集群,kafka,my
From: https://blog.51cto.com/course/6293735

相关文章

  • Kafka-0.10源码解读
    前言其实干程序员这么些年来,一直有一个愿望想写本书,但是一直没实现,一开始是想着是因为自己没时间,后来想想也不是说没时间,可能还是感觉水平有限。为了给写书做准备,最近打算写一个专栏,专栏的要求就稍微低一些,能坚持写完的概率也就会大一些。所以最近挑了从Kafka的源码角度去写一个专......
  • ASEMI代理亚德诺ADM3202ARUZ-REEL7芯片的应用和特点
    编辑-Z摘要:本文主要介绍了ADM3202ARUZ-REEL7芯片的应用和特点。首先对芯片做了简单介绍,然后分别从电气特性、功耗、通信协议、可靠性四个方面对其进行了详细阐述。最后对ADM3202ARUZ-REEL7芯片进行了全面总结。 一、电气特性ADM3202ARUZ-REEL7是一种完全符合EIA/TIA-232和V.2......
  • Linux安装Kafka
    1.Kafka简介Kafka也是开源与Apache开源基金会的项目,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。在百度百科是这样介绍的:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处......
  • IPB60R099CP-ASEMI代理英飞凌高压MOS管IPB60R099CP
    编辑:llIPB60R099CP-ASEMI代理英飞凌高压MOS管IPB60R099CP型号:IPB60R099CP品牌:英飞凌封装:TO-263最大漏源电流:31A漏源击穿电压:600VRDS(ON)Max:99mΩ引脚数量:3芯片个数:沟道类型:N沟道MOS管、高压MOS管漏电流:ua特性:N沟道MOS管、场效应管工作温度:-55℃~150℃备受欢迎的IPB60R......
  • .NET + SignalR 的反向代理 websocket/http 数据隧道
    开源项目TuToDataTunnel:https://github.com/viordash/TuToDataTunnel,这个项目可以满足以下几个需求:使用一个公网IP地址和一个tcp端口,默认端口为80http。Websocket或http隧道传输、性能或可访问性。理想情况下,将自动选择最佳可用交换协议。同时通过隧道传输多个TCP和u......
  • 8张图带你全面了解kafka的核心机制
    前言kafka是目前企业中很常用的消息队列产品,可以用于削峰、解耦、异步通信。特别是在大数据领域中应用尤为广泛,主要得益于它的高吞吐量、低延迟,在我们公司的解决方案中也有用到。既然kafka在企业中如此重要,那么本文就通过几张图带大家全面认识一下kafka,现在我们不妨带入kafka设计......
  • HIVE跨集群迁移
    查看mysql使用端口ps-ef|grepmysqlss-antp|grep[ps查出来的pid]停止HIVE写入服务创建备份路径mkdir-p/root/hivebackup/执行备份数据库命令:(在目标集群执行)mysqldump-uroot-pPassword-h1.1.1.1-P3306--databaseshive_prode>/root/jws/hiveba......
  • IPB60R950C6-ASEMI代理英飞凌高压MOS管IPB60R950C6
    编辑:llIPB60R950C6-ASEMI代理英飞凌高压MOS管IPB60R950C6型号:IPB60R950C6品牌:Infineon(英飞凌)封装:TO-263最大漏源电流:12A漏源击穿电压:600VRDS(ON)Max:0.95Ω引脚数量:3沟道类型:N沟道MOS管芯片尺寸:MIL漏电流:恢复时间:5ns芯片材质:封装尺寸:如图特性:高压MOS管、N沟道MOS管......
  • 爬虫之IP代理
        在爬虫,爬数据的时候,很容易出现IP锁定,403,验证码等情况,一般出现此类情况的时候,就会用IP代理,来实现,大量的频繁更换IP来实现数据的频繁爬取和并发爬取。   现在的方式是增加一个这个的一个服务,一直跑几个免费的IP平台,大致也是这个流程以上图片来源于网络.其中代理的......
  • 使用 SAP Fiori Tools 自带的代理服务器解决本地运行的 SAP UI5 应用访问远端服务遇到
    我们部署在本地开发环境运行的SAPUI5应用,由于浏览器安全策略的限制,无法直接访问远端OData服务,原因是我们的SAPUI5应用本地运行在localhost这个域名上,而远端请求的OData服务的域名比如说services.odata.org,二者不是同一个域名,由于浏览器安全策略,浏览器拒绝这种跨域的......