日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kafka0.9 java commit_kafka0.9.0及0.10.0配置属性

發(fā)布時(shí)間:2025/3/21 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka0.9 java commit_kafka0.9.0及0.10.0配置属性 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

名稱

說明

類型

默認(rèn)值

有效值

重要性

zookeeper.connect

zookeeper集群的地址,

可以是多個(gè),

多個(gè)之間用逗號分割

string

localhost:

2181

ip1

:port1

,ip2

:port2

zookeeper.connection.timeout.ms

客戶端在建立通zookeeper

連接中的最大等待時(shí)間

int

null

6000

zookeeper.session.timeout.ms

ZooKeeper的session的超時(shí)

時(shí)間,如果在這段時(shí)間內(nèi)沒

有收到ZK的心跳,則會(huì)被認(rèn)

為該Kafka server掛掉了。

如果把這個(gè)值設(shè)置得過低可

能被誤認(rèn)為掛掉,如果設(shè)置

得過高,如果真的掛了,則需

要很長時(shí)間才能被server得知

int

6000

zookeeper.sync.time.ms

一個(gè)ZK follower能落后leader

的時(shí)間

int

2000

listeners

監(jiān)聽列表(以逗號分隔 不同的

協(xié)議(如plaintext,trace,ssl、

不同的IP和端口)),hostname

如果設(shè)置為0.0.0.0則綁定所

有的網(wǎng)卡地址;如果hostname

為空則綁定默認(rèn)的網(wǎng)卡。

如果

沒有配置則默認(rèn)為

java.net

.InetAddress

.getCanonicalHostName()

string

null

如:PLAINTEXT:

//myhost:

9092,

TRACE://:

9091

或 PLAINTEXT:

//0.0.0.0

:9092,

host.name

。如果設(shè)置了它,

會(huì)僅綁定這個(gè)

地址。

如果沒有設(shè)置,則會(huì)

綁定所有

的網(wǎng)絡(luò)接口,并提交

一個(gè)給ZK。

不推薦使用 只有當(dāng)

listeners沒

有設(shè)置時(shí)才有必要使用。

string

“’

如:

”localhost”

port

server用來接受

client連接的端口。

不推薦使用,使用

listeners配置

項(xiàng)代替;只有在

listeners沒有

配置時(shí)才使用。

int

9092

advertised.host.name

會(huì)將hostname通知給

生產(chǎn)者

和消費(fèi)者,在多網(wǎng)卡

時(shí)需要

設(shè)置該值為另一個(gè)ip地址。

如果沒有設(shè)置該值,

則返回

配置項(xiàng)host.name設(shè)置的值,

如果host.name沒有設(shè)

置則返回java.net.InetAddress.

getCanonicalHostName()

不推薦使用 只有當(dāng)

advertised.listeners或

listeners沒有設(shè)置時(shí)才

有必要使用。

string

null

advertised.listeners

設(shè)置不同于listeners配置

的監(jiān)聽列表即不同于

listeners設(shè)置的網(wǎng)卡地址

及端口;如果沒有配置,

會(huì)使用listeners的值

string

null

advertised.port

分發(fā)這個(gè)端口給所有的

producer,consumer和

其他broker來建立連接

。如果此端口跟server

綁定的端口不同,

則才有必要設(shè)置。

不推薦使用 只有當(dāng)

advertised.listeners

或listeners沒有設(shè)置

時(shí)才有必要使用。

int

null

auto.create.topics.enable

是否允許自動(dòng)創(chuàng)建topic。

如果設(shè)為true,那么

produce,consume

或者fetch metadata

一個(gè)不存在的topic時(shí),

就會(huì)自動(dòng)創(chuàng)建一個(gè)默認(rèn)

replication factor和

partition number的topic。

boolean

true

background.threads

一些后臺(tái)任務(wù)處理的

線程數(shù),例如過期消

息文件的刪除等,

一般情況下不需要去

做修改

int

10

broker.id

每一個(gè)broker在集群中

的唯一表示,要求是正數(shù)。

當(dāng)該服務(wù)器的IP地址發(fā)

生改變時(shí),broker.id沒有

變化,則不會(huì)影響

consumers的消息情況。

int

-1

compression.type

指定topic的壓縮類型。

除了支持’gzip’, ‘snappy’,

‘lz4’外,還支持

”uncompressed(不壓縮)

