簡體   English   中英

Kafka無法創建具有大量分區(64k)的主題

[英]Kafka fails to create Topic with large number of partitions (64k)

我在Windows上運行Kafka 0.10.1.0。

我正在嘗試使用kafka-topics.bat創建一個具有64k分區的大型主題。 但是它創建失敗並出現錯誤-

[2017-10-26 15:35:01,232] WARN Session 0x25f59be4474000f for server <ZK server name>/<ZK Server IP>:<ZK server port>, unexpected error, closing socket connection and attempting reconnect (org.apache.z
ookeeper.ClientCnxn)

java.io.IOException: An established connection was aborted by the software in your host machine
        at sun.nio.ch.SocketDispatcher.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:117)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:366)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)

有人遇到過這個問題嗎? 另外,使用如此大量的分區設置Kafka主題是否存在任何已知問題? 還是最好將它們分為多個主題?

謝謝,Vinay

要查看在給定時間打開的應用程序的句柄總數(不僅僅是文件句柄),請執行以下操作:僅確保它是句柄限制。

https://technet.microsoft.com/zh-cn/sysinternals/processexplorer.aspx下載Process Explorer確保確保設置適當的刷新速度。 打開它,然后轉到“視圖”->“選擇列”->在“過程性能”選項卡上按,然后單擊“處理計數”。

對於Windows 7 x64位,一個進程可以同時打開16.711.680句柄。 如果您想自己檢查限制,請閱讀以下內容。 使用Windows Internals Book( https://technet.microsoft.com/zh-cn/sysinternals/bb963901.aspx )中的工具進行檢查。 工具的名稱為TestLimit,您可以在頁面下部的Book Tools標題下找到它。

據我所知,沒有辦法提高Windows操作系統的此限制,我也看了看。

正如其他人所述,請考慮一種減少線程數量的方法。 也許您的應用程序關閉了文件,但沒有關閉句柄。 我的建議是,如果您確實需要使用非常大的句柄數,請在每次句柄數約為16m時開始一個新的過程。

創建64k分區需要多達文件處理程序。 我沒有在Windows中運行Kafka。 但是在Linux中,您必須通過/etc/security/limits.conf增加文件處理程序

本文對於選擇正確數量的主題分區可能很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM