kafka集羣搭建

 一、簡介

    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集羣,能夠參考:http://www.javashuo.com/article/p-pfauykmu-do.htmlhtml

ip地址 安裝服務
192.168.1.11 zookeeper-3.4.十、kafka2.十、kafka-manager
192.168.1.12 zookeeper-3.4.十、kafka2.10
192.168.1.13 zookeeper-3.4.十、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.tgzbootstrap

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

具體參數以下:vim

  • 每臺服務器的broker.id都不能相同

  broker.id=1bash

  • 端口

  port=9092服務器

  • 主機名

  host.name=192.168.1.11fetch

  • 是否能夠刪除topic

  delete.topic.enable=truespa

  • 具體一些參數

  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:2181code

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 查詢

  • 查詢集羣描述

  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

相關文章
相關標籤/搜索