佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 在Linux環(huán)境下安裝Kafka

在Linux環(huán)境下安裝Kafka

熱門標(biāo)簽:美圖手機(jī) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤裝系統(tǒng) 網(wǎng)站建設(shè) 阿里云 檢查注冊(cè)表項(xiàng) 智能手機(jī) 硅谷的囚徒呼叫中心

一、環(huán)境準(zhǔn)備

jdk下載地址鏈接:下載地址

zookeeper下載地址鏈接:下載地址

kafka下載地址鏈接:下載地址

1.1 Java環(huán)境為前提

1.1.1 上傳jdk-8u261-linux-x64.rpm到服務(wù)器并安裝

# 安裝命令
rpm -ivh jdk-8u261-linux-x64.rpm 

1.1.2 配置環(huán)境變量

# 編輯配置文件,jdk的bin目錄到/etc/profile文件,對(duì)所有用戶的shell有效
vim /etc/profile
# 生效
source /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export PATH=$PATH:$JAVA_HOME/bin

# 驗(yàn)證
java -version


至此,jdk安裝成功。

1.2 Zookeeper的安裝配置

1.2.1 上傳zookeeper-3.4.14.tar.gz到服務(wù)器,解壓到/opt

# 解壓zk到指定目錄
tar -zxf zookeeper-3.4.14.tar.gz -C /opt


1.2.2 修改Zookeeper保存數(shù)據(jù)的目錄,dataDir

# 進(jìn)入conf配置目錄
cd /opt/zookeeper-3.4.14/conf
# 復(fù)制zoo_sample.cfg命名為zoo.cfg
cp zoo_sample.cfg zoo.cfg
# 編輯zoo.cfg文件
vim zoo.cfg
dataDir=/var/riemann/zookeeper/data



1.2.3 編輯/etc/profile,使配置生效

設(shè)置環(huán)境變量ZOO_LOG_DIR,指定Zookeeper保存日志的位置;
ZOOKEEPER_PREFIX指向Zookeeper的解壓目錄;
Zookeeperbin目錄添加到PATH中:

export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
export ZOO_LOG_DIR=/var/riemann/zookeeper/log

配置完以后再生效配置:

source /etc/profile 

1.2.4 啟動(dòng)Zookeeper,確認(rèn)Zookeeper的狀態(tài)

zkServer.sh start

至此,zookeeper安裝成功。

1.3 Kafka 的安裝與配置

1.3.1 上傳kafka_2.12-1.0.2.tgz到服務(wù)器并解壓

tar -zxf kafka_2.12-1.0.2.tgz -C /opt


1.3.2 配置環(huán)境變量并生效

vim /etc/profile 
export KAFKA=/opt/kafka_2.12-1.0.2
export PATH=$PATH:$KAFKA/bin
source /etc/profile 

1.3.3 配置/opt/kafka_2.12-1.0.2/config中的server.properties文件

vi  /opt/kafka_2.12-1.0.2/config/server.properties

Kafka連接Zookeeper的地址,此處使用本地啟動(dòng)的Zookeeper實(shí)例
連接地址是localhost:2181
后面的 myKafkaKafka在Zookeeper中的根節(jié)點(diǎn)路徑


配置kafka存儲(chǔ)持久化數(shù)據(jù)目錄

log.dirs=/var/riemann/kafka/kafka-logs

創(chuàng)建上述持久化數(shù)據(jù)目錄

mkdir -p /var/riemann/kafka/kafka-logs

1.4 啟動(dòng)Kafka

進(jìn)入Kafka安裝的根目錄,執(zhí)行如下命令:

kafka-server-start.sh ../config/server.properties


啟動(dòng)成功,可以看到控制臺(tái)輸出的最后一行的started狀態(tài):此時(shí)kafka安裝成功。

1.5 重新開一個(gè)窗口,查看Zookeeper的節(jié)點(diǎn)


1.6 此時(shí)Kafka是前臺(tái)模式啟動(dòng),要停止,使用Ctrl+C

如果要后臺(tái)啟動(dòng),使用命令:

kafka-server-start.sh -daemon config/server.properties 

查看Kafka的后臺(tái)進(jìn)程:

ps -ef | grep kafka

停止后臺(tái)運(yùn)行的Kafka:

kafka-server-stop.sh 

二、生產(chǎn)與消費(fèi)

查看zookeeper狀態(tài),zookeeper啟動(dòng)成功,再啟動(dòng)kafka。


2.1 kafka-topics.sh 用于管理主題

查看命令的幫助信息

[root@master1 bin]# kafka-topics.sh
Create, delete, describe, or change a topic.
Option                                   Description                            
------                                   -----------                            
--alter                                  Alter the number of partitions,        
                                           replica assignment, and/or           
                                           configuration for the topic.         
