2015-12-01 87 views
0

後,我創建了一個話題在我的本地卡夫卡集羣3個服務器/經紀人 運行從我的卡夫卡安裝目錄下面卡夫卡話題不再存在重啓

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic user-activity-tracking-pipeline 

一切正常,因爲我是能夠產生和來自我的主題的消費者消息。重新啓動我的機器後,我通過運行在終端下面開始從卡夫卡的安裝目錄捆綁飼養員

bin/zookeeper-server-start.sh config/zookeeper.properties 

開始3臺服務器從卡夫卡的安裝目錄執行中端以下屬於集羣

env JMX_PORT=10001 bin/kafka-server-start.sh config/server1.properties 
env JMX_PORT=10002 bin/kafka-server-start.sh config/server2.properties 
env JMX_PORT=10003 bin/kafka-server-start.sh config/server3.properties 

現在,當我在卡夫卡的安裝目錄終端中運行以下,

bin/kafka-topics.sh --zookeeper localhost:2181 --list 

結果列出可用的主題 是空的!

以下是相關的服務器1配置條目。服務器2和服務器3的值非常相似

broker.id=1 
listeners=PLAINTEXT://:9093 
num.network.threads=3 
num.io.threads=8 
socket.send.buffer.bytes=102400 
socket.receive.buffer.bytes=102400 
socket.request.max.bytes=104857600 
log.dirs=/tmp/kafka-logs-broker-1 
num.partitions=2 
num.recovery.threads.per.data.dir=1 
log.retention.hours=168 
log.segment.bytes=1073741824 
log.retention.check.interval.ms=300000 
log.cleaner.enable=false 
zookeeper.connect=localhost:2181 
zookeeper.connection.timeout.ms=6000 

我注意到記錄下重啓後的文件,因此沒有清理

/tmp/kafka-logs-broker-1 
/tmp/kafka-logs-broker-2 
/tmp/kafka-logs-broker-3 

我很奇怪,爲什麼以前創建的主題「用戶-activity-tracking-pipeline「當我嘗試列出它時不再存在?

+0

你說重啓機器後你開始使用kafka捆綁的Zookeeper。 ?您是否還使用kafka捆綁的Zookeeper? – morganw09dev

+0

是的,我在第一次嘗試期間以相同的方式啓動了捆綁的動物園飼養員 – Viswanath

回答

2

kafka-topics.sh實際上使用引擎蓋下的zookeeper數據來回答查詢。理由是單個經紀人通常不能擁有足夠的信息來完全描述主題。

如果您在重新啓動過程中丟失了(我懷疑您曾經這樣做過,因爲您提到了一個新的zookeeper start)zookeeper數據,現在kafka主題完全失明並且無法查看以前的kafka數據。

檢查發生了什麼的最好方法是實際上做什麼kafka當你查詢它正在做什麼!啓動你的zookeeper客戶端(就像做./zkCli.sh一樣簡單,並且輸入ls /brokers/topics,如果它是空的,你的ZK數據就會丟失

1

我想你已經遇到/ tmp目錄被清理掉的問題,只要你的電腦重新啓動。您可能需要更改存儲卡夫卡日誌的目錄,或更改/etc/default/rcS中的$TMPTIME環境變量,該變量控制tmp文件保留的時間(以天爲單位)。

https://askubuntu.com/questions/20783/how-is-the-tmp-directory-cleaned-up

+0

謝謝您的回答。我檢查了我的/ tmp目錄,重新啓動後存在文件,因此日誌文件我的主題還沒有被刪除,我認爲我的問題的根本原因是別的 – Viswanath

+0

你的zookeeper數據怎麼樣?它存儲在/ tmp嗎?它的文件在重啓後仍然存在? – morganw09dev

+0

它們也完好無損/ tmp/zookeeper目錄 – Viswanath

1

,如果你有臨時,你對IT數據的經紀人目錄,這並不意味着,中間商往往會造成這些目錄,如果不存在的話。

  • 您可以嘗試重新創建主題,重新啓動機器,然後在啓動Kafka之前查看/tmp目錄?
  • 您可以嘗試將數據目錄更改爲/tmp以外的東西嗎?
+0

Tha你的幫助。我嘗試了第一次和重新啓動後,我發現我的/ tmp目錄的內容不變。 我會檢查項目#2並讓你知道 不過,問題是可重現的 – Viswanath