”以及produce

r(由producer來指定)

string

producer

delete.topic.enable

是否啟動(dòng)刪除topic。

如果設(shè)置為false,

你在刪除topic的時(shí)

候無法刪除,但是會(huì)打

上一個(gè)你將刪除該topic

的標(biāo)記,等到你修改這

一屬性的值為true后重

新啟動(dòng)Kafka集群的時(shí)候

,集群自動(dòng)將那些標(biāo)記

刪除的topic刪除掉,對應(yīng)

的log.dirs目錄下的topic

目錄和數(shù)據(jù)也會(huì)被刪除。

而將這一屬性設(shè)置為true之后,

你就能成功刪除你想要

刪除的topic了

boolean

false

auto.leader.rebalance.enable

一個(gè)后臺(tái)線程會(huì)周期性

的自動(dòng)嘗試,為所有的

broker的每個(gè)partition

平衡leadership,使kafka

的leader均衡。

boolean

true

leader.imbalance.check.interval.seconds

檢查leader是否均衡的

時(shí)間間隔(秒)

long

300

leader.imbalance.per.broker.percentage

每個(gè)broker允許的不平衡

的leader的百分比。

如果每個(gè)broker超過

了這個(gè)百分比,復(fù)制控

制器會(huì)重新平衡leadership。

int

10

log.flush.interval.messages

數(shù)據(jù)flush(sync)到硬盤

前之前累積的消息條數(shù)

,因?yàn)榇疟PIO操作是一

個(gè)慢操作,但又是一個(gè)

”數(shù)據(jù)可靠性”的必要

手段,所以此參數(shù)的設(shè)置

,需要在”數(shù)據(jù)可靠性”

與”性能”之間做必要

的權(quán)衡.如果此值過大,

將會(huì)導(dǎo)致每次”fsync”

的時(shí)間較長

(IO阻塞),如果此值過

小,將會(huì)導(dǎo)致”fsync”的

次數(shù)較多,這也意味著

整體的client請求有一

定的延遲.物理server

故障,將會(huì)導(dǎo)致沒有

fsync的消息丟失

long

9223372

0368547

75807

(此為一

個(gè)數(shù)字)

log.flush.interval.ms

當(dāng)達(dá)到下面的時(shí)間

(ms)時(shí),執(zhí)行一次

強(qiáng)制的flush操作。

interval.ms和

interval.messages

無論哪個(gè)達(dá)到,

都會(huì)flush。

long

null

log.flush.offset.checkpoint.interval.ms

記錄上次把log刷

到磁盤的時(shí)間點(diǎn)的

頻率,用來日后的

recovery。通常

不需要改變

long

60000

log.flush.scheduler.interval.ms

檢查是否需要固

化到硬盤的時(shí)間

間隔

long

92233720

3685477

5807

(此為一

個(gè)數(shù)字)

log.retention.bytes

topic每個(gè)分區(qū)的

最大文件大小,

一個(gè)topic的大小

限制 = 分區(qū)數(shù)*

log.retention.bytes。

-1沒有大小限

log.retention.bytes和log.retention.minutes

任意一個(gè)達(dá)到要求,

都會(huì)執(zhí)行刪除,

會(huì)被topic創(chuàng)建時(shí)

的指定參數(shù)覆蓋

loong

-1

log.retention.hours

日志保存時(shí)間,

默認(rèn)為7天(168小時(shí))

。超過這個(gè)時(shí)間會(huì)根

據(jù)policy處理數(shù)據(jù)。

bytes和minutes無論

哪個(gè)先達(dá)到都會(huì)觸發(fā)

int

168

log.retention.minutes

數(shù)據(jù)存儲(chǔ)的最大時(shí)間

超過這個(gè)時(shí)間會(huì)根據(jù)

log.cleanup.policy

設(shè)置的策略處理數(shù)

據(jù),也就是消費(fèi)端能

夠多久去消費(fèi)數(shù)據(jù)

log.retention.bytes和log.retention.minutes任意一個(gè)達(dá)到要求,都會(huì)執(zhí)行刪除,會(huì)被topic創(chuàng)建時(shí)的指定參數(shù)覆蓋

int

null

log.roll.hous

當(dāng)達(dá)到下面時(shí)間,

會(huì)強(qiáng)制新建一個(gè)segment。

這個(gè)參數(shù)會(huì)在日志

