MacOS系统 安装ZooKeeper 和常见问题解决

ZooKeeper 是一个分布式的开源协调服务,用于构建分布式应用程序。

使用 Homebrew 安装,如果没有的话,强烈推荐 Homebrew,安装命令参考如下:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

一、安装和启动

安装 ZooKeeper:

brew install zookeeper

启动 ZooKeeper 服务:

brew services start zookeeper

停止 ZooKeeper 服务 :

brew services stop zookeeper

测试 ZooKeeper 是否正常启动 :

zkCli

二、常见问题和解决

2.1 配置文件在哪?

使用 Homebrew 安装,一般会在 /usr/local/etc/zookeeper/zoo.cfg

2.2 安装路径在哪?

使用 Homebrew 安装,可以通过命令查询:

brew info zookeeper

在这里插入图片描述

2.3 如果不想后台运行zookeeper,用完就关,省资源,可以的!

参考上图,不用自己记住命令的!

SERVER_JVMFLAGS="-Dapple.awt.UIElement=true" /usr/local/opt/zookeeper/bin/zkServer start-foreground

2.4 启动时,报错

日志配置问题:

Reported exception:
ch.qos.logback.core.joran.spi.JoranException: Problem parsing XML document. See previously reported errors.
        at ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(SaxEventRecorder.java:65)
        at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:151)
        at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
        at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
        at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:64)
        at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:134)
        at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
        at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
        at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
        at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
        at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.<clinit>(QuorumPeerMain.java:77)
Caused by: org.xml.sax.SAXParseException; systemId: file:/usr/local/etc/zookeeper/logback.xml; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
        at ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(SaxEventRecorder.java:59)

问题分析和解决:
/usr/local/etc/zookeeper/logback.xml 文件格式不对,所以需要一个默认正确的配置文件。默认的配置文件在哪?一般检索后,会告诉您在 安装的 /conf 路径等,其实没有那么麻烦哈,vi logback.xml 内容会告诉你参考的默认配置文件在哪,复制过来就行,例如我的初识配置文件内容是:

/private/tmp/d20240116-22582-3su5e4/default_logback_xml

2.4 启动/停止使用 zkServer 可以吗? 可以

启动 ZooKeeper 服务:

zkServer start

停止ZooKeeper 服务:

zkServer stop

但是更推荐使用 brew services start

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值