设置Kafka集群的方法
1.目标
今天,在这篇Kafka文章中,我们将看到Kafka Cluster Setup。这个Kafka集群教程为我们提供了一些设置Kafka集群的简单步骤。简而言之,为了实现Kafka服务的高可用性,我们需要在集群模式下设置Kafka。 因此,在此Kafka Cluster文档中,我们将学习Kafka多节点群集设置和Kafka多代理群集设置。此外,我们将看到Kafka Zookeeper群集设置。
那么,让我们开始Kafka群集设置。
设置Kafka集群的方法:Apache Kafka
2. Kafka群集设置
为了获得更好的Kafka服务可靠性和高可用性,我们需要在集群模式下设置Kafka。一开始:
- 从Apache的网站下载Kafka。另外,解压缩zip文件。
- 此外,制作提取的文件夹的两个副本,然后将后缀_1,_2,_3添加到这些文件夹名称。因此,如果我们提取的文件夹名称为kafka_2.11-1.1.0,您将拥有文件夹kafka_2.11-1.1.0_1,kafka_2.11-1.1.0_2,kafka_2.11-1.1.0_3。
- 转到kafka_2.11-1.1.0_1文件夹。
我们来讨论Apache Kafka Connect - 完整指南2018
3.设置Kafka群集的步骤
现在,按照几个步骤设置Kafka Cluster:
- 创建一个名为“logs”的文件夹。在此文件夹中,将存储所有Kafka日志。
- 然后,打开server.properties文件,进入config目录。在这里,我们将找到包含Kafka代理配置的文件。
- 此外,将broker.id设置为1.确保它是Kafka群集中代理的ID,因此对于每个代理,它必须是唯一的。
- 然后,取消注释侦听器的配置,并将其设置为PLAINTEXT:// localhost:9091。它说,对于连接请求,Kafka经纪人将监听端口9091。
- 此外,使用logs文件夹路径,设置我们在步骤1中创建的log.dirs配置。
- 另外,在zookeeper.connect配置中设置Apache Zookeeper地址。但是,如果Zookeeper在Kafka集群中运行,请确保将该地址作为逗号分隔列表,即:localhost:2181,localhost:2182。
基本上,这些是我们需要为开发环境设置的一些常规配置。
通过这种方式,我们的第一个Kafka代理配置就绪。现在,对于其他两个文件夹或代理,请按照相同的步骤进行以下更改。
让我们在Apache Kafka中修改Zookeeper的角色
- 现在,将broker.id分别更改为2和3,分别在步骤3中。
- 并且,还要在步骤4中分别更改用于9092和9093的端口。注意:可以提供任何可用的端口号。
因此,对于所有经纪人,我们的配置已准备就绪。现在,运行命令./bin/kafka-server-start.sh config / server.properties,转到每个Kafka文件夹的主目录。
- 执行命令(全部作为一行):
- ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --rerelication -factor
- 3 --partitions 50 --topic演示
这里每个分区的复制因子为3,创建了50个分区。在定义复制因子为3时,对于分区,将有一个领导者和两个粉丝。此外,在将消息或记录发送给领导者时,它将被复制到粉丝中。
- 执行以下命令:
- ./bin/kafka-topics.sh --describe --topic Hello-Kafka --zookeeper localhost:2181
它有助于我们知道哪个代理是哪个分区的领导者或关注者。
- 输出:
主题:demoPartitionCount:50ReplicationFactor:3Configs:
主题:demoPartition:0Leader:2Replicas:2,3,1Isr:2,3,1
主题:demoPartition:1Leader:3Replicas:3,1,2Isr:3,1,2
主题:demoPartition: 2Leader:1Replicas:1,2,3Isr:1,2,3
主题:demoPartition:3Leader:2Replicas:2,1,3Isr:2,1,3
主题:demoPartition:4Leader:3Replicas:3,2,1Isr:3, 2,1
主题:demoPartition:5Leader:1Replicas:1,3,2Isr:1,3,2
主题:demoPartition:6Leader:2Replicas:2,3,1Isr:2,3,1
........................... .......................................
..................................................................
............................................. .....................
现在,我们可以看到Broker 2是领导者,分区0和Broker 3是分区1的领导者。而且,这里ISR指的是同步副本。
看看Apache Kafka术语和概念
所以,这完全是关于Kafka Cluster的。希望你喜欢我们的解释
4。结论
因此,在这个Kafka群集设置教程中,我们学习了三个代理的Kafka群集设置。此外,我们讨论了Kafka多节点设置和Kafka - Zookeeper设置。但是,如果对Kafka群集设置有任何疑问,请在评论标签中询问。
另请参阅 - 如何创建Kafka客户端以
供参考
设置Kafka集群的方法的更多相关文章
- kafka集群中jmx端口设置
jmx端口主要用来监控kafka集群的. 在启动kafka的脚本kafka-server-start.sh中找到堆设置,添加export JMX_PORT="9999" if [ ...
- 另类--kafka集群中jmx端口设置
# 监控kafka集群 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,kafka-2,kaf ...
- Kafka1 利用虚拟机搭建自己的Kafka集群
前言: 上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...
- ELK+Kafka集群日志分析系统
ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部 ...
- Kafka集群的安装和使用
Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,原本开发自LinkedIn,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础.现在它已被 ...
- Kafka【第一篇】Kafka集群搭建
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- 如何为Kafka集群选择合适的Partitions数量
转载:http://blog.csdn.net/odailidong/article/details/52571901 这是许多kafka使用者经常会问到的一个问题.本文的目的是介绍与本问题相关的一些 ...
- kafka学习(三)-kafka集群搭建
kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...
- window环境搭建zookeeper,kafka集群
为了演示集群的效果,这里准备一台虚拟机(window 7),在虚拟机中搭建了单IP多节点的zookeeper集群(多IP节点的也是同理的),并且在本机(win 7)和虚拟机中都安装了kafka. 前期 ...
随机推荐
- Markdown 设置字体大小颜色及背景色
一.更改字体.大小.颜色 <font face="黑体">我是黑体字</font><font face="微软雅黑">我是微 ...
- MySql数据封装操作类
1.先引用MySQL的DLL文件 using System; using System.Collections.Generic; using System.Linq; using System.Tex ...
- 2019-2020-1 20199302《Linux内核原理与分析》第十一周作业
缓冲区溢出 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢 ...
- js判断是否是在微信浏览器中打开
// js判断是否是在微信浏览器中打开 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/Mi ...
- 2019.12.09 Scanner类(用户输入数据----引用数据类型)
创建:数据类型 变量名 = new 数据类型(): 引用:变量名.方法名(): //导包import java.util.Scanner;class Demo01{ public st ...
- SVN 常用 查看日志
1.日志查看,有时候会遇到查看一下之前改过的代码,或者恢复某某某个版本,这时就需要用到SVN的查看日志功能了,如图 2.日志列表,这里能看到各个版本的所有信息,包含了版本号 提交人 提交时间 提交时所 ...
- 手动停止jquery ajax请求
主要调用jquery提供的ajax abort方法,详细代码如下: <html> <head> <meta charset="UTF-8"> & ...
- shell 查看目前机器listen的所有端口
netstat -lnp 这条命令的意思是列出系统里面监听网络连接的端口号和相应的进程PID.参数说明:-t:表示列出TCP连接(也可以加上-u参数表示同时列出UDP网络连接)-l:表示列出正在网络监 ...
- mysql 修改字段名称以及长度
//修改字段长度 alter table table1 modify name ); //修改字段名称以及长度 alter table table1 change name name_new ); a ...
- SQL学习回顾
--本文源自<黑马程序员>