ZooKeeper構建配置服務

2021-08-03 06:50:27 字數 1335 閱讀 6953

zookeeper構建配置服務

* 配置服務是分布式應用所需要的基本服務之一,它使集群中的機器可以共享配置資訊中那些公共的部分。

* 簡單的說,zookeeper可以作為乙個具有高可用性的配置儲存器,允許分布式應用的參與者檢索和更新配置檔案。

* 使用zookeeper中的觀察機制,可以建立乙個活躍的配置服務,使那些感興趣的客戶端能夠獲得配置資訊修改的通知。

在每個znode上儲存乙個鍵值對,activekeyvaluestore 提供了從zookeeper服務上寫和讀取鍵值方法。

public class activekeyvaluestore extends connectionwatcherelse} catch (keeperexception.sessionexpiredexception e) catch(keeperexception e)timeunit.seconds.sleep(retry_period_seconds);}}}public string read(string path, watcher watcher) throws exception}
與zookeeper服務建立連線

public class connectionwatcher implements watcher//當客戶端已經與zookeeper建立連線後,watcher的process方法會被呼叫。public void process(watchedevent event) }public void close() throws exception}
resilientconfigupdater類提供了管理更新配置資訊方法。

public class resilientconfigupdater public void run() throws exception}public static void main(string args) throws exception catch(keeperexception.sessionexpiredexception e)catch(keeperexception e)}}}
configwatcher類提供了配置資訊變更觀察器,在資訊修改後會觸發顯示方法被呼叫。

public class configwatcher implements watcherpublic void displayconfig() throws exceptionpublic void process(watchedevent event)  catch (exception e) }}public static void main(string args) throws exception }

zookeeper 服務端配置詳解

1 datadir 用於存放記憶體資料庫快照的資料夾,同時用於集群的myid檔案也存在這個資料夾裡。2 datalogdir 用於單獨設定transaction log的目錄,transaction log分離可以避免和普通log還有快照的競爭。3 ticktime 心跳時間,為了確保client ...

ZooKeeper服務命令

解壓後,新建編輯zoo.cnf the number of milliseconds of each tick ticktime 2000 the number of ticks that the initial synchronization phase can take initlimit 10...

ZooKeeper服務命令

在準備好相應的配置之後,可以直接通過zkserver.sh 這個指令碼進行服務的相關操作 zookeeper命令列工具類似於linux的shell環境,不過功能肯定不及shell啦,但是使用它我們可以簡單的對zookeeper進行訪問,資料建立,資料修改等操作.使用 zkcli.sh server ...