2017-01-17 6 views
2

はここのZooKeeperのznode数

zk_version 3.4.6-1569965, built on 02/20/2014 09:09 GMT 
    zk_avg_latency 0 
    zk_max_latency 0 
    zk_min_latency 0 
    zk_packets_received 3 
    zk_packets_sent 2 
    zk_num_alive_connections 1 
    zk_outstanding_requests 0 
    zk_server_state follower 
    zk_znode_count 16349 
    zk_watch_count 0 
    zk_ephemerals_count 6 
    zk_approximate_data_size 19502850 
    zk_open_file_descriptor_count 30 
    zk_max_file_descriptor_count 4096 

私はzk_znode_countが参照しても、私は(zk_znode_count & zk_approximate_data_size)を維持したいかを理解したいと思いますが、フォロワーとの同期の問題を避けるために、最小値の監視飼育係の出力です。

誰かがこれらの値にいくつかの洞察をスローでし

答えて

1

zk_znode_countはのZooKeeperアンサンブルに保存されているznodesの合計数です。クライアントが新しいzノードを作成するたびに、このカウンターは増加します。クライアントが新しいzノードを削除するたびに(切断後に一時的なzノードを明示的に削除するか削除するか)、このカウンタは減少します。

zk_approximate_data_sizeは、ZooKeeperアンサンブルに格納されているすべてのzノードのおおよそのメモリ消費量です。近似と呼ばれています。内部データ構造のオーバーヘッド要因を考慮していない可能性があるからです。現在の実装は、JavaのConcurrentHashMapStringのznodeデータへのパスといくつかのメタデータです。大規模な使用の場合は、zk_approximate_data_sizeを監視し、割り当てられたJVMヒープサイズを使いすぎないようにしてください。

+0

zk_approximate_data_sizeを制限する方法。 1週間しかないznodeを保ちたい、または最大50 MBのzk_approximate_data_sizeを使いたいとします。 zkCliを使用して1週間以上のzノードを取得できますか? – chandu

+0

ZooKeeperは、各zノードの作成時間と変更時間を追跡します。それらはCLIで 'get'のようなコマンドを実行し、ZooKeeper JavaクライアントAPIメソッドを通してアクセス可能なときに表示されます。特定の年齢のzノードのみを照会する特定のコマンドはないので、自分でスキャンして作成時間と変更時間を確認する必要があります。 Apache JIRA [ZOOKEEPER-2169](https://issues.apache.org/jira/browse/ZOOKEEPER-2169)は、znode上でTTLの実装を追跡しますが、それはバージョン3.6.0まで出荷されていないため、探している。サイズに基づく制限はありません。 –

関連する問題