閱讀602 返回首頁    go 技術社區[雲棲]


Kafka(Quickstart)

This tutorial assumes you are starting fresh and have no existing Kafka or ZooKeeper data. Since Kafka console scripts are different for Unix-based and Windows platforms, on Windows platforms use bin\windows\ instead of bin/, and change the script extension to .bat.
第一步:下載 kafka
第二步 開啟服務
指令: zookeeper-server-start.sh server.properties
創建create a topic
kafka-topics-sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic test
看創建結果
kafka-topics-sh --list --zookeeper master:2181
發送一些信息
kafka-console-producer.sh --broker-list localhost:9092 --topic test

開啟一個消費
kafka-console-consumer.sh --bootstrap-server master:9092 --topic test --from-beginning
建立一個有多個broker的集群
將config下的server.properties文件複製
更改裏麵的三行內容
1. broker.id=1 id號唯一所以多個得用不同數字代替
2.listeners=planintext://:9093 過個broker需要改這個端口號
3.log.dir=/tmp/kafka-logs 更改文件名 保證每個broker都有有個 不重複

啟動多個broker文件的時候 指令
kafka-server-start.sh server-1.properties &
kafka-server-start.sh server-2.properties &
&表示切換線程到後台執行

kafka-topics.sh --describe --zookeeper master:2181 --topic test
顯示主分區一個 副本一個
顯然這是kafka的高可用原因

第七步

利用
kafka練劍輸入輸出數據

通過控製台寫數據 或者寫數據返回到控製台是非常方便的. 但是你興許想使用其他資源或者到處數據從kafka到係統上 對於許多係統 代替寫定製代碼 你可以通過kafka鏈接導入或者到處數據

Kafka鏈接是一個工具包括導入導出數據 運行在實現客戶邏輯為交互擴展的係統 在這個快速開始的例子中我們將看到如何運行kafka鏈接通過簡單的連接器導入數據從一個文件到Kafka 到出數據從Kafa到一個文件

echo -e "foo\nbar">test.txt
或者在windows上
echo foo>test.txt
echo bar>>test.txt

接下來 我們開啟兩個連接器 運行在standalone 模式中 這意味著他們運行在一個簡單 的 當地 專用的通道 我們提供三個配置文件作為參數

第一個配置kafka鏈接進程 包含公共配置就像brokers鏈接序列化格式為數據 剩下的配置文件分別製定一個創建的連接器 這些文件都有唯一的鏈接器名字 以及類的實現 和其他的對連接器的要求

connect-standalone.sh config
/connect-standalone.properties config
/connect-file-source.properties config
/connect-file-sink.properties
這些例子配置文件 包括在Kafka 使用默認的當地集成配置有提前開啟 並創建兩個連接器 第一個是個資源連接器 用於讀取行從輸入的文件中並且生產作為一行存在Kafka 的topic中 第二個是一個冗餘連接器 用於讀取信息從Kafka的topic 中並且生成的作為一行存在輸出文件中

在啟動期間 已將會看到許多日誌信息 包括一些指定的連接器被實現
一旦kafka鏈接進程開始 資源鏈接器就會開始讀取行 從test,txt文件 並且生成他們到名為connect-test的topics中 然後就是冗餘鏈接器會開始讀取信息從topics為connect-test的分區中 並且寫到test.sink.txt文件中 我們可以審核已經遞交的數據通過整個管道從檢查整個輸出文件
more test.sink.txt

記錄數據被存儲在kafka的topic為connect-test中 所以我們也可以運行控製台的消費端 去開數據(或者使用客戶的消費之代碼運行它)

kafka-console-consumer.sh --bootstrap-server master :9093 --topic connect-test

第八步 使用Kafka 流 處理數據

kafka流是一個客戶端的圖書館 為建立關鍵任務 實時應用 微服務 那些輸入或者輸出數據被存儲在kafka集群上 卡夫卡流結合了編寫和部署標準Java和Scala應用程序在客戶端的簡單性,以及卡夫卡服務器端集群技術的優點,使這些應用程序具有高度可伸縮性、彈性、容錯、分布式等優點。

最後更新:2017-11-09 21:33:40

  上一篇:go  阿裏雲 CDN 504錯誤幾種解決方法
  下一篇:go  獨家視頻教程,玩轉《阿裏巴巴Java開發手冊》P3C掃描插件