kafka集群搭建

 1、简介

    Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

1. 服务器基本信息

kafka需要配合zookeeper使用,在安装kafka之前,需要先安装zookeeper集群,关于安装zookeeper集群,可以参考:https://www.cnblogs.com/zhangan/p/10978012.html

ip地址安装服务
192.168.1.11 zookeeper-3.4.10、kafka2.10、kafka-manager
192.168.1.12 zookeeper-3.4.10、kafka2.10
192.168.1.13 zookeeper-3.4.10、kafka2.10

2. 安装jdk(三台主机上执行)

3. 安装kafka(三台主机上执行)

3.1 安装kafka

下载地址: https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.1/kafka_2.11-2.1.1.tgz

cd /usr/local/src
tar zxvf kafka_2.11-2.1.1.tgz
mv kafka_2.11-2.1.1 /usr/local/kafka

3.2 修改配置文件

vim /usr/local/kafka/config/server.properties

具体参数如下:

  • 每台服务器的broker.id都不能相同

  broker.id=1

  • 端口

  port=9092

  • 主机名

  host.name=192.168.1.11

  • 是否可以删除topic

  delete.topic.enable=true

  • 具体一些参数

  log.retention.hours=168
  message.max.byte=5242880
  default.replication.factor=2
  replica.fetch.max.bytes=5242880

  • 设置zookeeper集群地址与端口如下:

  zookeeper.connect= 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181

3.3 启动kafka(三台)

cd /usr/local/kafka/kafka_2.11-2.1.1/bin
./kafka-server-start.sh -daemon ../config/server.properties &

3.4 创建topic

./kafka-topics.sh --create --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --replication-factor 2 --partitions 1 --topic tttt

参数解释:

  • 复制两份

  --replication-factor 2

  • 创建1个分区

  --partitions 1

  • topic 名称

  --topic tttt

3.5 查看已经存在的topic

./kafka-topics.sh --list --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181

3.6 删除topic

删除topic,需要在server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。

./bin/kafka-topics.sh --delete --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --topic tttt

3.7消费topic

kafka-console-consumer.sh --bootstrap-server 172.31.15.70:9092 --topic NotifyAPP --from-beginning --zookeeper 172.31.15.70:2181

3.8 查询

  • 查询集群描述

  bin/kafka-topics.sh --describe --zookeeper

  • 消费者列表查询

  bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --lis

  • 新消费者列表查询(支持0.9版本+)

  bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --list

  • 显示某个消费组的消费详情(仅支持offset存储在zookeeper上的)

  bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test

  • 显示某个消费组的消费详情(支持0.9版本+)

  bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --describe --group test-consumer-group

原文地址:https://www.cnblogs.com/zhangan/p/10986226.html