Kafka實戰配置操作手冊shell版

Kafka實戰配置操作手冊_shell版

V0.10

1 簡介

1.1 基本概念

Kafka是一個分佈式的流平臺,能夠發佈和訂閱消息(流),在這方面,它類似於一個消息隊列或企業消息系統。以容錯(故障轉移)的方式存儲消息(流)。它的優勢是能夠構建實時的流數據管道,可靠地獲取系統和應用程序之間的數據,也能夠構建實時流的應用程序,對數據流進行轉換或反應

1.2 基本術語

    Topic:Kafka將消息分門別類,每一類的消息稱之爲一個主題(Topic)。
    Producer:發佈消息的對象稱之爲主題生產者(Kafka topic producer)
    Consumer:訂閱消息並處理髮布的消息的對象稱之爲主題消費者
    Broker已發佈的消息保存在一組服務器中,稱之爲Kafka集羣。集羣中的每一個服務器都是一個代理(Broker)。 消費者可以訂閱一個或多個主題(topic),並從Broker拉數據,從而消費這些已發佈的消息。

1.3 流程圖


 
2.    安裝部署

Kafka的運行需要有java,zookeeper,因此我們的安裝在linux裏分爲三步,下面涉及的jdk,kafka,zookeeper等安裝包可評論或私信我獲取
caution:以下的${path}代表你linux系統裏該文件的實際路徑,文中涉及到的IP爲虛擬IP

2.1 安裝java(如已安裝略過此步)

解壓        :tar  -xvf  ${path}/jdk-8u144-linux-x64.tar.gz
配置環境變量:vim /etc/profile   在最後面添加
# Java Env
export JAVA_HOME=${path}/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

2.2 安裝zookeeper

解壓:tar  -xvf  ${path}/ zookeeper-3.4.12.tar.gz
配置:更改conf裏的vim zoo.cfg,配置及註釋如下:


啓動:bin/zkServer.sh config/zookeeper.properties, sh腳本啓動需要指定使用屬性文件當參數,可更改該sh默認使用
檢查:ps -ef | grep zook,出現zookeeper則證明安裝配置成功,如未成功通過看zookeeper.out日誌查看詳細

2.3 安裝kafka

解壓:tar  -xvf  ${path}/ kafka_2.11-1.1.1.tar.gz
配置:更改conf裏的vim server.properties,配置及註釋如下:
broker.id=0
listeners=PLAINTEXT://192.168.49.129:9092
log.dirs=/u01/kafka_2.11-1.1.1/logs
zookeeper.connect=192.168.49.129:2181
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=12
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=3
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
log.retention.hours=3
offsets.retention.minutes=2880
delete.topic.enable=true
auto.create.topics.enable=true
default.replication.factor=2
啓動:bin/kafka-server-start.sh config/server.properties &
檢查:ps -ef | grep kafka,出現kafka則證明安裝配置成功,如未成功通過看logs日誌查看詳細 

3 測試使用

至上kafka已經安裝部署完成,現在我們測試使用,創建好topic後,首先進行數據生產,然後數據消費,體驗kafka的數據流平臺 

3.1 建立topic

cd ${path}/kafka_2.11-1.1.1
bin/kafka-topics.sh --create –zookeeper 192.168.49.129:2181 --replication-factor 1 --partitions 1 --topic test
創建好之後,查看是否創建成功
bin/kafka-topics.sh --list --zookeeper 192.168.49.129:2181
如果顯示test 則證明創建成功

3.2 數據生產

bin/kafka-console-producer.sh --broker-list 192.168.49.129:9092 --topic test
可隨便輸入幾行測試數據
 

3.3 數據消費

bin/kafka-console-consumer.sh --bootstrap-server 192.168.49.129:9092 --topic test --from-beginning
產生如下數據,則kafka初體驗完成
 
由圖可以看出不僅輸出了我剛剛輸入的測試數據,還輸出了之前緩存的數據

4 實戰

與kafka配合的腳本很多,通常我們會使用java,python,shell,這裏爲了簡便,我們以一個簡單的shell實現從MySQL數據庫抓取數據到kafka,經過kafka的數據緩存實時同步到其他數據庫
腳本附件


 

發佈了110 篇原創文章 · 獲贊 140 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章