前提:zookeeper 可视化WEB工具zkui依赖java环境,因此需要安装jdk,同时zkui源码要Maven编译,需要安装apache-maven.

JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Apache-maven下载地址:https://maven.apache.org/download.cgi

1.设置环境变量

[root@localhost App]# vim /etc/profile 在文件末尾添加如下:

#set for java
export JAVA_HOME=/App/java/jdk1.8.0_102
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$M2_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib #set for APR
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib #set for apache-maven
export MAVEN_HOME=/App/apache-maven
export PATH=${PATH}:${MAVEN_HOME}/bin

查看环境变量:

[root@localhost App]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
[root@localhost App]# mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /App/apache-maven
Java version: 1.8.0_102, vendor: Oracle Corporation, runtime: /App/java/jdk1.8.0_102/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"

2.下载zkui 程序包

[root@localhost /]# cd /App/
[root@localhost App]# yum -y install git
[root@localhost App]# git clone https://github.com/DeemOpen/zkui.git
Cloning into 'zkui'...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 527 (delta 0), reused 0 (delta 0), pack-reused 526
Receiving objects: 100% (527/527), 480.75 KiB | 24.00 KiB/s, done.
Resolving deltas: 100% (217/217), done.
[root@localhost App]# ll zkui/
total 44
-rw-r--r--. 1 root root 2357 Apr 15 09:54 config.cfg
drwxr-xr-x. 2 root root 61 Apr 15 09:54 docker
drwxr-xr-x. 2 root root 114 Apr 15 09:54 images
-rw-r--r--. 1 root root 11358 Apr 15 09:54 LICENSE-2.0.txt
-rw-r--r--. 1 root root 416 Apr 15 09:54 Makefile
-rw-r--r--. 1 root root 1746 Apr 15 09:54 nbactions.xml
-rw-r--r--. 1 root root 5294 Apr 15 09:54 pom.xml
-rw-r--r--. 1 root root 6216 Apr 15 09:54 README.md
-rw-r--r--. 1 root root 43 Apr 15 09:54 run.sh
drwxr-xr-x. 4 root root 30 Apr 15 09:54 src

3.编译zkui,生成jar包,zkui源码需要Maven编译

[root@localhost App]# cd zkui/
[root@localhost zkui]# mvn clean install
.................................编译过程省略..........................................
[INFO] --- maven-install-plugin:2.4:install (default-install) @ zkui ---
[INFO] Installing /App/zkui/target/zkui-2.0-SNAPSHOT.jar to /root/.m2/repository/com/deem/zkui/2.0-SNAPSHOT/zkui-2.0-SNAPSHOT.jar
[INFO] Installing /App/zkui/pom.xml to /root/.m2/repository/com/deem/zkui/2.0-SNAPSHOT/zkui-2.0-SNAPSHOT.pom
[INFO] Installing /App/zkui/target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar to /root/.m2/repository/com/deem/zkui/2.0-SNAPSHOT/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.670 s
[INFO] Finished at: 2019-04-15T09:57:44+08:00
[INFO] ------------------------------------------------------------------------

编译成功,此时生成两个jar包,zkui-2.0-SNAPSHOT.jar和zkui-2.0-SNAPSHOT-jar-with-dependencies.jar,使用的是第二个jar包

[root@localhost zkui]# ll target/
total 8416
drwxr-xr-x. 2 root root 6 Apr 15 09:57 archive-tmp
drwxr-xr-x. 5 root root 101 Apr 15 09:57 classes
drwxr-xr-x. 4 root root 49 Apr 15 09:57 generated-sources
drwxr-xr-x. 2 root root 28 Apr 15 09:57 maven-archiver
drwxr-xr-x. 2 root root 89 Apr 15 09:57 surefire-reports
drwxr-xr-x. 3 root root 17 Apr 15 09:57 test-classes
-rw-r--r--. 1 root root 277170 Apr 15 09:57 zkui-2.0-SNAPSHOT.jar
-rw-r--r--. 1 root root 8336864 Apr 15 09:57 zkui-2.0-SNAPSHOT-jar-with-dependencies.jar

4.修改配置文件