--config <String: name=value>            A topic configuration override for the 
                                           topic being created or altered.The   
                                           following is a list of valid         
                                           configurations:                      
                                         	cleanup.policy                        
                                         	compression.type                      
                                         	delete.retention.ms                   
                                         	file.delete.delay.ms                  
                                         	flush.messages                        
                                         	flush.ms                              
                                         	follower.replication.throttled.       
                                           replicas                             
                                         	index.interval.bytes                  
                                         	leader.replication.throttled.replicas 
                                         	max.message.bytes                     
                                         	message.format.version                
                                         	message.timestamp.difference.max.ms   
                                         	message.timestamp.type                
                                         	min.cleanable.dirty.ratio             
                                         	min.compaction.lag.ms                 
                                         	min.insync.replicas                   
                                         	preallocate                           
                                         	retention.bytes                       
                                         	retention.ms                          
                                         	segment.bytes                         
                                         	segment.index.bytes                   
                                         	segment.jitter.ms                     
                                         	segment.ms                            
                                         	unclean.leader.election.enable        
                                         See the Kafka documentation for full   
                                           details on the topic configs.        
--create                                 Create a new topic.                    
--delete                                 Delete a topic                         
--delete-config <String: name>           A topic configuration override to be   
                                           removed for an existing topic (see   
                                           the list of configurations under the 
                                           --config option).                    
--describe                               List details for the given topics.     
--disable-rack-aware                     Disable rack aware replica assignment  
--force                                  Suppress console prompts               
--help                                   Print usage information.               
--if-exists                              if set when altering or deleting       
                                           topics, the action will only execute 
                                           if the topic exists                  
--if-not-exists                          if set when creating topics, the       
                                           action will only execute if the      
                                           topic does not already exist         
--list                                   List all available topics.             
--partitions <Integer: # of partitions>  The number of partitions for the topic 
                                           being created or altered (WARNING:   
                                           If partitions are increased for a    
                                           topic that has a key, the partition  
                                           logic or ordering of the messages    
                                           will be affected                     
--replica-assignment <String:            A list of manual partition-to-broker   
  broker_id_for_part1_replica1 :           assignments for the topic being      
  broker_id_for_part1_replica2 ,           created or altered.                  
  broker_id_for_part2_replica1 :                                                
  broker_id_for_part2_replica2 , ...>                                           
--replication-factor <Integer:           The replication factor for each        
  replication factor>                      partition in the topic being created.
--topic <String: topic>                  The topic to be create, alter or       
                                           describe. Can also accept a regular  
                                           expression except for --create option
--topics-with-overrides                  if set when describing topics, only    
                                           show topics that have overridden     
                                           configs                              
--unavailable-partitions                 if set when describing topics, only    
                                           show partitions whose leader is not  
                                           available                            
--under-replicated-partitions            if set when describing topics, only    
                                           show under replicated partitions     
--zookeeper <String: urls>               REQUIRED: The connection string for    
                                           the zookeeper connection in the form 
                                           host:port. Multiple URLS can be      
                                           given to allow fail-over.            
[root@master1 bin]# 
# 列出現(xiàn)有的主題
[root@master1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka
# 創(chuàng)建主題,該主題包含一個(gè)分區(qū),該分區(qū)為L(zhǎng)eader分區(qū),它沒有Follower分區(qū)副本。
[root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_test --partitions 1 --replication-factor 1
# 查看分區(qū)信息
[root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list
# 查看指定主題的詳細(xì)信息
[root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_test 
# 刪除指定主題
[root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_test 

列出現(xiàn)有主題,創(chuàng)建主題,該主題包含一個(gè)分區(qū),該分區(qū)為L(zhǎng)eader分區(qū),它沒有Follower分區(qū)副本。

查看指定主題的詳細(xì)信息


創(chuàng)建主題,該主題包含多個(gè)分區(qū)

多個(gè)分區(qū):橫向擴(kuò)展
多個(gè)副本:高可用

2.2 kafka-console-consumer.sh用于消費(fèi)消息

# 開啟消費(fèi)者
[root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test 
# 開啟消費(fèi)者方式二,從頭消費(fèi),不按照偏移量消費(fèi)
[root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test --from-beginning

2.3 kafka-console-producer.sh用于生產(chǎn)消息

# 開啟生產(chǎn)者
[root@node1 ~]# kafka-console-producer.sh --topic topic_test --broker-list  localhost:9020

2.4 具體操作

開啟消費(fèi)者和生產(chǎn)者,生產(chǎn)并消費(fèi)消息。


消費(fèi)者,按照偏移量消費(fèi)


消費(fèi)者從頭消費(fèi),不按照偏移量消費(fèi)

到此這篇關(guān)于在Linux環(huán)境下安裝Kafka的文章就介紹到這了,更多相關(guān)Linux下安裝Kafka內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:煙臺(tái) 懷化 湖北 賀州 通遼 山南 黃山 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux環(huán)境下安裝Kafka》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    黔西| 大埔县| 民丰县| 蓝山县| 新巴尔虎右旗| 郸城县| 丽水市| 永登县| 富裕县| 吐鲁番市| 郁南县| 南安市| 莆田市| 离岛区| 北辰区| 碌曲县| 依安县| 五河县| 漯河市| 邹平县| 巴东县| 焦作市| 婺源县| 乌什县| 灌云县| 泽库县| 天津市| 阳曲县| 宜昌市| 龙门县| 太谷县| 宁南县| 富宁县| 瑞安市| 东安县| 洛浦县| 加查县| 平山县| 穆棱市| 城市| 喀什市|