2017-10-26 12 views
0

WindowsでKafka 0.10.1.0を実行しています。Kafkaは多数のパーティション(64k)でトピックを作成できません

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) 

誰もがこの問題に直面しましたか?また、この多数のパーティションを持つカフカのトピックを持つ既知の問題はありますか?あるいは、私は複数のトピックにまたがってそれらを分割する方が良いでしょうか?

おかげで、64kのパーティションを作成 ビナイ

答えて

0

は、ファイルハンドラ限りが必要です。私はWindowsでKafkaを実行していません。しかしLinuxでは、/etc/security/limits.conf

によってファイルハンドラを増やす必要があります。このarticleは、正しい数のトピックパーティションを選択するのに便利です。

2

アプリケーションが特定の時間に開いたハンドル(ファイルハンドルだけでなく)の総数を表示するには、ハンドルの制限であることを確認してください。

ダウンロードプロセスエクスプローラhttps://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx適切なリフレッシュ速度を設定してください。それを開き、「表示」 - >「列の選択」 - >「パフォーマンスの処理」タブを押し、「ハンドル数」をクリックします。

Windows 7 x64ビットの場合、プロセスは16.711.680のハンドルを同時に開くことができます。限界をチェックしたい場合は、以下をお読みください。 Windows Internals Book(https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx)のツールを使用して確認します。ツールの名前はTestLimitで、ブックツールのヘッダーの下のページの下部にあります。

Windowsオペレーティングシステムのこの制限を私が知る限り増やす方法はなく、私も見ています。

他にも述べたように、多数のスレッドを最小限に抑える方法を考えてください。あなたのアプリケーションがファイルを閉じても、ハンドルは閉じないかもしれません。私のアドバイスは、実際に非常に大きなハンドルカウントを使用する必要がある場合は、ハンドルカウントが約16mのたびに新しいプロセスを開始します。

関連する問題