Take a look at this document:
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+data+structures+in+Zookeeper
So, the offset will be stored in Zookeeper at:
/[clusterBasePath]/consumers/[groupId]/offsets/[topic]/[partitionId] -> long (offset)
If that znode is empty, it might mean that your consumer group hasn't owned the partitions yet (decided on a mapping from partitions to consumers).
To see the current partition owners in the consumer group, take a look at:
/[clusterBasePath]/consumers/[groupId]/owners/[topic]/[partitionId] -> string (consumerId)
From personal experience, the most common cause of this is that your your consumer group is having trouble owning partitions due to timeouts. On your consumer config, you might want to try increasing rebalance.max.retries to something like 50 (or higher) and rebalance.backoff.ms to something like 5000. Also, check your Zookeeper session timeouts and increase those if necessary.
Depending on what consumer you're using (are you using consumer groups at all?), there's also a chance that you're just not committing your offsets to Zookeeper (this is ok if you don't care too much about fault tolerance). In that case, you won't be able to find the offsets in Zookeeper and will need to get them from your consumer directly.
ZOO_ROOT/bin.zkCli.shscript to connect to it .. read more here zookeeper.apache.org/doc/r3.3.3/… - user2720864/[topic]/[broker_id-partition_id]instead [topic]/[partition_id] ? - user2720864