ubuntu18.04下Kafka安裝與部署

Apache Kafka是分佈式發佈-訂閱消息系統,Apache Kafka與傳統消息系統相比,有以下不同:

它被設計爲一個分佈式系統,易於向外擴展;
它同時爲發佈和訂閱提供高吞吐量;
它支持多訂閱者,當失敗時能自動平衡消費者;
它將消息持久化到磁盤,因此可用於批量消費;
本篇文章是基於Ubuntu18.04來安裝Kafka。

一、安裝Java
更新軟件包

sudo apt-get update
安裝openjdk-8-jdk

sudo apt-get install openjdk-8-jdk
查看java版本,看看是否安裝成功

wzj@wzj-ThinkPad-T61:~$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
二、安裝Zookeeper
請看我這篇文章:https://blog.csdn.net/u010889616/article/details/80171307

三、安裝Kafka
下載地址:https://kafka.apache.org/downloads,ubuntu下可以用wget直接下載,我是下載到了/home/wzj/kafka目錄

wget http://mirrors.shuosc.org/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz
解壓

tar -zxvf kafka_2.11-1.0.0.tgz
創建日誌存儲目錄

wzj@wzj-ThinkPad-T61:~$ cd kafka/
wzj@wzj-ThinkPad-T61:~/kafka$ mkdir logs-1
進入kafka解壓目錄,修改kafka-server 的配置文件

vim config/server.properties
修改配置文件中21、31、36和60行

broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://host_ip:9092
log.dirs=/home/wzj/kafka/logs-1
四、功能驗證
1、啓動Zookeeper,Zookeeper部署的是單點的。

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
查看是否啓動成功

 

2、啓動Kafka服務,使用 kafka-server-start.sh 啓動 kafka 服務
bin/kafka-server-start.sh config/server.properties
3、創建topic

使用 kafka-topics.sh 創建單分區單副本的 topic test

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看 topic 列表

bin/kafka-topics.sh --list --zookeeper localhost:2181
4、產生消息,創建消息生產者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
5、消費消息,創建消息消費者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
在生產消息的窗口,輸入內容,在消費窗口就可以打印出來

 

6、查看Topic消息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
wzj@wzj-ThinkPad-T61:~/kafka/kafka_2.11-1.0.0$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 1 Replicas: 1 Isr: 1
第一行給出了所有分區的摘要,每個附加行給出了關於一個分區的信息。 由於我們只有一個分區,所以只有一行。
    “Leader”: 是負責給定分區的所有讀取和寫入的節點。 每個節點將成爲分區隨機選擇部分的領導者。
    “Replicas”: 是複製此分區日誌的節點列表,無論它們是否是領導者,或者即使他們當前處於活動狀態。
    “Isr”: 是一組“同步”副本。這是複製品列表的子集,當前活着並被引導到領導者。
---------------------
作者:dmfrm
來源:CSDN
原文:https://blog.csdn.net/u010889616/article/details/80641922
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

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