Centos7安装ZK-UI管理界面安装|Maven|Git|
一: JDK1.8安装
参考: Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端
二:Maven安装
2.1:下载maven安装包
maven 下载地址:https://mirror.bit.edu.cn/apache/maven/maven-3/
[root@www ~]# mkdir -p /usr/local/maven
[root@www ~]# cd /usr/local/tools
[root@www tools]# wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
--2023-08-27 12:44:30-- https://mirror.bit.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
正在解析主机 mirror.bit.edu.cn (mirror.bit.edu.cn)... 2001:da8:204:1205::22
正在连接 mirror.bit.edu.cn (mirror.bit.edu.cn)|2001:da8:204:1205::22|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:8296049 (7.9M) [application/octet-stream]
正在保存至: “apache-maven-3.8.8-bin.tar.gz”100%[===========================================================================================================================================================================================================>] 8,296,049 3.84MB/s 用时 2.1s
2023-08-27 12:44:32 (3.84 MB/s) - 已保存 “apache-maven-3.8.8-bin.tar.gz” [8296049/8296049])
2.2: 解压maven安装包到/usr/local/maven目录
[root@www tools]# ll
总用量 8972
-rw-r--r-- 1 root root 8296049 3月 8 22:09 apache-maven-3.8.8-bin.tar.gz
-rw-r--r--. 1 root root 887908 12月 9 2015 nginx-1.9.9.tar.gz
[root@www tools]# tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/maven/
[root@www maven]# ll
总用量 0
drwxr-xr-x 6 root root 99 8月 27 12:45 apache-maven-3.8.8
[root@www maven]# cd apache-maven-3.8.8/
[root@www apache-maven-3.8.8]# clear
[root@www apache-maven-3.8.8]# pwd
/usr/local/maven/apache-maven-3.8.8
[root@www apache-maven-3.8.8]# echo 'export PATH=/usr/local/maven/apache-maven-3.8.8/bin:$PATH' >>/etc/profile
[root@www apache-maven-3.8.8]# source /etc/profile
2.3: 配置阿里云仓库镜像
[root@www conf]# pwd
/usr/local/maven/apache-maven-3.8.8/conf[root@www conf]# mkdir -p /usr/local/maven/repository
[root@www conf]# vi settings.xml
<!--找到</mirrors>节点添加即可-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
三: 在线安装Git
[root@www conf]# yum install git -y
[root@www conf]# git --version
git version 1.8.3.1
四: 安装zookeeper服务
参考:使用Xshell7控制多台服务同时安装ZK最新版集群服务
五: 安装zkui
下载地址: mirrors / DeemOpen / zkui · GitCode
[root@www conf]# mkdir -p /usr/local/zkui
[root@www zkui]# git clone https://gitcode.net/mirrors/DeemOpen/zkui.git
[root@www zkui]# cd zkui/
[root@www zkui]# mvn clean install -DskipTests
看到如图所示,即打包成功了;
六: 准备配置文件并启动服务
[root@www zkui]# cat config.cfg
#Server Port
serverPort=9999
#Comma seperated list of all the zookeeper servers
zkServer=192.168.1.100:2181,192.168.1.101:2181,192.168.1.102:2181
[root@www zkui]# pwd
/usr/local/zkui/zkui
[root@www zkui]# ll
总用量 108
-rw-r--r-- 1 root root 2385 8月 27 13:46 config.cfg
drwxr-xr-x 2 root root 61 8月 27 13:46 docker
drwxr-xr-x 2 root root 114 8月 27 13:46 images
-rw-r--r-- 1 root root 11358 8月 27 13:46 LICENSE-2.0.txt
-rw-r--r-- 1 root root 416 8月 27 13:46 Makefile
-rw-r--r-- 1 root root 1746 8月 27 13:46 nbactions.xml
-rw-r--r-- 1 root root 5374 8月 27 13:46 pom.xml
-rw-r--r-- 1 root root 6216 8月 27 13:46 README.md
-rwxr-xr-x 1 root root 43 8月 27 13:46 run.sh
drwxr-xr-x 4 root root 30 8月 27 13:46 src
drwxr-xr-x 7 root root 205 8月 27 14:07 target
-rw-r--r-- 1 root root 43008 8月 27 14:09 zkui.h2.db
-rw-r--r-- 1 root root 848 8月 27 14:07 zkui.out
-rw-r--r-- 1 root root 11065 8月 27 14:09 zkui-out.log
-rwxr-xr-x 1 root root 1252 8月 27 13:51 zkui.sh
七: 脚本启动:
[root@www zkui]# cat zkui.sh
#!/usr/bin/env bashPIDFILE=~/zkui.pid
ZKUIBINDIR=$(cd `dirname $0`; pwd)
ZKUICLASSNAME="target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar"
ZKUI_DAEMON_OUT=$ZKUIBINDIR/zkui.outstart(){
echo "Starting zkui ... $ZKUIBINDIR"
if [ -f "$PIDFILE" ]; then
if kill -0 `cat "$PIDFILE"` > /dev/null 2>&1; then
echo zkui already running as process `cat "$PIDFILE"`.
exit 0
fi
fi
cp config.cfg target
nohup java -jar "$ZKUIBINDIR/$ZKUICLASSNAME" > "$ZKUI_DAEMON_OUT" 2>&1 < /dev/null &
if [ $? -eq 0 ];
then
echo $!>$PIDFILE
if [ $? -eq 0 ];
then
sleep 1
echo STARTED
else
echo FAILED TO WRITE PID
exit 1
fi
else
echo SERVER DID NOT START
exit 1
fi
}stop(){
echo -n "Stopping zkui ... "
if [ ! -f "$PIDFILE" ]
then
echo "no zkui to stop (could not find file $PIDFILE)"
else
kill -9 $(cat "$PIDFILE")
rm "$PIDFILE"
echo STOPPED
fi
exit 0
}case "$1" in
start)
start
;;
stop)
stop
;;
restart)
shift
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
esac
执行命令启动服务
[root@www zkui]# ll
总用量 108
-rw-r--r-- 1 root root 2385 8月 27 13:46 config.cfg
drwxr-xr-x 2 root root 61 8月 27 13:46 docker
drwxr-xr-x 2 root root 114 8月 27 13:46 images
-rw-r--r-- 1 root root 11358 8月 27 13:46 LICENSE-2.0.txt
-rw-r--r-- 1 root root 416 8月 27 13:46 Makefile
-rw-r--r-- 1 root root 1746 8月 27 13:46 nbactions.xml
-rw-r--r-- 1 root root 5374 8月 27 13:46 pom.xml
-rw-r--r-- 1 root root 6216 8月 27 13:46 README.md
-rwxr-xr-x 1 root root 43 8月 27 13:46 run.sh
drwxr-xr-x 4 root root 30 8月 27 13:46 src
drwxr-xr-x 7 root root 205 8月 27 14:07 target
-rw-r--r-- 1 root root 43008 8月 27 14:09 zkui.h2.db
-rw-r--r-- 1 root root 848 8月 27 14:07 zkui.out
-rw-r--r-- 1 root root 11065 8月 27 14:09 zkui-out.log
-rwxr-xr-x 1 root root 1252 8月 27 13:51 zkui.sh
[root@www zkui]# ./zkui.sh stop
Stopping zkui ... STOPPED
[root@www zkui]# ./zkui.sh start
Starting zkui ... /usr/local/zkui/zkui
STARTED
查看启动端口:
[root@www zkui]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8877 0.0.0.0:* LISTEN 1174/nginx: master
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 654/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1136/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1411/master
tcp6 0 0 :::9999 :::* LISTEN 3642/java
tcp6 0 0 :::111 :::* LISTEN 654/rpcbind
tcp6 0 0 :::22 :::* LISTEN 1136/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1411/master
[root@www zkui]# cd target/
[root@www target]# ll
总用量 13556
drwxr-xr-x 2 root root 6 8月 27 13:47 archive-tmp
drwxr-xr-x 5 root root 101 8月 27 13:47 classes
-rw-r--r-- 1 root root 2385 8月 27 14:13 config.cfg
drwxr-xr-x 4 root root 49 8月 27 13:47 generated-sources
drwxr-xr-x 2 root root 28 8月 27 13:47 maven-archiver
drwxr-xr-x 3 root root 17 8月 27 13:47 test-classes
-rw-r--r-- 1 root root 277078 8月 27 13:47 zkui-2.0-SNAPSHOT.jar
-rw-r--r-- 1 root root 13595676 8月 27 13:47 zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
[root@www target]# ps -ef |grep zkui
root 5176 1 1 14:13 pts/0 00:00:24 java -jar /usr/local/zkui/zkui/target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
root 5448 1737 0 14:36 pts/0 00:00:00 grep --color=auto zkui
八:浏览器访问:
http://192.168.1.111:9999/login
输入: admin/manager 登录
九: “stat is not executed because it is not in the whitelist.” 异常解决
原因
zookeeper.4lw.commands.whitelist:3.4.10中的新增功能:此属性包含以逗号分隔的四个字母单词命令的列表。引入它是为了对ZooKeeper可执行的命令集提供精细的控制,因此用户可以在必要时关闭某些命令。默认情况下,如果未指定该属性,则它包含所有受支持的四个字母单词命令,但“ wchp”和“ wchc”除外。如果指定了属性,则仅启用白名单中列出的命令。
解决方案: 在zoo.cfg文件中添加
在
zookeeper
配置中新增
4lw.commands.whitelist=*
点击Monitor:
十: 修改后重启,再次查看
Server: 192.168.1.100:2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/192.168.1.111:50992[1](queued=0,recved=9,sent=9)
/192.168.1.111:50994[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/2.8889/10
Received: 11
Sent: 10
Connections: 2
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
Environment:
zookeeper.version=3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
host.name=docker0
java.version=1.8.0_371
Server: 192.168.1.101:2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/192.168.1.111:54260[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
Environment:
zookeeper.version=3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
host.name=docker1
java.version=1.8.0_371
Server: 192.168.1.102:2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/192.168.1.111:40514[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: leader
Node count: 7
Proposal sizes last/min/max: 48/48/48
Environment:
zookeeper.version=3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
host.name=docker2
java.version=1.8.0_371
可以看到Zookeeper集群已经纳入监控
[root@www ~]# echo stat |nc localhost 2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/0:0:0:0:0:0:0:1:49704[0](queued=0,recved=1,sent=0)Latency min/avg/max: 0/0.0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: leader
Node count: 7
Proposal sizes last/min/max: 48/48/48
[root@www conf]# echo stat |nc localhost 2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/0:0:0:0:0:0:0:1:33244[0](queued=0,recved=1,sent=0)
/192.168.1.111:50992[1](queued=0,recved=58,sent=58)Latency min/avg/max: 0/1.1207/10
Received: 62
Sent: 61
Connections: 2
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
[root@www ~]# echo stat |nc localhost 2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/0:0:0:0:0:0:0:1:33320[0](queued=0,recved=1,sent=0)Latency min/avg/max: 0/0.0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
相关文章:

Centos7安装ZK-UI管理界面安装|Maven|Git|
一: JDK1.8安装 参考: Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端 二:Maven安装 2.1:下载maven安装包 maven 下载地址:https://mirror.bit.edu.cn/apache/maven/maven-3/ [rootwww ~]# mkdir -p /usr/local/maven [rootwww ~]# …...
C语言日常刷题7
文章目录 题目答案与解析1234567 题目 1、如下程序的运行结果是( ) char c[5]{a, b, \0, c, \0}; printf("%s", c)A: ‘a’ ‘b’ B: ab\0c\0 C: ab c D: ab 2、若有定义: int a[2][3]; ,以下选项中对 a 数组元素正确…...
037 - 有关时间和日期的函数方法
文档:MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions 以下为案例,更多内容可查看文档 返回当前日期: CURDATE() 返回当前时间: CURTIME() 返回当前日期和时间: NOW() 返回年份&a…...

(JAVA)树——tree
...
js判断对象是否为空对象的方法总结
js判断对象是否为空对象的方法总结 方法1:JSON.stringify()方法方法2:for in方法方法3:Object.keys()方法方法4:Object.getOwnPropertyNames()方法方法5:jquery 的 isEmptyObject()方法 在面试或者开发过程中ÿ…...
LeetCode1049. 最后一块石头的重量 II
1049. 最后一块石头的重量 II 文章目录 [1049. 最后一块石头的重量 II](https://leetcode.cn/problems/last-stone-weight-ii/)一、题目二、题解方法一:01背包二维数组算法思路具体实现 方法二:01背包一维数组 一、题目 有一堆石头,用整数数…...

universal robot 机械臂 官方基本教程
https://academy.universal-robots.cn/modules/e-Series-core-track/Chinese/module3/story_html5.html?courseId2166&languageChinese 教程1 控制箱内部 包含: 主机板,SD卡,和安全控制板 安全控制板负责所有控制信息,包括…...
网络常见安全漏洞
引言 随着互联网的迅猛发展,网络安全问题日益严重。在网络世界中,各种常见的安全漏洞给人们的通信和数据安全带来了巨大的威胁。本文将介绍一些常见的网络安全漏洞,并提供一些防范措施。 1. XSS(跨站脚本攻击) 跨站…...

【JS案例】JS实现图片放大镜功能
JS案例图片放大镜 🌟效果展示 🌟HTML结构 🌟CSS样式 🌟实现思路 🌟具体实现 1.初始化数据图片 2.获取所需DOM元素 3.初始化页面 初始化缩略图 绑定事件 🌟完整代码 🌟写在最后 &…...

linux centos7 bash中字符串反向输出
给定一个字符串,如何反向(倒序)输出? 字符串反转的方法:a.对各个字符位置进行循环调换(从原字符串左边取出放在新字符串的右边;从原字符串右边取出放在新字符串的左边)。b.对各个字符由水平排列转为垂直排…...

git rebase和merge区别
一、概述 merge和rebase 标题上的两个命令:merge和rebase都是用来合并分支的。 这里不解释rebase命令,以及两个命令的原理,详细解释参考这里。 下面的内容主要说的是两者在实际操作中的区别。 1.1 什么是分支 分支就是便于多人在同一项目…...

Vue插槽实现商品列表-编辑渲染
商品列表 文章目录 商品列表核心步骤创建组件 1. MyTag组件详细步骤双击显示,自动聚焦失去焦点,隐藏输入框回显标签信息回车修修改内容,同时隐藏输入框 MyTable组件详细步骤1-动态的设置整个表格的数据 : props2-实现自定义结构-插…...
Vue开发之父子组件
创建父子组建,分三步。一是创建文件,二是引入组建,三是组件间通信。在components目录下新建sub文件夹,用于存放一下可以复用的子组件。比如新建一个SubCon.vue组件 <template><div class"first-app">{{ ms…...

fastadmin think-queue supervisor配置
起因是微信支付回调需要同时做发货处理,但是发货接口不能影响,需要队列进行异步处理1. 1.fastadmin 后台购买queue插件(基于think-queue消息队列) 2.代码 2.1 添加文件:application---->extra--->queue.php 内容:我这里用的数据库做…...

STM32 进不了main 函数
1. 我用的是STM32L151C8T6 的芯片,在github 上找了个别人的例程,拿来当模板改,由于他用的是HSE 外部晶振,我用的是内部晶振HSI,所以需要改系统时钟,改完后debug, 一直进不了main 函数࿰…...

不用循环数组,js+html实现贪吃蛇
功能描述:每走10步随机改变一个方方向,当键盘按下方向键 w,s,a,d时,使用键盘方向控制蛇的移动,蛇头每撞到一次自身时改变屏幕颜色,蛇头碰到边界时从另一边回来。 实现思路:用个30大小的数组存放每个结点&a…...
什么是线程安全和线程不安全?
线程安全(Thread Safety)和线程不安全(Thread Unsafety)是与并发编程相关的概念,特别是在多线程环境中使用共享资源时会涉及到这些概念。 线程安全: 当多个线程同时访问共享资源时,如果在没有额外的同步措施的情况下,这些线程仍然能够正确地执行并保持数据的一致性,那…...

VUE笔记(十)Echarts
一、Echarts简介 1、什么是echarts ECharts是一款基个基于 JavaScript 的开源可视化图表库 官网地址:Apache ECharts 国内镜像:ISQQW.COM x ECharts 文档(国内同步镜像) - 配置项 示例:echarts图表集 2、第一个E…...

FPGA原理与结构——时钟IP核原理学习
一、前言 在之前的文章中,我们介绍了FPGA的时钟结构 FPGA原理与结构——时钟资源https://blog.csdn.net/apple_53311083/article/details/132307564?spm1001.2014.3001.5502 在本文中我们将学习xilinx系列的FPGA所提供的时钟IP核,来帮助我们进一…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...