Windows Kafkaでトピックを削除するときのAccessDeniedException -- windows フィールド と apache-kafka フィールド と confluent-platform フィールド 関連 問題

AccessDeniedException when deleting a topic on Windows Kafka












8
vote

問題

日本語

私のWindowsマシンに(Confluent Platformから)Kafkaをインストールしました。私はZookeeperとKafkaを起動し、トピックを作成し、それらからの作成と消費を創出しました。ただし、トピックを削除するとすぐに、カフカがこのようにクラッシュする:

<事前> <コード> PS C:confluent-4.1.1> .inwindowskafka-topics.bat -zookeeper 127.0.0.1:2181 --topic foo --create --partitions 1 --replication-factor 1 Created topic "foo". PS C:confluent-4.1.1> .inwindowskafka-topics.bat -zookeeper 127.0.0.1:2181 --topic foo --delete Topic foo is marked for deletion. Note: This will have no impact if delete.topic.enable is not set to true.

クラッシュ出力です:

<事前> <コード> [2018-06-08 09:44:54,185] ERROR Error while renaming dir for foo-0 in log dir C:confluent-4.1.1datakafka (kafka.server.LogDirFailureChannel) java.nio.file.AccessDeniedException: C:confluent-4.1.1datakafkafoo-0 -> C:confluent-4.1.1datakafkafoo-0.cf697a92ed5246c0977bf9a279f15de8-delete at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387) at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287) at java.nio.file.Files.move(Files.java:1395) at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:697) at kafka.log.Log$$anonfun$renameDir$1.apply$mcV$sp(Log.scala:579) at kafka.log.Log$$anonfun$renameDir$1.apply(Log.scala:577) at kafka.log.Log$$anonfun$renameDir$1.apply(Log.scala:577) at kafka.log.Log.maybeHandleIOException(Log.scala:1678) at kafka.log.Log.renameDir(Log.scala:577) at kafka.log.LogManager.asyncDelete(LogManager.scala:828) at kafka.cluster.Partition$$anonfun$delete$1.apply(Partition.scala:240) at kafka.cluster.Partition$$anonfun$delete$1.apply(Partition.scala:235) at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:250) at kafka.utils.CoreUtils$.inWriteLock(CoreUtils.scala:258) at kafka.cluster.Partition.delete(Partition.scala:235) at kafka.server.ReplicaManager.stopReplica(ReplicaManager.scala:347) at kafka.server.ReplicaManager$$anonfun$stopReplicas$2.apply(ReplicaManager.scala:377) at kafka.server.ReplicaManager$$anonfun$stopReplicas$2.apply(ReplicaManager.scala:375) at scala.collection.Iterator$class.foreach(Iterator.scala:891) at scala.collection.AbstractIterator.foreach(Iterator.scala:1334) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at kafka.server.ReplicaManager.stopReplicas(ReplicaManager.scala:375) at kafka.server.KafkaApis.handleStopReplicaRequest(KafkaApis.scala:205) at kafka.server.KafkaApis.handle(KafkaApis.scala:116) at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69) at java.lang.Thread.run(Thread.java:748) Suppressed: java.nio.file.AccessDeniedException: C:confluent-4.1.1datakafkafoo-0 -> C:confluent-4.1.1datakafkafoo-0.cf697a92ed5246c0977bf9a279f15de8-delete at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301) at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287) at java.nio.file.Files.move(Files.java:1395) at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:694) ... 23 more [2018-06-08 09:44:54,187] INFO [ReplicaManager broker=0] Stopping serving replicas in dir C:confluent-4.1.1datakafka (kafka.server.ReplicaManager) [2018-06-08 09:44:54,192] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions (kafka.server.ReplicaFetcherManager) [2018-06-08 09:44:54,193] INFO [ReplicaAlterLogDirsManager on broker 0] Removed fetcher for partitions (kafka.server.ReplicaAlterLogDirsManager) [2018-06-08 09:44:54,195] INFO [ReplicaManager broker=0] Broker 0 stopped fetcher for partitions and stopped moving logs for partitions because they are in the failed log directory C:confluent-4.1.1datakafka. (kafka.server.ReplicaManager) [2018-06-08 09:44:54,195] INFO Stopping serving logs in dir C:confluent-4.1.1datakafka (kafka.log.LogManager) [2018-06-08 09:44:54,197] ERROR Shutdown broker because all log dirs in C:confluent-4.1.1datakafka have failed (kafka.log.LogManager) [2018-06-08 09:44:54,198] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions (kafka.server.ReplicaFetcherManager)