segment沒有達(dá)到

log.segment.bytes

設(shè)置的大小,也會(huì)強(qiáng)制

新建一個(gè)segment會(huì)

int

168

log.roll.jitter.{ms,hours}

從logRollTimeMillis抽

離的jitter最大數(shù)目

int

0

log.segment.bytes

topic partition的日志存

放在某個(gè)目錄下諸多

文件中,這些文件將

partition的日志切分成

一段一段的;這個(gè)屬性就

是每個(gè)文件的最大尺寸;

當(dāng)尺寸達(dá)到這個(gè)數(shù)值時(shí),

就會(huì)創(chuàng)建新文件。

此設(shè)置可以由每個(gè)topic

基礎(chǔ)設(shè)置時(shí)進(jìn)行覆蓋

long

1G=

1024*

1024*

1024

log.segment.delet.delay.ms

刪除文件系統(tǒng)上文件

的等待時(shí)間,默認(rèn)是

1分鐘

long

6000

message.max.bytes

表示一個(gè)服務(wù)器能夠

接收處理的消息的最

大字節(jié)數(shù),注意這個(gè)

值producer和consumer

必須設(shè)置一致,且不要大于fetch.message.max.bytes

屬性的值該值默認(rèn)是

1000012字節(jié),大概900KB

int

1000012

min.insync.replicas

該屬性規(guī)定了最小的

ISR數(shù)。當(dāng)producer設(shè)置request.required.acks

為all或-1時(shí),指定副

本(replicas)的最小數(shù)目

(必須確認(rèn)每一個(gè)repica

的寫數(shù)據(jù)都是成功的),

如果這個(gè)數(shù)目沒有達(dá)到,

producer會(huì)產(chǎn)生異常。

int

1

num.io.threads

服務(wù)器用來處理請求

的I/O線程的數(shù)目;

這個(gè)線程數(shù)目至少要

等于硬盤的個(gè)數(shù)。

int

8

num.network.threads

服務(wù)器用來處理網(wǎng)絡(luò)

請求的網(wǎng)絡(luò)線程數(shù)目;

一般你不需要更改這

個(gè)屬性

int

3

num.recovery.threads.per.data.dir

每數(shù)據(jù)目錄用于日志

恢復(fù)啟動(dòng)和關(guān)閉沖洗

時(shí)的線程數(shù)量

int

1

num.replica.fetchers

從leader進(jìn)行復(fù)制

消息的線程數(shù),增大這個(gè)

數(shù)值會(huì)增加follower的IO

int

1

offset.metadata.max.bytes

允許client(消費(fèi)者)保存

它們元數(shù)據(jù)(offset)的

最大的數(shù)據(jù)量

int

4096(4kb)

offsets.commit.required.acks

在offset commit可以接

受之前,需要設(shè)置確認(rèn)的

數(shù)目,一般不需要更改

int

-1

offsets.commit.timeout.ms

offset commit會(huì)延遲

直至此超時(shí)或所需的

副本數(shù)都收到offset

commit,

這類似于producer請

求的超時(shí)

int

5000

offsets.load.buffer.size

此設(shè)置對應(yīng)于offset

manager在讀取緩存

offset segment的批量

大小(以字節(jié)為單位).

int

5242880

offsets.retention.check.interval.ms

offset管理器檢查陳

舊offsets的頻率

long

600000

(10分鐘)

offsets.topic.num.partitions

偏移的提交topic的分

區(qū)數(shù)目。 由于目前不

支持部署之后改變,

我們建議您使用生產(chǎn)

較高的設(shè)置

(例如,100-200)

int

50

offsets.topic.replication.factor

復(fù)制因子的offset提交topic。

較高的設(shè)置

(例如三個(gè)或四個(gè)),

建議以確保更高的

可用性。如果offset topic

創(chuàng)建時(shí),broker比

復(fù)制因子少,

offset topic將以較

少的副本創(chuàng)建。

short

3

offsets.topic.segment.bytes

offset topic的Segment

大小。因?yàn)樗褂?/p>

壓縮的topic,所有

Sgment的大小應(yīng)該

保持小一點(diǎn),以促進(jìn)更

快的日志壓實(shí)和負(fù)載

int

104857600

queued.max.requests

在網(wǎng)絡(luò)線程

(network threads)

停止讀取新請求之前,

可以排隊(duì)等待I/O線程

處理的最大請求個(gè)數(shù)。

若是等待IO的請求超

過這個(gè)數(shù)值,那么會(huì)

停止接受外部消息

int

500

quota.consumer.default

以clientid或

consumer group區(qū)分

的consumer端每秒

可以抓取的最大byte

long

92233720

36854775

807

(此為一

個(gè)數(shù)字)

quota.producer.default

producer端每秒可

以產(chǎn)生的最大byte

long

92233720

3685477

5807

(此為一

個(gè)數(shù)字)

replica.fetch.max.bytes

replicas每次獲取數(shù)

據(jù)的最大字節(jié)數(shù)

int

1048576

replica.fetch.min.bytes

fetch的最小數(shù)據(jù)尺寸,

如果leader中尚未同步

的數(shù)據(jù)不足此值,將會(huì)

阻塞,直到滿足條件

int

1

replica.fetch.wait.max.ms

replicas同leader之間

通信的最大等待時(shí)間,

失敗了會(huì)重試。這個(gè)值

須小于

replica.lag.time.max.ms,

以防止低吞吐量

主題ISR頻繁收縮

int

500

replica.high.watermark.checkpoint.interval.ms

每一個(gè)replica存儲(chǔ)自己

的high watermark到磁

盤的頻率,用來日后

的recovery

int

5000

replica.socket.timeout.ms

復(fù)制數(shù)據(jù)過程中,

replica發(fā)送給leader的

網(wǎng)絡(luò)請求的socket超

時(shí)時(shí)間,至少等于

replica.fetch.wait.max.ms

int

30000

replica.socket.receive.buffer.bytes

復(fù)制過程leader接

受請求的buffer大小

int

65536

(64*1024)

replica.lag.time.max.ms

replicas響應(yīng)partition leader

的最長等待時(shí)間,

若是超過這個(gè)時(shí)間,

就將replicas列入

ISR(in-sync replicas),

并認(rèn)為它是死的,

不會(huì)再加入管理中

long

10000

replica.lag.max.messages

如果follower落后與

leader太多,將會(huì)認(rèn)

為此follower

[或者說partition relicas]

已經(jīng)失效。 通常,在

follower與leader通訊時(shí),

因?yàn)榫W(wǎng)絡(luò)延遲或者鏈

接斷開,

總會(huì)導(dǎo)致replicas中消息

同步滯后如果消息之

后太多,leader將認(rèn)為

此follower網(wǎng)絡(luò)延遲

較大或者消息吞吐

能力有限,將會(huì)把此

replicas遷移到其他

follower中.在broker數(shù)

量較少,或者網(wǎng)絡(luò)不足

的環(huán)境中,建議提高此值.

int

4000

request.timeout.ms

producer等待響應(yīng)的

最長時(shí)間,如果超時(shí)

將重發(fā)幾次,最終報(bào)錯(cuò)

int

30000

socket.receive.buffer.bytes

socket用于接收網(wǎng)

絡(luò)請求的緩存大小

int

102400

socket.request.max.bytes

server能接受的請求

的最大的大小,

這是為了防止server

跑光內(nèi)存,不能大

于Java堆的大小。

int

104857600

(100*1024

*1024)

(此為一

個(gè)表達(dá)式)

socket.send.buffer.bytes

server端用來處理

socket連接的

SO_SNDBUFF緩沖大小

int

102400

controller.socket.timeout.ms

partition管理控制

器進(jìn)行備份時(shí),

socket的超時(shí)時(shí)間

int

30000

controller.message.queue.size

partition leader與

replicas數(shù)據(jù)同步時(shí),

消息的隊(duì)列大小

int

10

num.partitions

每個(gè)topic的分區(qū)個(gè)數(shù),

若是在topic創(chuàng)建時(shí)候

沒有指定的話會(huì)被

topic創(chuàng)建時(shí)的指定

參數(shù)覆蓋

int

1

推薦

設(shè)為8

log.index.interval.bytes

當(dāng)執(zhí)行一次fetch后,

需要一定的空間掃描

最近的offset,設(shè)置的

越大越好,但是也更耗

內(nèi)存一般使用默認(rèn)值就可以

int

4096

log.index.size.max.bytes

每個(gè)log segment的

最大尺寸。注意,

如果log尺寸達(dá)到這

