ubuntu18.04下Kafka安裝與部署

Apache Kafka是分佈式發佈-訂閱消息系統,Apache Kafka與傳統消息系統相比,有如下不一樣:java

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

1、安裝Java
更新軟件包bootstrap

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

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

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)
2、安裝Zookeeper
請看我這篇文章:https://blog.csdn.net/u010889616/article/details/80171307分佈式

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

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

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
修改配置文件中2一、3一、36和60行

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

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

 

二、啓動Kafka服務,使用 kafka-server-start.sh 啓動 kafka 服務
bin/kafka-server-start.sh config/server.properties
三、建立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
四、產生消息,建立消息生產者

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

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

 

六、查看Topic消息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic testwzj@wzj-ThinkPad-T61:~/kafka/kafka_2.11-1.0.0$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic testTopic: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 版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索