ZooKeeperとKafkaを実行しているユーザーには、 C:confluent-4.1.1datakafka へのフルアクセス権があります。

私は何が足りないの?

英語

I just installed Kafka (from Confluent Platform) on my Windows machine. I started up Zookeeper and Kafka and creating topics, producing to and consuming from them works. However, as soon as I delete a topic, Kafka crashes like this:

PS C:confluent-4.1.1> .inwindowskafka-topics.bat -zookeeper 127.0.0.1:2181 --topic foo --create --partitions 1 --replication-factor 1 Created topic "foo". PS C:confluent-4.1.1> .inwindowskafka-topics.bat -zookeeper 127.0.0.1:2181 --topic foo --delete Topic foo is marked for deletion. Note: This will have no impact if delete.topic.enable is not set to true. 

This is the crash output:

[2018-06-08 09:44:54,185] ERROR Error while renaming dir for foo-0 in log dir C:confluent-4.1.1datakafka (kafka.server.LogDirFailureChannel) java.nio.file.AccessDeniedException: C:confluent-4.1.1datakafkafoo-0 -> C:confluent-4.1.1datakafkafoo-0.cf697a92ed5246c0977bf9a279f15de8-delete         at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)         at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)         at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)         at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)         at java.nio.file.Files.move(Files.java:1395)         at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:697)         at kafka.log.Log$$anonfun$renameDir$1.apply$mcV$sp(Log.scala:579)         at kafka.log.Log$$anonfun$renameDir$1.apply(Log.scala:577)         at kafka.log.Log$$anonfun$renameDir$1.apply(Log.scala:577)         at kafka.log.Log.maybeHandleIOException(Log.scala:1678)         at kafka.log.Log.renameDir(Log.scala:577)         at kafka.log.LogManager.asyncDelete(LogManager.scala:828)         at kafka.cluster.Partition$$anonfun$delete$1.apply(Partition.scala:240)         at kafka.cluster.Partition$$anonfun$delete$1.apply(Partition.scala:235)         at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:250)         at kafka.utils.CoreUtils$.inWriteLock(CoreUtils.scala:258)         at kafka.cluster.Partition.delete(Partition.scala:235)         at kafka.server.ReplicaManager.stopReplica(ReplicaManager.scala:347)         at kafka.server.ReplicaManager$$anonfun$stopReplicas$2.apply(ReplicaManager.scala:377)         at kafka.server.ReplicaManager$$anonfun$stopReplicas$2.apply(ReplicaManager.scala:375)         at scala.collection.Iterator$class.foreach(Iterator.scala:891)         at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)         at scala.collection.AbstractIterable.foreach(Iterable.scala:54)         at kafka.server.ReplicaManager.stopReplicas(ReplicaManager.scala:375)         at kafka.server.KafkaApis.handleStopReplicaRequest(KafkaApis.scala:205)         at kafka.server.KafkaApis.handle(KafkaApis.scala:116)         at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)         at java.lang.Thread.run(Thread.java:748)         Suppressed: java.nio.file.AccessDeniedException: C:confluent-4.1.1datakafkafoo-0 -> C:confluent-4.1.1datakafkafoo-0.cf697a92ed5246c0977bf9a279f15de8-delete                 at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)                 at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)                 at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301)                 at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)                 at java.nio.file.Files.move(Files.java:1395)                 at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:694)                 ... 23 more [2018-06-08 09:44:54,187] INFO [ReplicaManager broker=0] Stopping serving replicas in dir C:confluent-4.1.1datakafka (kafka.server.ReplicaManager) [2018-06-08 09:44:54,192] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions  (kafka.server.ReplicaFetcherManager) [2018-06-08 09:44:54,193] INFO [ReplicaAlterLogDirsManager on broker 0] Removed fetcher for partitions  (kafka.server.ReplicaAlterLogDirsManager) [2018-06-08 09:44:54,195] INFO [ReplicaManager broker=0] Broker 0 stopped fetcher for partitions  and stopped moving logs for partitions  because they are in the failed log directory C:confluent-4.1.1datakafka. (kafka.server.ReplicaManager) [2018-06-08 09:44:54,195] INFO Stopping serving logs in dir C:confluent-4.1.1datakafka (kafka.log.LogManager) [2018-06-08 09:44:54,197] ERROR Shutdown broker because all log dirs in C:confluent-4.1.1datakafka have failed (kafka.log.LogManager) [2018-06-08 09:44:54,198] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions  (kafka.server.ReplicaFetcherManager) 

The user running Zookeeper and Kafka has full access rights to C:confluent-4.1.1datakafka.

What am I missing?

</div
        
 
 

回答リスト

6
 
vote

パーティーに遅刻しているのを知っているが、トピックを手動で削除した場合でも、Kafka uiをすべて削除しても、Kafkaはそれが同期している様子のために開始されないかもしれないことを覚えておいてください。 ZK。

「ZKのログを削除してZK状態をクリーンアップするようにしてください。

これらの行動は不可逆的なことを知っています。管理者としても実行されています

 

I know I'm late to the party but keep in mind that even if you delete your topic manually or via some Kafka UI and you delete all the kafka logs, kafka still may not start because of the state that it syncs with ZK.

So, make sure you cleanup the ZK state by deleting ZK's log.

Please know these actions are irreversible. Also run as Administrator

</div
 
 
 
 
5
 
vote

私は同様の問題を抱えていて、Windowsでのみ起こりました。 Kafka-1194 A>そしてそれはまだカフカ1.1.0

に適用されます

利用可能な回避策は、クリーナーを無効にすることです<コード> log.cleaner.enable = false

Windowsでのローカル開発の場合は、他のOSには適用されないため、この問題を無視できます。

 

I had a similar problem and it happen only under windows, see KAFKA-1194 and it still apply to Kafka 1.1.0

The only workaround available is to disable the cleaner log.cleaner.enable = false

For local development under windows you can ignore this issue since it does not apply in other OS.

</div
 
 
     
     
2
 
vote

トピックを削除した後も同様の問題がありました。私はトピックの場所に行き、手動で削除しなければならず、それはうまくいきました。 <コード> JSONArray array = new JSONArray(jsonString); 0

カフカにも新しいように、同じように機能するかどうかわからない。

 

I had similar problem after deleting a topic. I had to go to topic location and delete it manually and it worked. /tmp/kafka-logs/[yourTopicName]

I am not sure if same will work for you, as I am also new to KAFKA.

</div
 
 
 
 
0
 
vote

問題: トピックを削除した後も同様の問題がありました。 Zookeeperは正常に始まりましたが、カフカを実行している間、私は上記の問題を抱えていました。

分析: 私の場合、私がしたことは、Kafkaログを新しいフォルダの場所C: Tools Kafka_2.13-2.6.0 kafka-test-logsにリダイレクトしました。カフェテストログフォルダを作成するのを忘れました。この場合、提供されたパス名ex:Toolskafka_2.13-2.6.0kafka-test-logsを持つ自動デフォルトフォルダを作成します。そのため、このログフォルダを削除した後も私の場合はうまくいきません。

解決策: まず私はZookeeperを停止しました。私は新しいフォルダを作成しましたかKafka-test-logsを作成しました。これを忘れてからKAFKAのデフォルトの作成ログを削除してから、ZookeeperとKafka Serverを再起動しました。それはすべて私のために働いていました。

ありがとうございました!歓声と幸せなコーディング。

 

Problem: I had similar problem after deleting a topic. zookeeper was started successfully but while running kafka I was getting above mentioned issue.

Analysis: In my case, what I did was I redirected kafka logs to new folder location C:Toolskafka_2.13-2.6.0kafka-test-logs. I forgot to create a folder kafka-test-logs. In this case it will create auto default folder with provided path name ex: Toolskafka_2.13-2.6.0kafka-test-logs. So even after deleting this logs folder it won't worked in my case.