個(gè)數(shù)值,即使尺寸

沒有超過log.segment.bytes

限制,也需要產(chǎn)生新的

log segment。

int

10485760

fetch.purgatory.purge.interval.requests

非立即答復(fù)請求放入

purgatory中,

當(dāng)?shù)竭_(dá)或超出interval

時(shí)認(rèn)為request complete

int

1000

producer.purgatory.purge.interval.requests

producer請求清除時(shí)間

int

1000

default.replication.factor

一個(gè)topic ,默認(rèn)分區(qū)

的replication個(gè)數(shù) ,

不能大于集群中

broker的個(gè)數(shù)。

int

1

group.max.session.timeout.ms

注冊consumer允許

的最大超時(shí)時(shí)間

int

300000

group.min.session.timeout.ms

注冊consumer允許

的最小超時(shí)時(shí)間

int

6000

inter.broker.protocol.version

broker協(xié)議版本

string

0.10.0

log.cleaner.backoff.ms

檢查log是否需要

clean的時(shí)間間隔

long

15000

log.cleaner.dedupe.buffer.size

日志壓縮去重時(shí)候的

緩存空間,在空間允許

的情況下,越大越好

long

134217

728

log.cleaner.delete.retention.ms

保存時(shí)間;保存壓縮

日志的最長時(shí)間;

也是客戶端消費(fèi)消息的

最長時(shí)間,

同log.retention.minutes

的區(qū)別在于一個(gè)控制未

壓縮數(shù)據(jù),一個(gè)控制壓

縮后的數(shù)據(jù);會(huì)被topic

創(chuàng)建時(shí)的指定時(shí)間覆蓋。

long

86400000

(一天)

log.cleaner.enable

是否啟動(dòng)壓縮日志,

當(dāng)這個(gè)屬性設(shè)置為false時(shí)

,一旦日志的保存時(shí)間或

者大小達(dá)到上限時(shí),

就會(huì)被刪除;

如果設(shè)置為true,

則當(dāng)保存屬性達(dá)到上限時(shí),

就會(huì)進(jìn)行壓縮

boolean

false

log.cleaner.threads

日志壓縮運(yùn)行的線程數(shù)

int

1

log.cleaner.io.buffer.load.factor

日志清理中hash表的

擴(kuò)大因子,一般不需

要修改

double

0.9

log.cleaner.io.buffer.size

log cleaner清除過程

中針對日志進(jìn)行索引

化以及精簡化所用到

的緩存大小。最好設(shè)置大

點(diǎn),以提供充足的內(nèi)存

int

524288

log.cleaner.io.max.bytes.per.second

進(jìn)行l(wèi)og compaction時(shí),

log cleaner可以擁有的

最大I/O數(shù)目。這項(xiàng)設(shè)置

限制了cleaner,以避免干

擾活動(dòng)的請求服務(wù)。

double

1.79769313

48623157E308

(此為一

個(gè)數(shù)字)

log.cleaner.min.cleanable.ratio

這項(xiàng)配置控制

log compactor

試圖清理日志的頻率

(假定[log compaction]

是打開的)。

默認(rèn)避免清理壓縮超過

50%的日志。這個(gè)比率

綁定了備份日志所消耗

的最大空間(50%的

日志備份時(shí)壓縮率為50%)。

更高的比率則意味著浪

費(fèi)消耗更少,也就可

以更有效的清理更多

的空間。這項(xiàng)設(shè)置在

每個(gè)topic設(shè)置中可以覆蓋

double

0.5

log.preallocate

是否預(yù)創(chuàng)建新文件,windows推薦使用

boolean

false

log.retention.check.interval.ms

檢查日志分段文件的間隔時(shí)間,以確定是否文件屬性是否到達(dá)刪除要求。

long

300000

max.connections.per.ip

一個(gè)broker允許從每個(gè)ip地址連接的最大數(shù)目

int

2147483647

=Int.

MaxValue

max.connections.per.ip.overrides

每個(gè)IP或主機(jī)名覆蓋連接的默認(rèn)最大數(shù)量

string

“”

replica.fetch.backoff.ms

復(fù)制數(shù)據(jù)時(shí)失敗等待時(shí)間

int

1000

reserved.broker.max.id

broker可以使用的最大ID值

int

1000

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的kafka0.9 java commit_kafka0.9.0及0.10.0配置属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。