[zookeeper]zookeeper3集群部署及jmx监控及systemctl添加zookeeper服务

20 篇文章 3 订阅
4 篇文章 0 订阅

1.三台机器

yxkj153
yxkj155
yxkj157

2.包的部署和解压

apache-zookeeper-3.5.7-bin.tar.gz
这步就是将包上传到一台机器上,然后tar -zxvf 。。。 掠过~

3.zookeeper的配置

zoo.cfg

clientPort=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=yxkj153:2888:3888
server.2=yxkj155:2888:3888
server.3=yxkj157:2888:3888

pid的设置

(base) [root@yxkj153 bin]# ll /opt/zookeeper/data
total 4
-rwxr-xr-x 1 root root  2 May 20 17:35 myid

根据zoo.cfg的配置目录以及节点对应的的myid,三台机器分别在对应的目录下设置myid为 1 2 3 ,如server.1=yxkj153:2888:3888,表示yxkj153对应的myid为1

(base) [root@yxkj153 bin]# cat //opt/zookeeper/data/myid
1

4.jmx的配置

(base) [root@yxkj153 bin]# vi zkServer.sh
(base) [root@yxkj153 bin]# grep -rn jmx
zkServer.sh:53:    ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLY org.apache.zookeeper.server.quorum.QuorumPeerMain"
zkServer.sh:71:    ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J org.apache.zookeeper.server.quorum.QuorumPeerMain"
zkServer.sh:84:JVMFLAGS="$JVMFLAGS -javaagent:$JMX_DIR/jmx_prometheus_javaagent-0.15.0.jar=8321:/opt/bdp-monitor/hadoop/zookeeper.yaml"
(base) [root@yxkj153 bin]#

JMX_DIR="/opt/bdp-monitor"
JVMFLAGS="$JVMFLAGS -javaagent:$JMX_DIR/jmx_prometheus_javaagent-0.15.0.jar=8321:/opt/bdp-monitor/hadoop/zookeeper.yaml"

在这里插入图片描述

5.启动zkServer

(base) [root@yxkj153 bin]# ./zkServer.sh start
/usr/local/jdk_lin/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
(base) [root@yxkj153 bin]#
(base) [root@yxkj153 bin]# jps
1589 QuorumPeerMain
1629 Jps
(base) [root@yxkj153 bin]#

6.Prometheus的配置并启动

(base) [root@yxkj153 prometheus-2.35.0.linux-amd64]# vi prometheus.yml
(base) [root@yxkj153 prometheus-2.35.0.linux-amd64]# ./prometheus

对应zookeeper的jmx的port 8321

  - job_name: 'zookeeper'
    scrape_interval: 5s # 每过10秒拉取一次
    honor_labels: true
    static_configs:
    - targets: ['192.168.80.161:8321']
      labels:
          instance: pushgateway

访问Prometheus的网页,可以看见zookeeper的监控
在这里插入图片描述
在这里插入图片描述
输入zookeeper,会有jmx的监控提示
在这里插入图片描述

7.systemctl添加zookeeper服务

(base) [root@yxkj153 ~]# cat /usr/lib/systemd/system/zookeeper.service
[Unit]
# 服务描述
Description=cosmo-bdp zookeeper
# 在网络服务启动后运行
After=network.target

[Service]
Type=forking


# jdk环境变量
Environment=JAVA_HOME=/usr/local/jdk_lin ZOO_LOG_DIR=/opt/logs
# 启动命令
ExecStart=/opt/zookeeper/bin/zkServer.sh start
# 停止命令
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
# 重载命令
ExecReload=/opt/zookeeper/bin/zkServer.sh restart

[Install]
WantedBy=multi-user.target


(base) [root@yxkj153 ~]# systemctl enable zookeeper
Created symlink from /etc/systemd/system/multi-user.target.wants/zookeeper.service to /usr/lib/systemd/system/zookeeper.service.

(base) [root@yxkj153 ~]# systemctl status zookeeper
● zookeeper.service - cosmo-bdp zookeeper
   Loaded: loaded (/usr/lib/systemd/system/zookeeper.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
(base) [root@yxkj153 ~]#

启动服务:systemctl start 服务名称
重启服务:systemctl restart 服务名称
停止服务:systemctl stop 服务名称
重新加载配置文件(不终止服务):systemctl reload 服务名称
查看服务状态:systemctl status 服务名称
开机自动启动:systemctl enable 服务名称
开机不自动启动:systemctl disable 服务名称
查看特定服务是否为开机自启动:systemctl is-enabled 服务名称
查看各个级别下服务的启动与禁用情况:systemctl list-unit-files --type=服务名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值