Solution: First I stopped zookeeper. I created new folder kafka-test-logs which I forgot earlier and then deleted default created logs for kafka and then restarted zookeeper and kafka server. That's all worked for me.

Thank you!! Cheers and Happy Coding.

</div
 
 

関連する質問

1  Pythonを使用してKAFKAにAVROデータを書き込めません  ( Unable to write avro data to kafka using python ) 
スキーマレジストリにKafka Kafka_2.11-0.11.0.2とConfluentバージョン3.3.0を使用しています。 私は以下のようにavroスキーマを定義しました: <事前> <コード> { "namespace": "com.myntra.se...

1  KAFKA REST CONFIG OPTION OPTIONS CONSICER.INSTANCE.TIMEOUT.MSを使用した問題  ( Issues using kafka rest config option consumer instance timeout ms provided in t ) 
Confluent Docsで提供されているパラメータの一部を試みると、Kafka Rest Proxyが失敗します。 ドキュメント[https://docs.confluent.io/current/kafka-rest/config.html]に記載され...

0  Confluent.Kafka .NETクライアントを使用してトピックのレプリケーションファクタと保存時間を照会する方法はありますか?  ( Is there a way to query the replication factor and retention time for a topic us ) 
Confluent.kafka adminClientを使用すると、トピックを作成して、名前、パーティション数、複製係数、および保持を指定します(そして、configsプロパティを介して他の設定を推測しています)。ただし、GetMetAdata()呼び出しは...

0  どのスキーマレジストリPOD /ノードが現在マスターであるかを検索する方法  ( How to find which schema registry pod node is currently the master ) 
私はK8Sクラスタ上に3つのスキーマレジストリポッドを展開しました。 どのスキーマレジストリポッドがマスターとして機能しているのを見つけようとしています。 スキーマレジストリログを介してマスターを見つけるための1つの方法を考え出しました。ここで私はすべてのポッ...

3  [HDFS Connector + Kafka]スタンドアロンモードで複数のトピックを書き込む方法  ( Hdfs connector kafkahow to write multiple topics in standalone mode ) 
Confluent 99887665 を使用して、ストリーミングされたデータを HDFS6 に書き込みます。私はユーザーマニュアルとクイックスタートそして私のコネクタを設定します。 トピックを1つだけ消費するときは正しく機能します。 私のプロパティファイ...

0  Kafka Sink:エラーが原因でエラーが停止しました(org.apache.kafka.connect.cli.connectStandalone:130)。  ( Kafka sink error stopping due to error org apache kafka connect cli connectsta ) 
は、あるストリームファイルから別のファイルにデータをストリーミングしようとしています。それは早く働いていて、突然 ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalo...

1  KSQLネストされたJSONは、Mulitple Rowsでキーを保存する必要があります  ( Ksql nested json needs to save keys in mulitple rows ) 
これはメトリック:のサンプルデータです。 <事前> <コード> { "data": "[{'val': '[{'TS': '52343223486', 'val': '[{ 'param': 'abc'}]'}, {'TS': '9876543234',...

0  Kafka Connect JDBC:それはバルクモードでロードバナーを必要としますが、テーブルのレコードが変更された場合に限られますか?  ( Kafka connect jdbc does it possble load banle in bulk mode but only if any rec ) 
カフカにロードディメンションテーブルが必要な場合は,いう意味を持ちます。 JUTSは、カフカを通してすべてのアプリケーションデータを公開したいので、すべての会社部門/製品の概観的な方法として。 しかし、私の寸法はスナフソットとしてのみ正しいです。それらをインク...

0  Confluent Kafka Dot Net ProduceAsyncタスク  ( Confluent kafka dot net produceasync tasks ) 
<事前> <コード> var msgs = new List<string> {"msg1" , "msg2" , "msg3" }; var tasks = new List<Task>(); Foreach(var msg in msgs) { ...

5  Kafka JDBCコネクタはすべてのデータをロードし、次に増分します  ( Kafka jdbc connector load all data then incremental ) 
最初は、クエリからすべてのデータを取得する方法を最初に見つけようとしており、次にKAFKAコネクタを使用してのみの変更点のみを繰り返します。その理由は、すべてのデータをElastic Searchにロードしたいと思います。その後、Kafkaストリームと同期して...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有