繁体   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