Kafka集群配置

之前一篇博文简单讲述了zookeeper和kafka的单机配置,详细可以参考《Linux(CentOS)中常用软件安装,使用及异常——Zookeeper, Kafka》。
本文只要讲述Kafka集群的配置事项,包括zookeeper集群的配置。本文讲述的前提是kafka和zookeeper在单机情况下已正确安装和配置。如有疑问,可以参考《Linux(CentOS)中常用软件安装,使用及异常——Zookeeper, Kafka》。

假设集群中有三台机器, ip地址分别为: 10.101.139.1, 10.101.139.2, 10.101.139.3.
zookeeper集群: 10.101.139.1:2181, 10.101.139.2:2181, 10.101.139.3:2181.
kafka broker集群: 10.101.139.1:9092, 10.101.139.2:9092, 10.101.139.3:9092.

配置zookeeper集群

1 修改zookeeper的配置文件,在$ZOOKEEPER_HOME/conf/下的zoo.cfg.(每台机器都需要添加)
在文件末尾添加:

server.0=10.101.139.1:2888:3888
server.1=10.101.139.2:2888:3888
server.2=10.101.139.3:2888:3888

这里简单说明一下:server.A=B:C:D
A是一个数字,表示这个是第几号服务器,B是这个服务器的ip地址
C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口
D是在leader挂掉时专门用来进行选举leader所用

2 创建server id标识
在zoo.cfg下同时还需要配置(单机版时就已经设定,在配置集群时就可不必在设置)

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/data
dataLogDir/tmp/zookeeper/log
clientPort=2181

在上面可以看到有个dataDir的配置,在配置集群时需要在dataDir配置的/tmp/zookeeper/data下创建一个名称为”myid”的文件,文件里填上serverid号。

vim /tmp/zookeeper/data/myid
之后在其中输入0 (根据上一步的配置,10.101.139.1配置为0,10.101.139.2配置为1,依次类推对应起来)
输入:wq保存退出

3 启动各个节点的zookeeper: bin/zkServer.sh start

4 通过bin/zkServer.sh status查看各个节点的状态。

JMX enabled by default
Using config: /root/util/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower (或Leader)

配置kafka集群

1 需要修改$KAFKA_HOME/config下的server.properties文件
修改broker.id的值,比如10.101.139.1设置为0,10.101.139.2设置为1,依次类推。(每台kafka broker server必须唯一)
最好将host.name设置为本机的ip地址而不是默认的localhost.
修改zookeeper.connect为zookeeper集群的ip,本例中可以这样设置:
zookeeper.connect=10.101.139.1:2181,10.101.139.2:2181,10.101.139.3:2181

2 在每台机器上启动kafka
bin/kafka-server-start.sh config/server.properties

时间: 2024-07-29 07:54:48

Kafka集群配置的相关文章

Kafka详解二、如何配置Kafka集群

Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置 单节点:一个broker的集群 单节点:多个broker的集群 多节点:多broker集群 一.单节点单broker实例的配置 1. 首先启动zookeeper服务      Kafka本身提供了启动zookeeper的脚本(在kafka/bin/目录下)和zookeeper配置文件(在kafka/config/目录下),首先进入Kafka的主目录(可通过 whereis kafka命令查找到):      [roo

扩展-kafka集群 报错 在线等

问题描述 kafka集群 报错 在线等 WARN [Controller-1-to-broker-2-send-thread], Controller 1's connection to broker Node(2, mine-28, 9092) was unsuccessful (kafka.controller.RequestSendThread) java.io.IOException: Connection to Node(2, mine-28, 9092) failed at kafk

如何为Kafka集群选择合适的Partitions数量

如何为Kafka集群选择合适的Partitions数量 Hadoop技术博文 这是许多kafka使用者经常会问到的一个问题.本文的目的是介绍与本问题相关的一些重要决策因素,并提供一些简单的计算公式. 文章目录 1 越多的分区可以提供更高的吞吐量 2 越多的分区需要打开更多地文件句柄 3 更多地分区会导致更高的不可用性 4 越多的分区可能增加端对端的延迟 5 越多的partition意味着需要客户端需要更多的内存 6 总结   越多的分区可以提供更高的吞吐量 首先我们需要明白以下事实:在kafka

LinkedIn开源Cruise Control:一个Kafka集群自动化运维新利器

Kafka近年来日渐流行,LinkedIn的1800台Kafka服务器每天处理2万亿个消息.虽说Kafka运行得十分稳定,但要大规模运行Kafka,在运维方面仍然面临巨大的挑战.每天都会有broker崩溃,导致集群工作负载不均衡.SRE团队需要花费大量的时间和精力来重分配分区,以便让集群重新恢复均衡. 自动化因此变得十分重要,这也就是为什么我们要开发Cruise Control:持续监控Kafka集群,自动调整分配给服务器的资源,达到预期的性能目标.用户设定目标,Cruise Control对集

一脸懵逼学习KafKa集群的安装搭建--(一种高吞吐量的分布式发布订阅消息系统)

1:KafKa的官方网址:http://kafka.apache.org/ 开发流程图,如: 2:KafKa的基础知识: 2.1:kafka是一个分布式的消息缓存系统2.2:kafka集群中的服务器都叫做broker2.3:kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接2.4:kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分区,以分担消息读写的负载2.

CentOS 7部署Kafka和Kafka集群

CentOS 7部署Kafka和Kafka集群 注意事项 需要启动多个shell脚本交互客户端进行验证,运行中的客户端不要停止. 准备工作: 安装java并设置java环境变量,在`/etc/profile`中加入 export JAVA_HOME=/usr/java/jdk1.8.0_65 export PATH=$PATH:$JAVA_HOME/bin 安装kafka 下载:wget http://mirrors.cnnic.cn/apache/kafka/0.10.0.1/kafka_2.

Apache2+Resin2.x集群配置实战

Apache2+Resin2.x集群配置 测试环境: 所需软件:apache2.x , Resin2.x 所需计算机:2 台 机器 A: IP 192.168.1.119 1. 安装好 Apache2.x 2. 修改 apache httpd.conf 配置文件, Include conf/include/remote-resin.conf 3. 生成 remote-resin.conf 放在 apache 的 conf/include 目录下,没有就创建一个 4. remote-resin.c

RedHat AS4-U2下Mysql 5.0.22集群配置

最近看到过很多关于cluster的资料,一直在研究linux系统级的负载均衡和高可用,但是还没有完全成功,只是实现了一些简单的服务:今天在搜集资料中看到有关mysql的cluster,看上去不是很复杂,就花了一个下午的时间研究研究,参考了Nanu前辈的MySQL集群配置步骤,一个简单的集群算是成功了.但是有一点我没搞懂,是不是mysql集群配置完成后,只能同步数据库中的表,而不能同步整个库?请高手指点一二,谢谢! 一.实验环境 1. Linux操作系统版本. RedHat AS4-U2 2. M

如何在服务器集群配置中相互接管IP地址

客户在二个不同的iSeries之间利用IASP实现相互备份,客户端通过Telnet连接到其中的主生产机或备机,如果一旦被连接的系统失败时,客户能否不需修改客户端会话参数(主机的IP地址),用同一个telnet会话无缝连接到另一系统上? 工作原理: 首先将SYSA 与 SYSB二个系统配置为集群环境,其中IASP1可以在二个系统中切换.虚拟IP为 19.19.19.19,这地址所属的网络地址范围不属于当前网络. 这虚拟IP地址是包含IASP1的集群资源组(cluster resource grou