5——新消費者配置——kafka0.10.x-全系列-加米谷大數據

5——新消費者配置——kafka0.10.x-全系列-加米穀大數據

Kafka新消費者配置

領取大數據開發、大數據挖掘分析、Python人工智能等試聽資料,可上加米穀大數據官網(http://www.dtinone.com/)諮詢領取或者加入加米穀大數據技術交流群領取:234648425

3.3.1 新消費者配置

新消費者配置:(注意,右面是可拖動的)

NAME

DESCRIPTION

TYPE

DEFAULT

VALID VALUES

IMPORTANCE

bootstrap.servers

因為這些服務器地址僅用於初始化連接並發現完整的集群成員(可能會動態的變化),所以此列表不需要包含完整的集群地址(儘量多配置幾個,以防止配置的服務器關閉)。

list

high

key.deserializer

key的解析序列化接口實現類(Deserializer)。

class

high

value.deserializer

value的解析序列化接口實現類(Deserializer)

class

high

fetch.min.bytes

服務器哦拉取請求返回的最小數據量,如果數據不足,請求將等待數據積累。默認設置為1字節,表示只要單個字節的數據可用或者讀取等待請求超時,就會應答讀取請求。將此值設置的越大將導致服務器等待數據累積的越長,這可能以一些額外延遲為代價提高服務器吞吐量。

int

1

[0,...]

high

group.id

此消費者所屬消費者組的唯一標識。如果消費者用於訂閱或offset管理策略的組管理功能,則此屬性是必須的。

string

""

high

heartbeat.interval.ms

當使用Kafka的分組管理功能時,心跳到消費者協調器之間的預計時間。心跳用於確保消費者的會話保持活動狀態,並當有新消費者加入或離開組時方便重新平衡。該值必須必比session.timeout.ms小,通常不高於1/3。它可以調整的更低,以控制正常重新平衡的預期時間。

int

3000

high

max.partition.fetch.bytes

服務器將返回每個分區的最大數據量。如果拉取的第一個非空分區中第一個消息大於此限制,則仍然會返回消息,以確保消費者可以正常的工作。broker接受的最大消息大小通過message.max.bytes(broker config)或max.message.bytes (topic config)定義。參閱fetch.max.bytes以限制消費者請求大小。

int

1048576

[0,...]

high

session.timeout.ms

用於發現消費者故障的超時時間。消費者週期性的發送心跳到broker,表示其還活著。如果會話超時期滿之前沒有收到心跳,那麼broker將從分組中移除消費者,並啟動重新平衡。請注意,該值必須在broker配置的group.min.session.timeout.ms和group.max.session.timeout.ms允許的範圍內。

int

10000

high

ssl.key.password

密鑰存儲文件中的私鑰的密碼。 客戶端可選

password

null

high

ssl.keystore.location

密鑰存儲文件的位置, 這對於客戶端是可選的,並且可以用於客戶端的雙向認證。

string

null

high

ssl.keystore.password

密鑰倉庫文件的倉庫密碼。客戶端可選,只有ssl.keystore.location配置了才需要。

password

null

high

ssl.truststore.location

信任倉庫文件的位置

string

null

high

ssl.truststore.password

信任倉庫文件的密碼

password

null

high

auto.offset.reset

當Kafka中沒有初始offset或如果當前的offset不存在時(例如,該數據被刪除了),該怎麼辦。

最早:自動將偏移重置為最早的偏移

最新:自動將偏移重置為最新偏移

none:如果消費者組找到之前的offset,則向消費者拋出異常

其他:拋出異常給消費者。

string

latest

[latest, earliest, none]

medium

connections.max.idle.ms

指定在多少毫秒之後關閉閒置的連接

long

540000

medium

enable.auto.commit

如果為true,消費者的offset將在後臺週期性的提交

boolean

true

medium

exclude.internal.topics

內部topic的記錄(如偏移量)是否應向消費者公開。如果設置為true,則從內部topic接受記錄的唯一方法是訂閱它。

boolean

true

medium

fetch.max.bytes

服務器為拉取請求返回的最大數據值。這不是絕對的最大值,如果在第一次非空分區拉取的第一條消息大於該值,該消息將仍然返回,以確保消費者繼續工作。接收的最大消息大小通過message.max.bytes (broker config) 或 max.message.bytes (topic config)定義。注意,消費者是並行執行多個提取的。

int

52428800

[0,...]

medium

max.poll.interval.ms

使用消費者組管理時poll()調用之間的最大延遲。消費者在獲取更多記錄之前可以空閒的時間量的上限。如果此超時時間期滿之前poll()沒有調用,則消費者被視為失敗,並且分組將重新平衡,以便將分區重新分配給別的成員。

int

300000

[1,...]

medium

max.poll.records

在單次調用poll()中返回的最大記錄數。

int

500

[1,...]

medium

partition.assignment.strategy

當使用組管理時,客戶端將使用分區分配策略的類名來分配消費者實例之間的分區所有權

list

class org.apache.kafka

.clients.consumer

.RangeAssignor

medium

receive.buffer.bytes

讀取數據時使用的TCP接收緩衝區(SO_RCVBUF)的大小。 如果值為-1,則將使用OS默認值。

int

65536

[-1,...]

medium

request.timeout.ms

配置控制客戶端等待請求響應的最長時間。 如果在超時之前未收到響應,客戶端將在必要時重新發送請求,如果重試耗盡則客戶端將重新發送請求。

int

305000

[0,...]

medium

sasl.jaas.config

JAAS配置文件中SASL連接登錄上下文參數。 這裡描述JAAS配置文件格式。 該值的格式為: '(=)*;'

password

null

medium

sasl.kerberos.service.name

Kafka運行Kerberos principal名。可以在Kafka的JAAS配置文件或在Kafka的配置文件中定義。

string

null

medium

sasl.mechanism

用於客戶端連接的SASL機制。安全提供者可用的機制。GSSAPI是默認機制。

string

GSSAPI

medium

security.protocol

用於與broker通訊的協議。 有效值為:PLAINTEXT,SSL,SASL_PLAINTEXT,SASL_SSL。

string

PLAINTEXT

medium

send.buffer.bytes

發送數據時要使用的TCP發送緩衝區(SO_SNDBUF)的大小。 如果值為-1,則將使用OS默認值。

int

131072

[-1,...]

medium

ssl.enabled.protocols

啟用SSL連接的協議列表。

list

TLSv1.2,TLSv1.1,TLSv1

medium

ssl.keystore.type

key倉庫文件的文件格式,客戶端可選。

string

JKS

medium

ssl.protocol

用於生成SSLContext的SSL協議。 默認設置是TLS,這對大多數情況都是適用的。 最新的JVM中的允許值為TLS,TLSv1.1和TLSv1.2。 較舊的JVM可能支持SSL,SSLv2和SSLv3,但由於已知的安全漏洞,不建議使用SSL。

string

TLS

medium

ssl.provider

用於SSL連接的安全提供程序的名稱。 默認值是JVM的默認安全提供程序。

string

null

medium

ssl.truststore.type

信任存儲文件的文件格式。

string

JKS

medium

auto.commit.interval.ms

如果enable.auto.commit設置為true,則消費者偏移量自動提交給Kafka的頻率(以毫秒為單位)。

int

5000

[0,...]

low

check.crcs

自動檢查CRC32記錄的消耗。 這樣可以確保消息發生時不會在線或磁盤損壞。 此檢查增加了一些開銷,因此在尋求極致性能的情況下可能會被禁用。

boolean

true

low

client.id

在發出請求時傳遞給服務器的id字符串。 這樣做的目的是通過允許將邏輯應用程序名稱包含在服務器端請求日誌記錄中,來跟蹤ip/port的請求源。

string

""

low

fetch.max.wait.ms

如果沒有足夠的數據滿足fetch.min.bytes,服務器將在接收到提取請求之前阻止的最大時間。

int

500

[0,...]

low

interceptor.classes

用作攔截器的類的列表。 你可實現ConsumerInterceptor接口以允許攔截(也可能變化)消費者接收的記錄。 默認情況下,沒有攔截器。

list

null

low

metadata.max.age.ms

在一定時間段之後(以毫秒為單位的),強制更新元數據,即使沒有任何分區領導變化,任何新的broker或分區。

long

300000

[0,...]

low

metric.reporters

用作度量記錄員類的列表。實現MetricReporter接口以允許插入通知新的度量創建的類。JmxReporter始終包含在註冊JMX統計信息中。

list

""

low

metrics.num.samples

保持的樣本數以計算度量。

int

2

[1,...]

low

metrics.recording.level

最高的記錄級別。

string

INFO

[INFO, DEBUG]

low

metrics.sample.window.ms

The window of time a metrics sample is computed over.

long

30000

[0,...]

low

reconnect.backoff.ms

嘗試重新連接指定主機之前等待的時間,避免頻繁的連接主機,這種機制適用於消費者向broker發送的所有請求。

long

50

[0,...]

low

retry.backoff.ms

嘗試重新發送失敗的請求到指定topic分區之前的等待時間。避免在某些故障情況下,頻繁的重複發送。

long

100

[0,...]

low

sasl.kerberos.kinit.cmd Kerberos

kinit命令路徑。

string

/usr/bin/kinit

low

sasl.kerberos.min.time.before.relogin

嘗試/恢復之間的登錄線程的休眠時間。

long

60000

low

sasl.kerberos.ticket.renew.jitter

添加到更新時間的隨機抖動百分比。

double

0.05

low

sasl.kerberos.ticket.renew.window.factor

登錄線程將休眠,直到從上次刷新到ticket的指定的時間窗口因子到期,此時將嘗試續訂ticket。

double

0.8

low

ssl.cipher.suites

密碼套件列表,用於TLS或SSL網絡協議的安全設置,認證,加密,MAC和密鑰交換算法的明明組合。默認情況下,支持所有可用的密碼套件。

list

null

low

ssl.endpoint.identification.algorithm

使用服務器證書驗證服務器主機名的端點識別算法。

string

null

low

ssl.keymanager.algorithm

密鑰管理器工廠用於SSL連接的算法。 默認值是為Java虛擬機配置的密鑰管理器工廠算法。

string

SunX509

low

ssl.secure.random.implementation

用於SSL加密操作的SecureRandom PRNG實現。

string

null

low

ssl.trustmanager.algorithm

信任管理器工廠用於SSL連接的算法。 默認值是為Java虛擬機配置的信任管理器工廠算法。

string

PKIX

low


分享到:


相關文章: