kafka集群 zookeeper集群

kafka + zookeeper 集群

一、服务规划

系统:CentOS Linux release 7.8.2003 
版本:redis-5.0.10
地址清单:
176.16.2.11
176.16.2.12
176.16.2.13

zookeeper 信息

配置信息:
port:2181
server.1=176.16.2.11:2888:3888
server.2=176.16.2.12:2888:3888
server.3=176.16.2.13:2888:3888

配置信息 注意 zk 集群每个节点的myid标识分别为 1,2,3

zookeeper 集群标识:
# vim zookeeper/data/myid 
1

zookeeper 配置信息:
# vim zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/services/zookeeper/data
clientPort=2181
server.1=176.16.2.11:2888:3888
server.2=176.16.2.12:2888:3888
server.3=176.16.2.13:2888:3888

启动:
cd zookeeper/bin/ && ./zkServer.sh restart

kafka 信息

配置目录:kafka/config
数据目录:/tmp/zookeeper
端口:9092

配置文件:(server.properties 中 broker.id 标识分别为1,2,3

# vim config/producer.properties
bootstrap.servers=176.16.2.11:9092,176.16.2.12:9092,176.16.2.13:9092

# vim config/consumer.properties
bootstrap.servers=176.16.2.11:9092,176.16.2.12:9092,176.16.2.13:9092
group.id=test-consumer-group

# cat config/zookeeper.properties
dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0
admin.enableServer=false

kakfa节点1:server.properties

# cat config/server.properties
broker.id=1
listeners=PLAINTEXT://176.16.2.11:9092
advertised.listeners=PLAINTEXT://176.16.2.11:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/opt/logs/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=3
offsets.topic.replication.factor=3
# 默认是1 集群副本及更改为3
transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 zookeeper.connect=176.16.2.11:2181,176.16.2.12:2181,176.16.2.13:2181 zookeeper.connection.timeout.ms=18000

kafka节点2:server.properties

# cat config/server.properties
broker.id=2
listeners=PLAINTEXT://176.16.2.12:9092
advertised.listeners=PLAINTEXT://176.16.2.12:9092
log.dirs=/opt/logs/kafka-logs
zookeeper.connect=176.16.2.11:2181,176.16.2.12:2181,176.16.2.13:2181
zookeeper.connection.timeout.ms=18000

kafka节点3:server.properties

# cat config/server.properties
broker.id=3
listeners=PLAINTEXT://176.16.2.13:9092
advertised.listeners=PLAINTEXT://176.16.2.13:9092
log.dirs=/opt/logs/kafka-logs
zookeeper.connect=176.16.2.11:2181,176.16.2.12:2181,176.16.2.13:2181
zookeeper.connection.timeout.ms=18000

启动:

nohup kafka/bin/kafka-server-start.sh kafka/config/server.properties &

 

【kafka】配置示例解析

Kafka 配置文件 server.properties 示例
broker.id=1
#定义了 Kafka broker 的唯一标识符。在一个 Kafka 集群中,每个 broker 必须有一个唯一的 broker.id。
host.name=0.0.0.0
#通常不建议将 host.name 设置为 0.0.0.0,因为它表示监听所有可用的网络接口。但在某
些情况下,如果你希望 Kafka 监听所有接口,可以这样做。但更常见的是使用 listeners 和
advertised.listeners 来明确指定监听地址和对外公布的地址。
port=9092
#Kafka broker 默认监听的端口。客户端将通过此端口与 broker 通信。
listeners 和 advertised.listeners
#这两个参数用于定义 Kafka broker 的监听地址和对外公布的地址。由于它们被注释掉了,
所以当前配置没有使用它们。但在生产环境中,通常会明确设置这些值。
num.network.threads=3
#Kafka broker 用于处理网络请求的线程数。
num.io.threads=8
#Kafka broker 用于处理磁盘 I/O 的线程数。
socket.send.buffer.bytes 和 socket.receive.buffer.bytes
#用于设置 Kafka broker 的 TCP socket 发送和接收缓冲区大小。
socket.request.max.bytes=104857600
#Kafka broker 接收单个请求的最大字节数。
log.dirs=/opt/logs/kafka-logs
#Kafka broker 存储日志文件的目录。Kafka 的所有日志(包括消息、索引等)都将存储在这里。
num.partitions=1
#默认创建的主题分区数。但请注意,这只是一个默认值,你可以在创建主题时指定不同的
分区数。
num.recovery.threads.per.data.dir=1
#用于日志恢复的线程数,每个日志目录一个。
offsets.topic.replication.factor=3
#Kafka 内部使用的 __consumer_offsets 主题的复制因子。这个主题是用来存储消费者偏移
量的。
transaction.state.log.replication.factor=1
#Kafka 内部使用的 __transaction_state 主题的复制因子。这个主题是用来存储事务日志的。
transaction.state.log.min.isr=1
#Kafka 内部使用的 __transaction_state 主题的最小 ISR(In-Sync Replicas)数量。ISR 是与
leader 保持同步的副本集合。
default.replication.factor=1
#默认情况下,新创建的主题的复制因子。但同样,你可以在创建主题时指定不同的复制因
子。
log.retention.hours=24
#日志保留时间(以小时为单位)。超过这个时间的日志将被删除。
log.segment.bytes=1073741824
#日志文件的最大大小(以字节为单位)。当日志文件达到这个大小时,Kafka 会创建一个
新的日志文件。
log.retention.check.interval.ms=10000
#Kafka 检查是否需要删除旧日志的间隔(以毫秒为单位)。
zookeeper.connect
#Kafka broker 连接的 ZooKeeper 集群的地址列表。ZooKeeper 用于 Kafka 的元数据管理和
集群协调。
zookeeper.connection.timeout.ms=10000
#Kafka broker 与 ZooKeeper 之间的连接超时时间(以毫秒为单位)。
delete.topic.enable=true
#是否允许删除主题。在较旧版本的 Kafka 中,这个主题删除功能是默认禁用的。但在较新
版本中,它通常是启用的。

 

 kafka topic 常用指令
删除 topic
cd /opt/services/kafka &&./bin/kafka-topics.sh --zookeeper server1:2181,server2:2181,server3:2181 --delete --topic topic_name
创建 topic
/opt/services/kafka &&/bin/kafka-topics.sh --zookeeper server1:2181,server2:2181,server3:2181 --create --replication-factor 3 --partitions 1 --topic topic_name
查看 kafka-topic 信息
cd /opt/services/kafka && ./bin/kafka-topics.sh --zookeeper server1:2181,server2:2181,server3:2181 --list
查看 kafka-consumer 消费者 offset 偏移量
cd /opt/services/kafka && ./bin/kafka-consumer-group.sh --bootstrap-server server1:9092,server2:9092,server3:9092 --describe --all-groups

 

 

 

posted @ 2020-12-12 14:30  01234567  阅读(353)  评论(0编辑  收藏  举报