溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CDP中Kafka的配置方法

發(fā)布時(shí)間:2021-08-30 11:18:05 來源:億速云 閱讀:174 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“CDP中Kafka的配置方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“CDP中Kafka的配置方法”吧!

Apache Kafka是一個(gè)高性能、高可用性、冗余的流消息平臺。

Kafka的功能很像發(fā)布/訂閱消息系統(tǒng),但具有更高的吞吐量、內(nèi)置分區(qū)、復(fù)制和容錯(cuò)能力。對于大規(guī)模消息處理應(yīng)用程序來說,Kafka是一個(gè)很好的解決方案。它通常與Apache Hadoop和Spark Streaming一起使用。


操作系統(tǒng)要求

Kafka對操作系統(tǒng)要求的集合。

SUSE Linux企業(yè)服務(wù)器(SLES)

與CentOS不同,SLES默認(rèn)情況下會限制虛擬內(nèi)存。更改此默認(rèn)值要求,將以下條目添加到/etc/security/limits.conf文件中:

* hard as unlimited* soft as unlimited

內(nèi)核限制

您必須為內(nèi)核正確配置下面三個(gè)設(shè)置。

  • 文件描述符(File Descriptors)

您可以通過以下步驟在Cloudera Manager中設(shè)置文件描述符:轉(zhuǎn)到Kafka > Configuration > Maximum Process File Descriptors 并設(shè)置所需的值。Cloudera建議使用100000或更高的數(shù)值進(jìn)行配置。

  • 最大內(nèi)存映射(Max Memory Map)

您必須在特定的內(nèi)核設(shè)置中配置最大內(nèi)存映射數(shù)。Cloudera建議配置32000或更高版本。

  • 最大套接字緩沖區(qū)大?。∕ax Socket Buffer Size)

將緩沖區(qū)大小設(shè)置為大于任何您定義的Kafka send緩沖區(qū)。


性能考慮

有關(guān)Kafka集群的基本建議的集合。

運(yùn)行Kafka以獲得最佳性能的最簡單建議是為Kafka代理使用專用主機(jī),為Kafka集群使用專用的ZooKeeper集群。如果這不是一種選項(xiàng),請考慮以下有關(guān)與Kafka集群共享資源的其他準(zhǔn)則:

  • 在虛擬機(jī)中運(yùn)行

在現(xiàn)代數(shù)據(jù)中心中,通常的做法是在虛擬機(jī)中運(yùn)行進(jìn)程。通常,這可以更好地共享資源。Kafka對I / O吞吐量足夠敏感,以至于VM會干擾代理的正常運(yùn)行。因此,通常不建議在VM中運(yùn)行Kafka。但是,如果您在虛擬環(huán)境中運(yùn)行Kafka,則需要依靠VM供應(yīng)商來幫助您優(yōu)化Kafka的性能。

  • 不要使用Brokers或ZooKeeper運(yùn)行其他進(jìn)程

由于與其他進(jìn)程的I / O爭用,通常建議避免在與Kafka代理相同的主機(jī)上運(yùn)行其他此類進(jìn)程。

  • 保持Kafka-ZooKeeper連接穩(wěn)定

Kafka在很大程度上依賴于穩(wěn)定的ZooKeeper連接。在Kafka和ZooKeeper之間放置不可靠的網(wǎng)絡(luò)將顯示為ZooKeeper脫機(jī)到Kafka。不可靠的網(wǎng)絡(luò)示例包括:

    • 不要將Kafka / ZooKeeper節(jié)點(diǎn)放在不同的網(wǎng)絡(luò)上

    • 請勿將Kafka / ZooKeeper節(jié)點(diǎn)與其他高網(wǎng)絡(luò)負(fù)載置于同一網(wǎng)絡(luò)上


配額

了解配額以及如何設(shè)置配額。

Kafka可以對生產(chǎn)和獲取請求時(shí)強(qiáng)制執(zhí)行配額。生產(chǎn)者和消費(fèi)者可以使用大量數(shù)據(jù)。這會壟斷代理資源,導(dǎo)致網(wǎng)絡(luò)飽和,并且通常會拒絕向其他客戶端和代理本身提供服務(wù)。配額可以防止這些問題,并且對于大型的多租戶集群非常重要,在該集群中,使用少量數(shù)據(jù)的少量客戶端可能會降低用戶體驗(yàn)。

配額是按客戶端ID定義的字節(jié)速率閾值??蛻舳薎D在邏輯上標(biāo)識發(fā)出請求的應(yīng)用程序。一個(gè)客戶端ID可以跨越多個(gè)生產(chǎn)者和消費(fèi)者實(shí)例。該配額作為單個(gè)實(shí)體應(yīng)用于所有實(shí)例。例如,如果客戶端ID的生產(chǎn)配額為10 MB / s,則該配額在具有相同ID的所有實(shí)例之間共享。

當(dāng)將Kafka作為服務(wù)運(yùn)行時(shí),配額可以強(qiáng)制執(zhí)行API限制。默認(rèn)情況下,每一個(gè)唯一的客戶端ID接收以每秒字節(jié)數(shù)固定的配額,如通過集群配置(quota.producer.default,quota.consumer.default)。此配額是根據(jù)每個(gè)代理定義的。每個(gè)客戶端在受到限制之前,每個(gè)代理每秒最多可以發(fā)布或獲取 X個(gè)字節(jié)。

當(dāng)客戶端超過其配額時(shí),代理不會返回錯(cuò)誤,而是嘗試降低客戶端的速度。代理計(jì)算使客戶端達(dá)到其配額所需的延遲量,并將響應(yīng)延遲該時(shí)間量。這種方法使配額違規(guī)對客戶端(客戶端指標(biāo)之外)透明。這也避免了客戶端必須實(shí)施特殊的退避和重試行為。

您可以覆蓋需要更高或更低配額的客戶端ID的默認(rèn)配額。該機(jī)制類似于按主題的日志配置替代。將您的客戶端ID覆蓋寫到ZooKeeper的/config/clients。所有代理均會讀取覆蓋,這些覆蓋將立即生效。您可以更改配額,而不必滾動重啟整個(gè)集群。

默認(rèn)情況下,每個(gè)客戶端ID都會收到一個(gè)不受限的配額。以下配置將每個(gè)生產(chǎn)者和消費(fèi)者客戶端ID的默認(rèn)配額設(shè)置為10 MB / s。

quota.producer.default=10485760quota.consumer.default=10485760

要使用Cloudera Manager設(shè)置配額,請打開Kafka Configuration 頁面并搜索Quota。使用提供的字段來設(shè)置默認(rèn)使用者配額或默認(rèn)生產(chǎn)者配額。

JBOD

JBOD是指一種系統(tǒng)配置,其中磁盤是獨(dú)立使用的,而不是將它們組織到冗余陣列(RAID)中。即使單個(gè)磁盤不可靠,使用RAID通常也會導(dǎo)致更可靠的硬盤配置。此類RAID設(shè)置在基于商用硬件構(gòu)建的大規(guī)模大數(shù)據(jù)環(huán)境中很常見。啟用RAID的配置更昂貴且設(shè)置更復(fù)雜。在許多環(huán)境中,出于以下原因,首選JBOD配置:

  • 降低存儲成本:建議使用RAID-10來防止磁盤故障。但是,擴(kuò)展RAID-10配置可能會變得非常昂貴。在每個(gè)節(jié)點(diǎn)上冗余存儲數(shù)據(jù)意味著必須倍增存儲空間需求,因?yàn)閿?shù)據(jù)也在節(jié)點(diǎn)之間復(fù)制。

  • 改進(jìn)的性能:與HDFS一樣,RAID-10配置中最慢的磁盤也限制了整體吞吐量。寫入需要通過RAID控制器。另一方面,使用JBOD時(shí),由于在沒有控制器的情況下跨磁盤進(jìn)行了隔離寫入,因此提高了IO性能。


設(shè)置Kafka的用戶限制

了解有關(guān)Kafka用戶的限制以及如何監(jiān)控它們。

Kafka可以同時(shí)打開許多文件。對于大多數(shù)類Unix系統(tǒng),最大打開文件數(shù)的默認(rèn)設(shè)置1024是不夠的。任何重大負(fù)載都可能導(dǎo)致故障并導(dǎo)致錯(cuò)誤消息,例如java.io.IOException ...(打開的文件太多)記錄在Kafka或HDFS日志文件中。您可能還會注意到以下錯(cuò)誤:

ERROR Error in acceptor (kafka.network.Acceptor)

java.io.IOException: Too many open files

Cloudera建議將該值設(shè)置為較高的起點(diǎn),例如32,768。

您可以在Kafka Broker儀表板上監(jiān)視正在使用的文件描述符的數(shù)量。在Cloudera Manager中:

  1. 轉(zhuǎn)到Kafka服務(wù)。

  2. 選擇一個(gè)Kafka 代理。

  3. 打開Charts Library > Process Resources,然后向下滾動到File Descriptors圖表。

感謝各位的閱讀,以上就是“CDP中Kafka的配置方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對CDP中Kafka的配置方法這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI