(二) Kafka的基本操作以及Broker配置

  • Kafka的常用基本操作

##列出所有主题
./kafka-topics.sh --zookeeper s227:2181,s228:2181,s229:2181 --list
##列出所有主题的详细信息
./kafka-topics.sh --zookeeper s227:2181,s228:2181,s229:2181 --describe
##创建主题 主题名 my-topic,1副本,8分区
./kafka-topics.sh --zookeeper s227:2181,s228:2181,s229:2181 --create --replication-factor 1 --partitions 8 --topic my-topic
##增加分区,注意:分区无法被删除
./kafka-topics.sh --zookeeper s227:2181,s228:2181,s229:2181 --alter --topic my-topic --partitions 16
##删除主题
./kafka-topics.sh --zookeeper s227:2181,s228:2181,s229:2181 --delete --topic my-topic
##列出消费者群组
./kafka-topics.sh --new-consumer --bootstrap-server localhost:9092/kafka --list
##列出消费者群组详细信息
./kafka-topics.sh --new-consumer --bootstrap-server localhost:9092/kafka --describe --group 群组名

  • Broker配置(server.properties)

  1. broker.id  每个broker的id必须不同,整数
  2. log.dirs    存放kafka数据 多个以,分割 配置多个充分利用磁盘并行读写能力
  3. num.recovery.threads.per.data.dir   每个数据目录用于日志启动和关闭时的线程数量,因为这些线程只是服务启动或关闭时才会用到,如果本参数设置为8 log.dirs配置了3个目录,则总共会启动24个线程
  4. auto.create.topics.enable     自动创建主题 默认为true
  5. num.partitions  创建分区的默认分区数
  6. log.retention.hours  日志保存时间 默认168(7天)
  7. log.retention.bytes  topic每个分区的最大文件大小
  8. log.segment.bytes  partition的日志切分成一段一段超过这个数量就会开始创建新的log 默认被删除1G (10天填满1个G + 7天过期=17天)
  9. log.segment.ms  和上面的一样 只不过是以时间为判断依据
  10. message.max.bytes  一个broker能够接受的消息最大字节默认为900KB到1MB,producer和consumer必须一致

 

  • 硬件配置对Kafka性能的配置

磁盘

磁盘吞吐量影响生产者的性能。因为生产者的消息必须被提交到服务器保存,大多数客户端都会一直等待,知道至少有一个服务器确认消息已经成功提交位置,也就是说磁盘写入越快,生成消息的延迟越低

内存

kafka本身不需要太多内存,内存主要影响消费者性能,消费者的消费数据一般会从内存中获取

网络

网络吞吐量决定了kafka能够处理的最大数据流量

cpu

kafka对cpu要求不高,主要在对消费的压缩和解压缩才需要

(二) Kafka的基本操作以及Broker配置_第1张图片

你可能感兴趣的:(kafka)