在安裝完成zookeeper之後,可以通過命令來實現對節點的增刪改查操作。
但是命令行在使用的過程中不是很方便。就拿我們現在的項目來舉例子,我們用zookeeper來做配置中心,微服務的配置文件非常的多,如果通過命令行來進行增刪改查的操作的話,不僅工作量大,而且出錯的概率也比較大。
出於上面的原因,我這邊選擇了zkui這個zookeeper的可視化web客戶端作爲zookeeper的管理工具。
一、ZKUI簡介
zkui是github上的一個開源的項目,主要是幫助我們替代命令行來實現對zookeeper的日常操作。它不僅可以實現基本的增刪改查工作,還有導入、導出、查找、查看歷史記錄等功能。
二、ZKUI的安裝
1、安裝jdk
我這邊是安裝在之前的zookeeper的node1節點上的,已經有了java環境。如果是安裝在其他的服務器上,記得安裝jdk哈。
2、打包zkui
zkui的github地址爲https://github.com/DeemOpen/zkui
我們需要把項目克隆下來並進行打包。
打完包之後,把jar包上傳到服務器上的/data/zkui/下,並把config.cfg這個配置文件也上傳到這個目錄下。
3、建表
默認的配置文件使用的是h2數據庫(一個嵌入式數據庫),我這邊就改成使用mysql數據庫了,所以需要在mysql中創建一個庫(叫什麼庫可以自己定義,我這邊叫zkui),然後創建一張histories表,用來保存歷史記錄。建表語句:
create table histories (
id bigint not null auto_increment primary key,
change_user varchar(100),
change_date datetime,
change_summary varchar(500),
change_ip varchar(500)
);
4、修改配置文件
改好的配置文件如下:
注:因爲session的默認失效時間是5分鐘,在實際的使用過程中總是要重新登錄,所以這裏就把session的失效時間加長了。
5、運行ZKUI
一切準備就緒,到了運行zkui的時候了。運行很簡單,直接用java -jar
命令運行就可以了。
[root@node1 zkui]# nohup java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar >> /dev/null &
三、ZKUI的簡單使用
用瀏覽器訪問http://192.168.0.141:9090/login,用戶名密碼是上面配置文件中配置的admin/manager。
1、創建節點
點擊Add Node
,填入節點名稱並點擊Save Node
保存。
2、創建屬性並賦值
點擊Add Property
,填入屬性名和屬性的值,並點擊Save Node
保存。
3、修改屬性的值
比如我這邊把Anthony
的值改爲15
4、刪除
刪除屬性
刪除節點
5、導入文件
因爲我們是用zookeeper來做配置中心,每個模塊的配置文件都有好幾十行,多的上百行,如果讓我一個個去建的話,那真的是要崩潰了!有了zkui這個導入功能,我只需要告訴開發人員文件的格式,讓他們填寫好之後發給我,我直接導入就好了,哈哈。
這邊我就截取一段無關緊要的配置,然後進行導入。
要導入的配置文件內容如下:
/config_dev/server1/server=port=9009
/config_dev/server1/spring/boot/admin/client=url=http://10.86.216.180:8081/
/config_dev/server1/spring/boot/admin/client/instance=prefer-ip=true
/config_dev/server1/spring/sleuth/web/client=enabled=true
/config_dev/server1/spring/sleuth/sampler=probability=1.0
/config_dev/server1/spring/zipkin=base-url=http://10.86.216.180:9411/
/config_dev/server1/spring/datasource=name=manual_work
/config_dev/server1/spring/datasource=type=com.alibaba.druid.pool.DruidDataSource
/config_dev/server1/spring/datasource/druid=filters=stat
開始導入
可以看到,配置都已經導入到zookeeper中,省事省力又省心,哈哈。
6、導出文件
導出文件就是和導入反過來唄,我能想到的就是在zookeeper服務器的遷移或者我們自己做備份的時候用到。
開始導出
導出實際上是跳轉到了一個一面中,我們可以直接把配置複製出來或者右鍵頁面保存成txt文件。
7、查找
比如我查找一個關鍵字爲spring
8、歷史記錄
之前我們在mysql中創建了一個histories表,這個表就是用來保存歷史記錄的。點擊History
可以看到屬性的歷史值。
參考文章:
https://www.ilanni.com/?p=13646
https://www.jianshu.com/p/dac4c0bd1d2e