多易教育KAFKA實戰(1)-KAFKA集羣安裝和shell客戶端

 

注意kafka的安裝需要依賴Zookeeper集羣 ,所以安裝kafka之前先安裝zookeeper!

zookeeper安裝

  • 上傳安裝包
  • 解壓

    tar -zxvf zookeeper-3.4.6.tar.gz

  • 修改配置文件

  (1)進入配置文件目錄

 cd /usr/apps/zookeeper-3.4.6/conf

  (2)修改配置文件名稱

 mv  zoo_sample.cfg   zoo.cfg

  (3)編輯配置文件

     vi zoo.cfg

     dataDir=/usr/apps/data/zkdata

     # Set to "0" to disable auto purge feature

     #autopurge.purgeInterval=1

     server.1=linux01:2888:3888

     server.2=linux02:2888:3888

     server.3=linux03:2888:3888

 

  • 創建數據目錄

    mkdir -p /usr/apps/data/zkdata

 

  • 分別在各個節點的數據存儲目錄中,生成一個myid文件,內容爲它的id

     echo 1 > /usr/apps/data/zkdata/myid

     echo 2 > /usr/apps/data/zkdata/myid

     echo 3 > /usr/apps/data/zkdata/myid

 

  • 分發安裝包

    scp -r zookeeper-3.4.6 linux02:/usr/apps/  單獨分發

 

 

  • 配置環境變量

    vi /etc/profile

    #ZOOKEEPER_HOME

    export ZOOKEEPER_HOME=/usr/apps/zookeeper-3.4.6

    export PATH=$PATH:$ZOOKEEPER_HOME/bin

      source /etc/profile

      注意:還需要分發環境變量

  • zookeeper集啓停羣

    bin/zkServer.sh start   zk服務啓動

    bin/zkServer.sh status  zk查看服務狀態

    bin/zkServer.sh stop    zk停止服務

 

  1. 腳本啓停
  1. 腳本啓動

#!/bin/bash

for i in 1 2 3

do

ssh linux0${i} "source /etc/profile;/usr/apps/zookeeper-3.4.6/bin/zkServer.sh $1"

done

 

安裝kafka集羣

  • 上傳安裝包
  • 解壓

    tar -zxvf kafka_2.11-2.2.2.tgz

  • 修改配置文件
  1. 進入配置文件目錄

    cd /usr/apps/kafka_2.11-2.2.2/config

  1. 編輯配置文件

     vi server.properties

      #爲依次增長的:0、1、2、3、4,集羣中唯一 id

      broker.id=0  

       #數據存儲的⽬錄

       log.dirs=/usr/apps/data/kafkadata

       #指定zk集羣地址

      zookeeper.connect=lx01:2181,lx02:2181,lx03:2181

 

  • 分發安裝包

for i in {2..3}; do scp -r kafka_2.11-2.2.2 linux0$i:$PWD;  done

 

  • 配置環境變量

 vi /etc/profile

#ZOOKEEPER_HOME

export ZOOKEEPER_HOME=/usr/apps/kafka_2.11-2.2.2

export PATH=$PATH:$ZOOKEEPER_HOME/bin

source /etc/profile

注意:還需要分發環境變量

 

  1. 分別在linux02和linux03上修改配置文件/usr/apps/kafka_2.11-2.2.2/server.properties中的broker.id=1,broker.id=2(broker.id不能重複)

 

  • 啓停集羣(在各個節點上啓動)

bin/kafka-server-start.sh -daemon /usr/apps/kafka_2.11-2.2.2/config/server.properties

  啓動集羣

bin/kafka-server-stop.sh stop

shell客戶端操作

創建topic

./kafka-topics.sh --zookeeper linux01:2181,linux02:2181,linux03:2181 --create --replication-factor 3 --partitions 3 --topic test

參數解釋:

--replication-factor  副本數量

--partitions 分區數量

--topic topic名稱

查看當前服務器中的所有topic

 ./kafka-topics.sh --zookeeper linux01:2181,linux02:2181,linux03:2181 --list

 

刪除topic

./kafka-topics.sh --zookeeper linux01:2181,linux02:2181,linux03:2181 --delete --topic test

 

查看某個topic的詳情

./kafka-topics.sh --zookeper linux01:2181,linux02:2181,linux03:2181 --describe --topic test

 

修改分區數

/kafka-topics.sh --zookeeper xu01:2181 --alter --topic test --partitions 5

producter

./kafka-console-producer.sh --broker-list xu01:9092 --topic test

>hello word

>kafka

>nihao

Consumer

./kafka-console-consumer.sh --bootstrap-server  h1:9092  --from-beginning --topic test

# 指定要消費的分區,和要消費的起始offset

 ./kafka-console-consumer.sh --bootstrap-server h1:9092,h2:9092,h3:9092 --topic doit14 --offset 2 --partition 0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章