zkui运行生成的jar包,可以直接运行,在运行该文件之前,我们还需要修改zkui的配置文件config.cfg,config.cfg 文件中配置了zkui需要连接的zookeeper集群的IP地址和端口,访问UI的用户名和密码,以及zkui监听的端口号

[root@localhost zkui]# vim config.cfg 

#Server Port
serverPort=9090
#Comma seperated list of all the zookeeper servers
zkServer=localhost:2181,localhost:2181
#Http path of the repository. Ignore if you dont intent to upload files from repository.
scmRepo=192.168.31.43:2181
#Path appended to the repo url. Ignore if you dont intent to upload files from repository.
scmRepoPath=//appconfig.txt
#if set to true then userSet is used for authentication, else ldap authentication is used.
ldapAuth=false
ldapDomain=mycompany,mydomain
#ldap authentication url. Ignore if using file based authentication.
ldapUrl=ldap://<ldap_host>:<ldap_port>/dc=mycom,dc=com
#Specific roles for ldap authenticated users. Ignore if using file based authentication.
ldapRoleSet={"users": [{ "username":"domain\\user1" , "role": "ADMIN" }]}
userSet = {"users": [{ "username":"admin" , "password":"manager","role": "ADMIN" },{ "username":"appconfig" , "password":"appconfig","role": "USER" }]}
#Set to prod in production and dev in local. Setting to dev will clear history each time.
env=prod
jdbcClass=org.h2.Driver
jdbcUrl=jdbc:h2:zkui
jdbcUser=root
jdbcPwd=manager
#If you want to use mysql db to store history then comment the h2 db section.
#jdbcClass=com.mysql.jdbc.Driver
#jdbcUrl=jdbc:mysql://localhost:3306/zkui
#jdbcUser=root
#jdbcPwd=manager
loginMessage=Please login using admin/manager or appconfig/appconfig.
#session timeout 5 mins/300 secs.
sessionTimeout=300
#Default 5 seconds to keep short lived zk sessions. If you have large data then the read will take more than 30 seconds so increase this accordingly.
#A bigger zkSessionTimeout means the connection will be held longer and resource consumption will be high.
zkSessionTimeout=5
#Block PWD exposure over rest call.
blockPwdOverRest=false
#ignore rest of the props below if https=false.
https=false
keystoreFile=/home/user/keystore.jks
keystorePwd=password
keystoreManagerPwd=password

关于配置文件的说明:

(1)scmRepo=192.168.31.43:2181,192.168.31.44:2181,192.168.31.45:2181  注意如果是zk集群,此处需填写集群各个成员服务器(即Zookeeper节点)的IP地址加端口号2181,我这里的zookeeper 模式是standalone,因此只填写本机IP地址即可。
若报KeeperErrorCode = ConnectionLoss for / 错误,增大zkSessionTimeout超时时间,设置zkSessionTimeout=20

(2)默认用户信息

用户名:Admin(Admin权限,支持CRUD操作)
   密码:manager
   用户名:appconfig(Readonly权限,支持读取操作)
   密码:appconfig

(3)LDAP的配置  

如果你想使用 LDAP 身份验证,则提供 LDAP url。
   这将优先于 roleSet property 文件认证。
   ldapUrl=ldap://<ldap_host>:<ldap_port>/dc=mycom,dc=com
   如果不提供此功能,则将使用默认 roleSet 文件认证。

5.启动zkui

[root@localhost zkui]# nohup java -jar target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar &
[1] 2560
[root@localhost zkui]# nohup: ignoring input and appending output to ‘nohup.out’ [root@localhost zkui]# netstat -tunpl |grep :9090
tcp6 0 0 :::9090 :::* LISTEN 2560/java
[root@localhost zkui]#

6.浏览器访问 http://192.168.31.43:9090/login 账号admin 密码manager

 

以下是个人的一些补充:

7.登录zkui ,选择导航“Host” 出现错误提示:KeeperErrorCode = NoNode for /appconfig/hosts  如下所示:

日志错误信息如下:

查询了该项目的Github https://github.com/DeemOpen/zkui/issues/61 并未找到解决方法;根据提示:根目录下无节点/appconfig/hosts,既然根目录下无/appconfig/hosts节点,那就手动创建;

[root@localhost App]# sh /App/zookeeper/bin/zkCli.sh -server 192.168.31.43:2181
Connecting to 192.168.31.43:2181
2019-04-15 11:04:27,148 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
2019-04-15 11:04:27,151 [myid:] - INFO [main:Environment@100] - Client environment:host.name=localhost
2019-04-15 11:04:27,151 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_102
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/App/java/jdk1.8.0_102/jre
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/App/zookeeper/bin/../zookeeper-server/target/classes:/App/zookeeper/bin/../build/classes:/App/zookeeper/bin/../zookeeper-server/target/lib/*.jar:/App/zookeeper/bin/../build/lib/*.jar:/App/zookeeper/bin/../lib/slf4j-log4j12-1.7.25.jar:/App/zookeeper/bin/../lib/slf4j-api-1.7.25.jar:/App/zookeeper/bin/../lib/netty-3.10.6.Final.jar:/App/zookeeper/bin/../lib/log4j-1.2.17.jar:/App/zookeeper/bin/../lib/jline-0.9.94.jar:/App/zookeeper/bin/../lib/audience-annotations-0.5.0.jar:/App/zookeeper/bin/../zookeeper-3.4.14.jar:/App/zookeeper/bin/../zookeeper-server/src/main/resources/lib/*.jar:/App/zookeeper/bin/../conf:.:/App/java/jdk1.8.0_102/lib/dt.jar:/App/java/jdk1.8.0_102/lib/tools.jar
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=:/usr/local/apr/lib:/usr/local/apr/lib:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-693.el7.x86_64
2019-04-15 11:04:27,153 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2019-04-15 11:04:27,154 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2019-04-15 11:04:27,154 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/App
2019-04-15 11:04:27,159 [myid:] - INFO [main:ZooKeeper@442] - Initiating client connection, connectString=192.168.31.43:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@67424e82
Welcome to ZooKeeper!
JLine support is enabled
2019-04-15 11:04:27,220 [myid:] - INFO [main-SendThread(192.168.31.43:2181):ClientCnxn$SendThread@1025] - Opening socket connection to server 192.168.31.43/192.168.31.43:2181. Will not attempt to authenticate using SASL (unknown error)
2019-04-15 11:04:27,300 [myid:] - INFO [main-SendThread(192.168.31.43:2181):ClientCnxn$SendThread@879] - Socket connection established to 192.168.31.43/192.168.31.43:2181, initiating session
2019-04-15 11:04:27,314 [myid:] - INFO [main-SendThread(192.168.31.43:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 192.168.31.43/192.168.31.43:2181, sessionid = 0x1000001f2a00008, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null
[zk: 192.168.31.43:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: 192.168.31.43:2181(CONNECTED) 1] create /appconfig "my appconfig"
Created /appconfig
[zk: 192.168.31.43:2181(CONNECTED) 2] create /appconfig/hosts 192.168.31.43
Created /appconfig/hosts
[zk: 192.168.31.43:2181(CONNECTED) 3] ls /
[appconfig, zookeeper]

再次刷新、登录发现正常:

  

接下来,就体验一下通过zkui 来管理zookeeper集群吧!

zookeeper可视化WEB工具(zkui)搭建与配置的更多相关文章

  1. zookeeper的WEB客户端zkui使用

    转载自:http://blog.csdn.net/csolo/article/details/53694665 前面几篇实践说明了zookeeper如何配置和部署,如何开发,因为大多是后台操作,对于维 ...

  2. [Ubuntu] Git可视化比较工具 P4Merge 的安装/配置及使用

    1 下载 下载地址. 链接到上面的下载页后,先找到左边导航的 Clients ,如下图 1 所示. 接着找到 P4Merge: Visual Merge Tool , 如下图 2 所示. 最后,选择好 ...

  3. ZooKeeper可视化Web管理工具收集(待实践)

    原来ZooKeeper是有Web管理后台的.但是仅限于操作ZooKeeper的数据,如果要监控性能,估计要借助Nagios去配合. 这些工具应该ZK UI最好用,下面是收集的一些工具安装教程: htt ...

  4. Docker可视化管理工具Shipyard安装与配置

    Shipyard简介 Shipyard是一个集成管理docker容器.镜像.Registries的系统,它具有以下特点: 1.支持多节点的集成管理 2.可动态加载节点 3.可托管node下的容器 镜像 ...

  5. Apache tomcat高可用web集群搭建过程配置记录

    说明,本文仅作为个人搭建配置保存,问题处理没有一一列出,过程也未见详尽,有问题的朋友可以直接留言给我,会一一回复,谢谢. 小目标: 支持故障转移(或主备,扩展性不佳),保证故障转移后,对前端用户透明, ...

  6. zookeeper可视化管理工具node-zk-browser安装

    一.安装nodejs 1. 下载 wget https://github.com/joyent/node/archive/v0.10.35.tar.gz 2. 解压 3. 安装依赖 yum -y in ...

  7. 我的第一个web应用开发搭建-环境配置

    MyEclipse 2014 破解图文详细教程 MyEclipse作为Java EE最受欢迎的IDE,最新版本为2014版,MyEclipse 2014破解的方法. 一.安装完成MyEclipse20 ...

  8. 搭建一个基于CentOS的可视化zookeeper管理工具zkUI实现对zk的可视化管理

    一. zookeeper 可视化工具   JMX => CLRProfile ZKUI => java写的一个可视化的web网站 github中下载 https://github.com/ ...

  9. zookeeper的可视化web界面

    转载一篇我心中大神有关zookeeper  WEB的文章 以前写过一篇zookeeper集群搭建的文章<烂泥:zookeeper集群搭建>,最近在使用activemq集群过程中碰到了一些有 ...

随机推荐

  1. 一劳永逸Java环境配置,以及编写我的第一个Java程序

    Java环境配置,以及编写我的第一个Java程序 配置步骤 1.下载jdk 2.安装步骤 3.配置环境 4.我的第一个Java程序 配置步骤 网上的教程有很多,方法也都不尽相同.今天我就分享一下我的配 ...

  2. CentOS更新VMware Tools及设置共享文件夹

    CentOS设置共享文件夹 设置共享文件夹 点击虚拟机->设置 2. 打开虚拟机设置->选项->共享文件夹->总是启用->添加 3. 点击下一步创建主机路径并命名 4. ...

  3. 一款免费在线转pdf的工具 和 window免费镜像

    PDF爱好者的在线工具 完全免费的PDF文件在线管理工具,其功能包括:合并PDF文件.拆分PDF文件.压缩PDF文件.Office文件转换为PDF文件.PDF文件转换为JPG图片.JPG图片转换为PD ...

  4. Spring MVC项目快速搭建(编程模型)

    1)配置DispatcherServlet前端控制器(web配置) 2)将xml文件路径告诉Spring MVC(DispatcherServlet) 以上两步等价于继承了WebApplication ...

  5. CPU优化之平均负载率之辅助工具

    前面介绍了平均负载均衡的一些内容,那实际应用中如何查看,分析性能瓶颈呢?下面介绍相关的辅助工具. 一.stress stress是Linux 系统压力测试工具,其通过异常进程模拟平均负载升高的场景(前 ...

  6. 图解python | for循环

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  7. KALI搭建Docker+Vulhub漏洞复现环境

    在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用docker-vulhub进行环境搭建,我近期也遇到了这个问题,但是网上的教程特别混乱,根本起不到帮助作用,即使有可 ...

  8. Smartbi:利用好excel分析工具,数据分析都是小case!

    数据分析听起来好像很高端的样子,但是实际上在一些IT高手的眼里,只需要掌握以下几个excel数据分析小工具的使用,你也能够成为别人眼中的数据大神! 1.excel数据分析工具--条件格式 快速找出符合 ...

  9. 为什么DRAM采用地址复用技术?为什么SRAM不采用地址复用技术?

    行列地址复用:比如你的存储器容量是16bit,那么可以将这16个比特组织成一个4*4的矩阵,为了找到某个你想要找的bit,比如第1行第2列的那个bit.你先发送二进制的01,表示要找的数据在第1行:接 ...

  10. 解除Ubuntu禁止root远程登录

    编辑SSH服务配置文件 编辑SSH服务的配置文件sshd_config,修改SSH的端口和root用户权限. 使用到的命令:(按字母 i 进入编辑模式,按ESC退出编辑模式, :wq 保存退出). r ...