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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM