Kafka集群、目录与工具

Zookeeper集群配置

Kafka重度依赖Zookeeper,所以必须选安装Zookeeper,下面是本机安装简单配置,因为只有一台机器,也没有使用虚拟机,所以使用了不同端口。

详细内容可以参考Zookeeper集群安装

tickTime=2000
initLimit=10
syncLimit=5
dataDir=F:\\zkkfk\\data\\zkdata\\zk1
clientPort=2181
tickTime=2000
initLimit=10
syncLimit=5
dataDir=F:\\zkkfk\\data\\zkdata\\zk2
clientPort=2182
tickTime=2000
initLimit=10
syncLimit=5
dataDir=F:\\zkkfk\\data\\zkdata\\zk3
clientPort=2183

zk初始化

Kafka集群配置

下面是简单的Kafka的配置,集群中的broker.id一定要不同

broker.id=0
port=9092
log.dirs=F:\\zkkfk\\data\\kfkdata\\k1

zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
offsets.topic.replication.factor=1
broker.id=1
port=9093
log.dirs=F:\\zkkfk\\data\\kfkdata\\k2
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
offsets.topic.replication.factor=1
#broker集群中的唯一表示,非负数,只要broker.id没有变化,则不会影响consumers的消息情况
broker.id=2
#broker server服务端口
port=9094
#kafka数据的存放地址,多个地址的话用逗号分割D:\\data11,D:\\data12
log.dirs=F:\\zkkfk\\data\\kfkdata\\k3
#ZK集群的地址,可以是多个,多个之间用逗号分割hostname1:port1,hostname2:port2
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
offsets.topic.replication.factor=1

broker.id是用来唯一表示集群中的broker的,同一个集群中的broker.id一定设置的不同。

port是指定通信端口,consumer和producer需要与broker交互,都会用到这个端口,同一台机器的伪集群一定设置为不同,真是集群建议使用相同端口。

zookeeper.connect是设置Zookeeper通信地址的,必须配置

log.dirs是数据目录,默认在kafka根目录下的logs目录。

Kafka目录简介

集群目录上图是本地安装集群的目录,data是存放数据的目录

索引目录

数据目录

kafka-topic

kafka-topic可以用来创建查看集群中的topic

# 创建topic时,通过--config进行指定项的参数配置,覆盖默认配置
kafka-topics.sh --zookeeper localhost:2181 --create --topic topic-name --partitions 1 --replication-factor 1 --config max.message.bytes=64000
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic multipar_topic
kafka-topics.bat --list --zookeeper localhost:2181
kafka-topics.sh --zookeeper localhost:2181 --topic topic-name --describe
Topic: topic-name    PartitionCount:2        ReplicationFactor:3     Configs:
Topic: topic-name    Partition: 0    Leader: 218     Replicas: 218,216,217   Isr: 218,216,217
Topic: topic-name    Partition: 1    Leader: 216     Replicas: 216,217,218   Isr: 216,218,217

kafka-console-producer

kafka-console-producer一个简单的producer,可以通过命令行发送消息,–broker-list指定broker列表

kafka-console-producer.sh --broker-list 192.168.6.10:9092,192.168.6.11:9092,192.168.6.12:9092 --topic test
kafka-console-producer.sh --broker-list 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 --topic test

kafka-console-consumer

kafka-console-consumer是一个简单的消费者,–bootstrap-server指定broker列表

kafka-console-consumer.sh --bootstrap-server 192.168.6.10:9092,192.168.6.11:9092,192.168.6.12:9092 --from-beginning --topic test

kafka-configs

kafka-configs可以用来动态查看修改配置

# 修改配置
kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name topic-name --alter --add-config max.message.bytes=128000
 
# 删除配置
kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name topic-name --alter --delete-config max.message.bytes

# 查看配置参数
kafka-configs.sh --entity-type topics --entity-name topic-name --describe --zookeeper localhost:2181

kafka-producer-perf-test

kafka-producer-perf-test是用来做压测的,可以测试生产者对集群的影响

参数 说明
–num-records 发送的总消息数
–record-size 模拟消息的大小,KB
–throughput tps上限阈值,如果没有tps的限制,设置为-1
–compression.type 设置消息压缩类型,snappy,lz4
kafka-producer-perf-test.sh --topic topicname --num-records 100000000 --record-size 1000 --throughput -1 --producer-props bootstrap.servers=localhost:9092 acks=-1 compression.type=lz4

kafka-producer-perf-test.sh --producer-props bootstrap.servers=127.0.0.1:9092 --topic topicname  --num-records 1  --record-size 10 --throughput 400

kafka-consumer-perf-test

kafka-consumer-perf-test可以用来压测消费者对集群的影响

kafka-consumer-perf-test.sh --zookeeper 127.0.0.1:2181 --topic topicname  --message-size 10 --messages 1 --threads 1

kafka-run-class

kafka-run-class可以用来查看Kafka的数据日志文件信息

kafka-run-class.sh  kafka.tools.DumpLogSegments --print-data-log --files /usr/local/kafka/data/topicname-partition/00000000000000000000.log
kafka-run-class.bat  kafka.tools.DumpLogSegments --print-data-log --files F:/zkkfk/data/kfkdata/k1/multipar_topic-0/00000000000000000000.log

总结

总结

猜你喜欢

转载自blog.csdn.net/trayvontang/article/details/106363302