一、kafka中topic級別配置
1、topic級別配置
配置topic級別引數時,相同(引數)屬性topic級別會覆蓋全域性的,否則預設為全域性配置屬性值。
建立topic引數可以設定乙個或多個--config "property(屬性)",下面是建立乙個topic名稱為"my-topic"例子,它設定了2個引數max message size 和 flush rate.
(a)建立topic時配置引數
bin/kafka-topics.sh --zookeeper 192.168.2.225:2183/config/mobile/mq/mafka02 --create --topic my-topic --partitions 1 --replication-factor 1--config max.message.bytes=64000 --config flush.messages=1
(b)修改topic時配置引數
覆蓋已經有topic引數,下面例子修改"my-topic"的max message屬性
bin/kafka-topics.sh --zookeeper192.168.2.225:2183/config/mobile/mq/mafka02 --alter --topic my-topic --config max.message.bytes=128000
(c)刪除topic級別配置引數
bin/kafka-topics.sh --zookeeper192.168.2.225:2183/config/mobile/mq/mafka02 --alter --topic my-topic --delete-config max.message.bytes
注:配置的kafka集群的根目錄為/config/mobile/mq/mafka02,因此所有節點資訊都在此目錄下。
二、topic級別配置屬性表
property(屬性)
default(預設值)
server default property(server.properties)
說明(解釋)
cleanup.policy
delete
log.cleanup.policy
日誌清理策略選擇有:delete和compact主要針對過期資料的處理,或是日誌檔案達到限制的額度,會被topic建立時的指定引數覆蓋
delete.retention.ms
86400000 (24 hours)
log.cleaner.delete.retention.ms
對於壓縮的日誌保留的最長時間,也是客戶端消費訊息的最長時間,同log.retention.minutes的區別在於乙個控制未壓縮資料,乙個控制壓縮後的資料。會被topic建立時的指定引數覆蓋
flush.messages
none
log.flush.interval.messages
log檔案」sync」到磁碟之前累積的訊息條數,因為磁碟io操作是乙個慢操作,但又是乙個」資料可靠性"的必要手段,所以此引數的設定,需要在"資料可靠性"與"效能"之間做必要的權衡.如果此值過大,將會導致每次"fsync"的時間較長(io阻塞),如果此值過小,將會導致"fsync"的次數較多,這也意味著整體的client請求有一定的延遲.物理server故障,將會導致沒有fsync的訊息丟失.
flush.ms
none
log.flush.interval.ms
僅僅通過interval來控制訊息的磁碟寫入時機,是不足的.此引數用於控制"fsync"的時間間隔,如果訊息量始終沒有達到閥值,但是離上一次磁碟同步的時間間隔達到閥值,也將觸發.
index.interval.bytes
4096
log.index.interval.bytes
當執行乙個fetch操作後,需要一定的空間來掃瞄最近的offset大小,設定越大,代表掃瞄速度越快,但是也更好記憶體,一般情況下不需要搭理這個引數
message.max.bytes
1,000,000
message.max.bytes
表示訊息的最大大小,單位是位元組
min.cleanable.dirty.ratio
0.5log.cleaner.min.cleanable.ratio
日誌清理的頻率控制,越大意味著更高效的清理,同時會存在一些空間上的浪費,會被topic建立時的指定引數覆蓋
retention.bytes
none
log.retention.bytes
topic每個分割槽的最大檔案大小,乙個topic的大小限制= 分割槽數*log.retention.bytes。-1沒有大小限log.retention.bytes和log.retention.minutes任意乙個達到要求,都會執行刪除,會被topic建立時的指定引數覆蓋
retention.ms
none
log.retention.minutes
資料儲存的最大時間超過這個時間會根據log.cleanup.policy設定的策略處理資料,也就是消費端能夠多久去消費資料
log.retention.bytes和log.retention.minutes達到要求,都會執行刪除,會被topic建立時的指定引數覆蓋
segment.bytes
1 gb
log.segment.bytes
topic的分割槽是以一堆segment檔案儲存的,這個控制每個segment的大小,會被topic建立時的指定引數覆蓋
segment.index.bytes
10 mb
log.index.size.max.bytes
對於segment日誌的索引檔案大小限制,會被topic建立時的指定引數覆蓋
log.roll.hours
7 days
log.roll.hours
這個引數會在日誌segment沒有達到log.segment.bytes設定的大小,也會強制新建乙個segment會被topic建立時的指定引數覆蓋
Kafka中Topic級別配置
一 kafka中topic級別配置 1 topic級別配置 配置topic級別引數時,相同 引數 屬性topic級別會覆蓋全域性的,否則預設為全域性配置屬性值。建立topic引數可以設定乙個或多個 config property 屬性 下面是建立乙個topic名稱為 my topic 例子,它設定了...
徹底刪除Kafka中的topic
1 刪除kafka儲存目錄 server.properties檔案log.dirs配置,預設為 tmp kafka logs 相關topic目錄 2 kafka 刪除topic的命令是 bin kafka topics delete zookeeper zookeeper server topic ...
徹底刪除Kafka中的topic
1 刪除kafka儲存目錄 server.properties檔案log.dirs配置,預設為 tmp kafka logs 相關topic目錄 2 kafka 刪除topic的命令是 bin kafka topics delete zookeeper zookeeper server topic ...