本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Custom MSK Express 代理程式組態 (讀取/寫入存取)
您可以使用 Amazon MSK的更新組態功能或使用 Apache Kafka 的 來更新讀取/寫入代理程式組態 AlterConfig API。Apache Kafka 代理程式組態為靜態或動態。靜態組態需要代理程式重新啟動,才能套用組態,而動態組態則不需要代理程式重新啟動。如需組態屬性和更新模式的詳細資訊,請參閱更新代理程式組態
MSK Express 代理程式上的靜態組態
您可以使用 Amazon MSK建立自訂MSK組態檔案,以設定下列靜態屬性。Amazon 會MSK設定和管理您未設定的所有其他屬性。您可以從MSK主控台或使用組態命令建立和更新靜態組態檔案。
屬性 | 描述 | 預設值 |
---|---|---|
allow.everyone.if.no.acl.found |
如果您想要將此屬性設定為 false,請先確定您ACLs為叢集定義 Apache Kafka。如果您將此屬性設定為 false,而且未先定義 Apache Kafka ACLs,則會失去對叢集的存取權。如果發生這種情況,您可以再次更新組態,並將此屬性設為 true,以重新取得對叢集的存取。 |
true |
auto.create.topics.enable |
在伺服器上啟用主題自動建立功能。 |
false |
connections.max.idle.ms |
閒置連線逾時 (以毫秒計)。伺服器插槽處理器執行緒會關閉閒置時間超過此屬性設定值的連線。 |
Apache Kafka 預設 |
delete.topic.enable |
啟用刪除主題操作。若此設定關閉,您將無法透過管理員工具刪除主題。 |
Apache Kafka 預設 |
group.initial.rebalance.delay.ms |
群組協調員在首次執行重新平衡前等待更多資料取用者加入新群組的時間。延遲越長,意味著重新平衡的次數越少,但處理開始前的等待時間會增加。 |
Apache Kafka 預設 |
group.max.session.timeout.ms |
已註冊取用者工作階段逾時值上限。逾時值越大,讓取用者處理活動訊號間的訊息的時間越長,偵測故障耗費的時間也越長。 |
Apache Kafka 預設 |
leader.imbalance.per.broker.percentage |
每個代理程式允許的領導者不平衡比率。如果每個代理程式的控制器超過此值,控制器會觸發領導者不平衡。此值是以百分比指定。 |
Apache Kafka 預設 |
max.incremental.fetch.session.cache.slots |
所保持的增量擷取工作階段數量上限。 |
Apache Kafka 預設 |
num.partitions |
每個主題的預設分割區數量。 |
1 |
offsets.retention.minutes |
取用者群組遺失所有取用者 (即變為空白) 後,其偏移會保留此值指定的時間,之後才會被捨棄。對於獨立消費者 (即使用手動指派的消費者),偏移會在最後一次遞交時間加上此保留期間之後過期。 |
Apache Kafka 預設 |
replica.fetch.max.bytes |
每個分割區嘗試擷取之訊息位元組數。此非絕對數量上限。若擷取的第一個非空白分區的第一個記錄批次大於此值,則會傳回此記錄批次,確保進度。message.max.bytes (代理程式組態) 或 max.message.bytes (主題組態) 會定義代理程式接受的記錄批次大小上限。 |
Apache Kafka 預設 |
replica.selector.class |
實作 的完整類別名稱 ReplicaSelector。代理程式會使用此值尋找偏好的讀取複本。如果您想要允許取用者從最近的複本擷取,請將此屬性設定為 |
Apache Kafka 預設 |
socket.receive.buffer.bytes |
通訊端伺服器通訊端的 SO_RCVBUF 緩衝區。若此值為 -1,將採用 OS 預設值。 |
102400 |
socket.request.max.bytes |
通訊端要求內的位元組數量上限。 |
104857600 |
socket.send.buffer.bytes |
通訊端伺服器通訊端的 SO_SNDBUF 緩衝區。若此值為 -1,將採用 OS 預設值。 |
102400 |
transaction.max.timeout.ms |
交易的最大逾時值。如果用戶端請求的交易時間超過此值,代理程式會傳回錯誤 InitProducerIdRequest。如此可避免用戶端逾時時間過長,拖延取用者讀取交易中的主題。 |
Apache Kafka 預設 |
transactional.id.expiration.ms |
在交易協調器將交易 ID 視為過期之前,等待接收目前交易的交易狀態更新所用的時間 (毫秒)。此設定也會影響生產者 ID 過期,因為它會導致生產者IDs在指定生產者 ID 的最後一次寫入後經過此時間時過期。如果由於主題的保留設定而刪除生產者 ID 的最後一個寫入,生產者IDs可能會提早過期。此屬性的最小值為 1 毫秒。 |
Apache Kafka 預設 |
Express Brokers 上的動態組態
您可以使用 Apache Kafka AlterConfig API 或 Kafka-configs.sh 工具來編輯下列動態組態。Amazon 會MSK設定和管理您未設定的所有其他屬性。您可以動態設定不需要重新啟動代理程式的叢集層級和代理程式層級組態屬性。
屬性 | 描述 | 預設值 |
---|---|---|
advertised.listeners |
如果與 與 不同 此屬性設定為每個經紀人層級。 |
null |
compression.type |
特定主題的最終壓縮類型。您可將此屬性設定為標準壓縮轉碼器 ( |
Apache Kafka 預設 |
log.cleanup.policy |
保留時段外的區段預設清除政策。以逗號分隔的有效政策清單。有效政策為 |
Apache Kafka 預設 |
log.message.timestamp.after.max.ms |
訊息時間戳記與代理程式時間戳記之間的允許時間戳記差異。訊息時間戳記可以大於或等於代理程式的時間戳記,其最大允許差異取決於此組態中設定的值。如果 |
86400000 (24 * 60 * 60 * 1000 毫秒,即 1 天) |
log.message.timestamp.before.max.ms |
代理程式時間戳記與訊息時間戳記之間的允許時間戳記差異。訊息時間戳記可以早於或等於代理程式的時間戳記,其最大允許差異取決於此組態中設定的值。如果 |
86400000 (24 * 60 * 60 * 1000 毫秒,即 1 天) |
log.message.timestamp.type |
指定訊息內的時間戳記是訊息建立時間還是日誌附加時間。允許的值為 |
Apache Kafka 預設 |
log.retention.bytes |
日誌被刪除前的大小上限。 |
Apache Kafka 預設 |
log.retention.ms |
刪除日誌檔案之前要保留的毫秒數。 |
Apache Kafka 預設 |
max.connection.creation.rate |
代理程式隨時允許的最大連線建立速率。 |
Apache Kafka 預設 |
max.connections |
代理程式隨時允許的最大連線數。除了使用 設定的任何每個 IP 限制之外,也會套用此限制 |
Apache Kafka 預設 |
max.connections.per.ip |
每個 IP 地址允許的連線數上限。 |
Apache Kafka 預設 |
max.connections.per.ip.overrides |
以逗號分隔的每 IP 或主機名稱清單會覆寫預設的最大連線數。範例值為 |
Apache Kafka 預設 |
message.max.bytes |
Kafka 允許的最大記錄批次大小。若此值增加,且有取用者的版本低於 0.10.2,則必須上調取用者的擷取大小,取用者才能擷取此大小的記錄批次。在最新的訊息格式版本中,訊息一律會分組進不同批次,以增進效率。在之前的訊息格式版本中,未壓縮的記錄不會分組進批次,當時,此限制僅適用於單一記錄。您可以使用主題層級 |
Apache Kafka 預設 |
producer.id.expiration.ms |
主題分割區領導在生產者 過期之前等待的時間,以毫秒為單位IDs。與其相關聯的交易仍在進行中時,生產者IDs不會過期。請注意,如果由於主題的保留設定而刪除生產者 ID 的最後一個寫入,生產者IDs可能會提早過期。將此值設定為與 相同或更高, |
Apache Kafka 預設 |
Express Brokers 的主題層級組態
您可使用 Apache Kafka 命令來設定或修改新的和現有主題的主題層級組態屬性。如果您無法提供任何主題層級的組態,Amazon MSK會使用代理程式預設值。如同代理程式層級組態,Amazon 會MSK保護某些主題層級組態屬性免於變更。範例包括複寫係數 min.insync.replicas
和 unclean.leader.election.enable
。如果您嘗試使用 以外的複寫係數值建立主題3
,Amazon 預設MSK會建立複寫係數為 的主題3
。如需有關主題層級組態屬性的詳細資訊及其設定範例,請參閱 Apache Kafka 文件中的 Topic-Level Configs
屬性 | 描述 |
---|---|
cleanup.policy |
此組態會指定要在日誌區段上使用的保留政策。「刪除」政策 (預設為預設值) 會在達到保留時間或大小限制時捨棄舊區段。「壓縮」政策會啟用日誌壓縮,這會保留每個金鑰的最新值。您也可以在逗號分隔清單中指定兩個政策 (例如,「刪除、壓縮」)。在此情況下,舊區段會依保留時間和大小組態捨棄,而保留區段則會壓縮。在分割區中的資料達到 256 MB 之後,就會觸發對 Express 代理程式的壓縮。 |
compression.type |
指定指定主題的最終壓縮類型。此組態接受標準壓縮轉碼器 ( |
max.message.bytes |
Kafka 允許的最大記錄批次大小 (壓縮後,如果啟用壓縮)。如果此值增加,且消費者的擷取大小超過 |
message.timestamp.after.max.ms |
此組態會設定訊息時間戳記與代理程式時間戳記之間的允許時間戳記差異。訊息時間戳記可以大於或等於代理程式的時間戳記,其最大允許差異取決於此組態中設定的值。如果 |
message.timestamp.before.max.ms |
此組態會設定代理程式時間戳記與訊息時間戳記之間的允許時間戳記差異。訊息時間戳記可以早於或等於代理程式的時間戳記,其最大允許差異取決於此組態中設定的值。如果 |
message.timestamp.type |
定義訊息中的時間戳記是訊息建立時間還是日誌附加時間。值應為 |
retention.bytes |
此組態控制如果我們使用「刪除」保留政策,在我們捨棄舊日誌區段以釋放空間之前,分割區 (由日誌區段組成) 可以成長到的最大大小。根據預設,沒有大小限制,只有時間限制。由於此限制是在分割區層級強制執行,請將它乘以分割區數量,以位元組為單位計算主題保留。此外, 獨立於 |
retention.ms |
如果使用「刪除」保留政策,則此組態會控制在捨棄舊日誌區段之前保留日誌的時間上限,以釋放空間。這表示 消費者SLA必須多快讀取其資料。如果設定為 |