kafka: fka_2.12-1.0.2.tgz
jdk: jdk-8u261-linux-x64.rpm
zookeeper: zookeeper-3.4.14.tar.gz
一、Java環境安裝
- jdk安裝
rpm -ivh jdk-8u261-linux-x64.rpm - 配置環境變數
在最后追加vim /etc/profile
退出后生效配置export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64 export PATH=$PATH:$JAVA_HOME/bin. /etc/profile #驗證 java -version
二、 Zookeeper的安裝配置
- 解壓到/opt
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt - 編輯/etc/profile
末尾追加vi /etc/profile
生效配置#ZOOKEEPER_PREFIX指向Zookeeper的解壓目錄 export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14 #將Zookeeper的bin目錄添加到PATH中 export PATH=$PATH:$ZOOKEEPER_PREFIX/bin #設定環境變數ZOO_LOG_DIR,指定Zookeeper保存日志的位置 export ZOO_LOG_DIR=/var/lossdate/zookeeper/log. /etc/profile - 配置zookeeper的conf
修改cd /opt/zookeeper-3.4.14/conf/ cp zoo_sample.cfg zoo.cfg vi zoo.cfgdataDir=/var/lossdate/zookeeper/data - 啟動
zkServer.sh start
三、 Kafka的安裝與配置
-
解壓
tar -zxf fka_2.12-1.0.2.tgz -C /opt -
配置環境變數
vi /etc/profile末尾追加
export KAFKA_HOME=/opt/kafka_2.12-1.0.2 export PATH=$PATH:$KAFKA_HOME/bin生效配置
. /etc/profile -
配置server.properties
cd /opt/kafka_2.12-1.0.2/config/ vi server.properties修改zookeeper.connect和log.dirs
advertised.listeners=PLAINTEXT://192.168.200.142:9092 zookeeper.connect=localhost:2181/myKafka log.dirs=/var/lossdate/kafka/kafka-logs創建日志目錄
mkdir -p /var/lossdate/kafka/kafka-logs -
啟動kafka
cd /opt/kafka_2.12-1.0.2/bin kafka-server-start.sh ../config/server.properties #后臺啟動,使用命令 kafka-server-start.sh -daemon config/server.properties -
查看
zkCli.sh ls / ls /myKafka可以看到kafka已經注冊到zookeeper上了

-
退出
kafka-server-stop.sh -
P.S. 內外網隔離配置
在組態檔里vi /etc/profilelistener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL listeners=INTERNAL://192.168.200.141:9000,EXTERNAL://192.168.200.142:9001 advertised.listeners=EXTERNAL://192.168.200.142:9001 inter.broker.listener.name=EXTERNALlistener.security.protocol.map : 監聽器名稱和安全協議的映射配置, 可以將內外網隔離,即使它們都使用SSL,每個監聽器的名稱只能在map中出現一次
listeners : 用于配置broker監聽的URI以及監聽器名稱串列,使用逗號隔開多個URI及監聽器名稱
advertised.listeners : 需要將該地址發布到zookeeper供客戶端使用,如果客戶端使用的地址與listeners配置不同, advertised.listeners的地址必須是listeners中配置的或配置的一部分
inter.broker.listener.name : 用于配置broker之間通信使用的監聽器名稱,該名稱必須在advertised.listeners串列中
四、Kafka生產與消費
- 查看zookeeper狀態正常并啟動kafka
zkServer.sh status kafka-server-start.sh -daemon /opt/kafka_2.12-1.0.2/config/server.properties - kafka-topics.sh 主題管理
#列出現有的主題 kafka-topics.sh --list --zookeeper localhost:2181/myKafka #創建主題,該主題包含一個磁區,磁區為Leader磁區,它沒有Follower磁區副本 kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_1 --partitions 1 --replication-factor 1 #查看磁區資訊 kafka-topics.sh --zookeeper localhost:2181/myKafka --list #查看指定主題的詳細資訊 kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_1 #洗掉指定主題 kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_1 - kafka-console-producer.sh 生產訊息
#開啟生產者, 就可以輸入訊息了 kafka-console-producer.sh --topic topic_1 --broker-list localhost:9092 - kafka-console-consumer.sh 消費訊息
#開啟消費者方式一,按照偏移量消費 kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1 #開啟消費者方式二,從頭消費,不按照偏移量消費 kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1 --from-beginning
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286243.html
標籤:其他
