一、安裝zookeeper
需要預先給linux配置jdk8環境
進入zookeeper官網下載安裝包
https://dlcdn.apache.org/zookeeper/
選擇需要的版本


將安裝包使用Xftp上傳至Linux中

使用tar命令解壓
tar -xzf apache-zookeeper-3.6.3-bin.tar.gz

二、配置zookeeper
進入zookeeper安裝目錄中新建data和log檔案夾
cd apache-zookeeper-3.6.3-bin
mkdir data
mkdir log

進入conf目錄, 復制一份zoo_sample.cfg并命名為zoo.cfg
cp zoo_sample.cfg zoo.cfg

vim打開zoo.cfg,添加三個配置
vim zoo.cfg
dataDir=/home/zhou/apache-zookeeper-3.6.3-bin/data
dataLogDir=/home/zhou/apache-zookeeper-3.6.3-bin/log
admin.enableServer=false
#zookeeper最近的版本中有個內嵌的管理控制臺是通過jetty啟動,也會占用8080 埠,
#admin.enableServer=false,添加這行停用這個服務

三、啟動zookeeper
進入bin目錄啟動zookeeper
./zkServer.sh start
#加上-foreground可以顯示詳細資訊
./zkServer.sh start-foreground
#查看zookeeper狀態
./zkServer.sh state
#停止服務
./zkServer.sh stop

使用jsp -l查看zookeeper是否啟動成功
jsp -l
四、下載kafka安裝包
進入kafka官網下載安裝包
http://kafka.apache.org/downloads
選擇需要的版本下載

將安裝包使用Xftp上傳至Linux中

使用tar命令解壓
tar -xzf kafka_2.11-2.4.0.tgz

解壓后的檔案夾里bin目錄里放一些可執行程式,config目錄里放一些組態檔

進入config目錄中,kafka主要用到的組態檔就是server.properties

五、配置 server.properties
使用vim查看server.properties
vim server.properties

broker.id標識broker

listeners后面改成服務器的ip地址,9092位kafka對外提供服務的默認埠

log.dirs設定存放日志的檔案夾
kafka中每一條訊息都會默認保存七天就保存在這個里面

因為kafka需要使用zookeeper,所有需要設定zookeeper服務器的地址

使用vim添加一個域名
vim /etc/hosts

將zookeeper.connect修改為域名:埠,直接寫ip地址kafka會啟動失敗

成功啟動kafka
bin/kafka-server-start.sh config/server.properties
#這樣可以后臺以守護行程方式啟動
bin/kafka-server-start.sh -daemon config/server.properties


六、測驗
啟動kafka后使用kafka-topics.sh創建topic
./kafka-topics.sh --create --zookeeper 192.168.220.132:2181 --replication-factor 1 --partitions 1 --topic test
查看topic
./kafka-topics.sh --list --zookeeper 192.168.220.132:2181

發送訊息
輸入命令后會開啟一個發送訊息的客戶端
./kafka-console-producer.sh --broker-list 192.168.220.132:9092 --topic test

接收訊息
發送方發送一條訊息,接收方就能收到
./kafka-console-consumer.sh --bootstrap-server 192.168.220.132:9092 --from-beginning --topic test

七、搭建集群
復制兩個server.properties檔案
cp server.properties server1.properties
cp server.properties server2.properties
分別配置為
broker.id=1
listeners=PLAINTEXT://IP:9092
dataDir=/home/zhou/apache-zookeeper-3.6.3-bin/logs-1
broker.id=2
listeners=PLAINTEXT://IP:9093
dataDir=/home/zhou/apache-zookeeper-3.6.3-bin/logs-2
啟動三臺服務器
bin/kafka-server-start.sh -daemon config/server.properties
bin/kafka-server-start.sh -daemon config/server1.properties
bin/kafka-server-start.sh -daemon config/server2.properties
啟動zookeeper客戶端查看
./zkCli.sh
有三個節點說明三臺服務器啟動成功

創建一個主題兩個磁區三個副本
./kafka-topics.sh --create --zookeeper zkIP:2181 --replication-factor 3 --partitions 2 --topic my-replicated-topic


kafka集群訊息的發送
./kafka-console-producer.sh --broker-list 192.168.220.132:9092 192.168.220.132:9093 192.168.220.132:9094 --topic my-replicated-topic
kafka集群訊息的接收
./kafka-console-consumer.sh --bootstrap-server 192.168.220.132:9092 192.168.220.132:9093 192.168.220.132:9094 --from-beginning --topic my-replicated-topic
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/345688.html
標籤:其他

