2017-02-25 12 views
0

を使用してカフカconsumergroupのための情報をオフセットフェッチ。以下は ことができない私は、私は与えられたコンシューマ・グループのための情報を取得するためにオフセットZooKeeperのCLIを使用してい飼育係</p> <p>を使用していますZooKeeperのCLI

は細かい

Command: get /consumers/[ConsumerGroup]/offsets/[TopicName] 

o/p : 
0:1640002 
cZxid = 0x304ca036d 
ctime = Fri Dec 23 17:29:30 UTC 2016 
mZxid = 0x30af96e80 
mtime = Fri Feb 24 19:15:00 UTC 2017 
pZxid = 0x304ca036d 
cversion = 0 
dataVersion = 113179 
aclVersion = 0 
ephemeralOwner = 0x0 
dataLength = 9 
numChildren = 0 

を働いているしかし、私は、その動作していないPARTITION_IDを使用して情報をオフセット取得しようとしていますので、とき1を下回る

command: get /consumers/[Same_Consumer_Group]/offsets/[Same_Topic_Name]/0 

o/p:Node does not exist: /consumers/[Same_Consumer_Group]/offsets/[Same_Topic_Name]/0 

が機能していません。 0:1640002を示す

注最初のコマンドは、それは、オフセットは、パーティション0 で1640002であることを意味し

答えて

1

飼育係は、本質的に木であるとするnumChildren = 0がその

/consumers/[ConsumerGroup]/offsets/[TopicName] 

言い、この問題を解決するために私を助けてください葉ノードであるため、期待通りに(それが存在しない)子ノードを取得しようとするとエラーが発生します。

カフカ0.8からhttps://cwiki.apache.org/confluence/display/KAFKA/Kafka+data+structures+in+Zookeeperによればオフセットが飼育係に格納されている方法は

/consumers/[ConsumerGroup]/offsets/[TopicName] 

はデータ自体を含まず、代わりに、オフセットが子ノード

/consumers/[ConsumerGroup]/offsets/[TopicName]/[Partition] 

に見出すことができることですしかし、それは明らかに私が想定していることは、あなたがKafkaの古いバージョンを使用しているか、単一のパーティションのトピックに対して(Kafkaのいくつかのバージョンでは)ツリーの追加のレベルが使用していないということです作成されていません。

しかし、私の意見では、とにかく気にするべきではありません。 投稿した出力を見ると、1つのパーティションのトピックがあり、そのパーティション内の特定のコンシューマグループのオフセットは1640002です。これは必要なオフセット情報です。

トピックに複数のパーティションがある場合、何か変態が起こっている可能性があります。

まだ問題があると思われる場合は、KafkaとZookeeperのバージョンとトピック内のパーティション数をコメントに投稿してください。

これが役立つかどうか教えてください。

+0

ありがとう@ ossu54。はい、私は単一のパーティションのトピックを持っています。私は私の消費者グループのために新しいオフセットを設定したかったのです。そして最後に私はできました。以下のコマンドを使用してください。get/consumers/[ConsumerGroup]/offset/[TopicName] 0:。当初、私はget/consumers/[ConsumerGroup]/offset/[TopicName]/0 が動作しませんでした –

関連する問題