【kafka】集群安装kafka

kafka搭建集群,相较于单节点安装,需要注意zookeeper配置文件中添加initLimit=、syncLimit=参数。否则节点无法启动

initLimit:LF初始通信时限        syncLimit:LF同步通信时限

集群一般建议三台:以下是配置文件示例:

server.properties:

# 通用配置
broker.id=1
listeners=PLAINTEXT://node1:9092
advertised.listeners=PLAINTEXT://node1:9092
log.dirs=/tmp/kafka-logs

# ZooKeeper 配置
zookeeper.connect=node1:2181,node2:2181,node3:2181

#以及其他配置参数


  1. broker.id:每个节点都有唯一的 broker.id,分别设置为1、2、3。

  2. listenersadvertised.listeners:这两个参数设置为节点的主机名(或者 IP 地址)和 Kafka 使用的端口(默认是9092)。确保所有节点的配置一致,但每个节点的监听地址应该与其所在节点的主机名一致。

  3. log.dirs:这是 Kafka 存储日志文件的目录,可以根据需要进行修改。

  4. zookeeper.connect:这是指向 ZooKeeper 集群的连接信息。确保它们指向正确的 ZooKeeper 集群。

 

zookeeper.properties

# 集群中的节点ID,每个节点需要唯一
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

# 客户端访问 ZooKeeper 时的连接端口
clientPort=2181

# 数据存储目录
dataDir=/tmp/zookeeper

# 通信时限
initLimit=5
syncLimit=2

tickTime=2000


  1. server.x:每个节点的配置,x 是节点的唯一ID。其中,node1node2node3 是 ZooKeeper 集群中的各个节点的主机名(或者 IP 地址),2888 是用于与其他 ZooKeeper 节点通信的端口,3888 是用于选举 leader 的端口。确保每个节点的配置文件中的 server.x 参数是唯一的。

  2. clientPort:客户端连接 ZooKeeper 时使用的端口。通常是2181,但您可以根据需要进行更改。

  3. dataDir:ZooKeeper 存储数据的目录。确保每个节点的数据存储目录一致。

  4. initLimitsyncLimit:这些参数用于配置 ZooKeeper 的选举和通信时限。这些值通常是根据网络延迟和集群规模来调整的。

  5. tickTime心跳间隔

 

参考文档:zookeeper集群 initLimit和syncLimit_zookeeper initlimit-CSDN博客