Kafka安裝
阿新 • • 發佈:2020-12-15
技術標籤:kafka
下載編譯後的包
https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz
2.上傳並解壓
3.進入config目錄,配置server.properties
主要配置如下:
#一個broker在叢集中的唯一標示,要求是正數。在改變IP地址,不改變broker.id的話不會影響consumers broker.id=1 #listeners=PLAINTEXT://:9092 #advertised.listeners=PLAINTEXT://your.host.name:9092 #listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SS # broker 處理訊息的最大執行緒數,一般情況下不需要去修改 num.network.threads=3 # broker處理磁碟IO 的執行緒數 ,數值應該大於你的硬碟數 num.io.threads=8 # socket的傳送緩衝區(SO_SNDBUF) socket.send.buffer.bytes=102400 # socket的接收緩衝區 (SO_RCVBUF) socket.receive.buffer.bytes=102400 # socket請求的最大位元組數。為了防止記憶體溢位,message.max.bytes必然要小於 socket.request.max.bytes=104857600 #kafka資料的存放地址,多個地址的話用逗號分割 /tmp/kafka-logs-1,/tmp/kafka-logs-2 log.dirs=/opt/kafka/data/log # 每個topic的分割槽個數,更多的partition會產生更多的segment file num.partitions=1 num.recovery.threads.per.data.dir=1 offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 # 當達到下面的訊息數量時,會將資料flush到日誌檔案中。預設10000 #log.flush.interval.messages=10000 # 當達到下面的時間(ms)時,執行一次強制的flush操作。interval.ms和interval.messages無論哪個達到,都會flush。預設3000ms #log.flush.interval.ms=1000 # 日誌儲存時間 (hours|minutes),預設為7天(168小時)。超過這個時間會根據policy處理資料。bytes和minutes無論哪個先達到都會觸發。 log.retention.hours=168 #log.retention.bytes=1073741824 # 控制日誌segment檔案的大小,超出該大小則追加到一個新的日誌segment檔案中(-1表示沒有限制) log.segment.bytes=1073741824 # 日誌片段檔案的檢查週期,檢視它們是否達到了刪除策略的設定(log.retention.hours或log.retention.bytes) log.retention.check.interval.ms=300000 # Zookeeper quorum設定。如果有多個使用逗號分割 例如 ip:prot,ip:prot,ip:prot zookeeper.connect=localhost:2181 # 連線zk的超時時間 zookeeper.connection.timeout.ms=6000 # ZooKeeper叢集中leader和follower之間的同步實際
4.啟動kafka服務。
命令需要切換到kafka的bin目錄下,
前臺執行: bin/kafka-server-start.sh config/server.properties
後臺執行: nohup bin/kafka-server-start.sh config/server.properties > kafka-run.log 2>&1 &
5.建立Kafka主題
Kafka提供了一個名為kafka-topics.sh
的命令列實用程式,用於在伺服器上建立主題。 開啟新終端並建立一個主題一個名為test
的Topic
先進到bin
目錄
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
這條命令的意思是,建立一個Topic到ZK(指定ZK的地址),副本個數為1,分割槽數為1,Topic的名稱為test。