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

安装ZooKeeper 和 常见问题

    • 一、安装和启动
    • 二、常见问题和解决
      • 2.1 配置文件在哪?
      • 2.2 安装路径在哪?
      • 2.3 如果不想后台运行zookeeper,用完就关,省资源,可以的!
      • 2.4 启动时,报错
      • 2.4 启动/停止使用 zkServer 可以吗? 可以

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/628730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL基础笔记(6)函数

函数&#xff1a;是指一段可以直接被另一段程序调用的程序或者代码~&#xff08;MySQL内置&#xff09; 一.字符串函数 trim不能去除中间的空格~ select concat(jsl,1325): 执行如上的代码&#xff0c;返回字符串"jsl1325"。 select lower(JSL); 执行如上的代码&…

深度学习基础知识整理

自动编码器 Auto-encoders是一种人工神经网络&#xff0c;用于学习未标记数据的有效编码。它由两个部分组成&#xff1a;编码器和解码器。编码器将输入数据转换为一种更紧凑的表示形式&#xff0c;而解码器则将该表示形式转换回原始数据。这种方法可以用于降维&#xff0c;去噪…

C++入门案例——通讯录管理系统 控制台项目

前言 C入门案例——通讯录管理系统 & 控制台项目 目录 前言总体概览实体类设计显示页面和退出系统 添加联系人逻辑拆解相关代码 显示联系人逻辑拆解相关代码 根据名字删除联系人逻辑拆解相关代码 根据名字查找联系人逻辑拆解相关代码 修改联系人逻辑拆解相关代码 清空所有…

鸿蒙ArkTS的起源和简介

theme: lilsnake 1、引言 Mozilla创造了JS&#xff0c;Microsoft创建了TS&#xff0c;Huawei进一步推出了ArkTS。 从最初的基础的逻辑交互能力&#xff0c;到具备类型系统的高效工程开发能力&#xff0c;再到融合声明式UI、多维状态管理等丰富的应用开发能力&#xff0c;共同…

ASP.NET Core列表增删改查

前置要求&#xff1a; 1. vueelement-plus实现前端静态页面 HelloWorld.vue <template><h2>hello界面</h2><div class"tableList"><!-- 搜索框 --><el-row :gutter"20"><el-col :span"8"><!-- 搜…

Linux系统资源分析手段:CPU,内存,磁盘与网络IO的瓶颈定位

前言&#xff1a;性能分析手段的应用场景 用于优化&#xff1a; 在程序编码完成后&#xff0c;我们通常要对自己编写的工具进行功能测试与性能分析。 用于监控&#xff1a; 在观察某个系统的运行情况时&#xff0c;需要观察系统内多个中间件及组件的资源占用情况。 用于测试…

tcpdump常用参数以及wireshark密文解密

tcpdump常用参数以及wireshark密文解密 文章目录 一、tcpdump命令和常用参数二、在wireshark中协议解析 tcpdump常用参数 一、tcpdump命令和常用参数 tcpdump常用命令&#xff1a;tcpdump -i eth0 src host 11.6.224.1 and udp port 161 -s 0 -w 161.pcap &#xff08;161为sn…

C盘满了,我用什么思路清理?

20240115 上周六同事传了一个很大的虚拟机给我&#xff0c;C盘就红了 虽然是飞秋选错了存储文件的路径&#xff0c;但后来忘了&#xff0c;就开始毫无目的删除文件&#xff0c;过程中会有没有权限删除的&#xff0c;这样还是没有改善。 咨询了公司IT技术人员&#xff0c; 告…

利用python将Excel文件拆分为多个CSV

目录 一、准备工作 二、拆分Excel文件为多个CSV 1、读取Excel文件&#xff1a; 2、确定要拆分的列&#xff1a; 3、创建空的字典来存储CSV文件&#xff1a; 4、循环遍历数据并根据类别拆分&#xff1a; 5、打印或返回CSV文件名字典&#xff1a; 6、保存CSV到特定目录&a…

开源的代名词「GitHub 热点速览」

当开发者谈论开源时&#xff0c;通常会想到 GitHub&#xff0c;它不仅仅是一个代码托管平台&#xff0c;更是一个汇聚了全球开发者的社交中心。过去&#xff0c;开发者发布一款软件后&#xff0c;都是在自己的小圈子里默默努力和交流&#xff0c;现在通过 GitHub 平台可以方便地…

day02_计算机常识丶第一个程序丶注释丶关键字丶标识符

计算机常识 计算机如何存储数据 计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。 进制 进制也就是进位计数制&#xff0c;是人为定义的带进位的计数方法 实例&#xff1a; // 在java 中 可以使用不同…

【机器学习】强化学习 (一)强化学习简介

一、强化学习简介 1.1 问题定义 1.2 马尔可夫决策过程 举例说明马尔可夫决策过程 例1&#xff1a; 例2&#xff1a; 执行动作的策略 强化学习的目标是让智能体通过不断尝试&#xff0c;找到最优的策略&#xff08;policy&#xff09;&#xff0c;即在每个状态下选择什么动作&am…

消息中间件RabbitMQ

1. 消息队列 1.1. MQ 的相关概念 1.1.1. 什么是MQ MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是message 而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息…

如何将github copilot当gpt4用

现在写代码已经离不开ai辅助了我用的是github copilot&#xff0c;一方面是因为它和vscode结合得比较好&#xff0c;另一方面就是copilot chat了。可以在不切换工具的情况下&#xff0c;问它问题&#xff0c;在copilot chat还在内测阶段的时候我就申请使用了&#xff08;现在已…

Android studio 简单登录APP设计

一、登录界面: 二、xml布局设计: <LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:layout_editor_absoluteX="…

Git Merge、Rebase 和 Squash 之间的区别

文章目录 Git MergeGit RebaseGit Squash结论 作为一名开发人员&#xff0c;您可能使用过 Git 和 GitHub&#xff0c;掌握了版本控制的要点。通常通过拉取请求将分支的更改集成到主分支中是一项常见任务。许多人的默认选择是“合并”功能。 然而&#xff0c;版本控制领域提供了…

多级缓存(nginx本地缓存、JVM进程缓存、redis缓存)

文章目录 整体示意图1.nginx缓存2.进程缓存Caffeine示例 3.Lua语法(为了在nginx中做编程)4.OpenResty5.封装向Tomcat发送的Http请求&#xff0c;获取数据6.Tomcat集群的负载均衡7.redis缓存8.查询Redis缓存9.Nginx本地缓存 整体示意图 1.nginx缓存 2.进程缓存 Caffeine示例 3.…

纯前端实现加减运算验证码

纯前端实现加减运算验证码 实现效果 //页面展示 <template><view class"form-input-item" style"padding:8rpx 22rpx;"><input class"form-input" placeholder"请输入验证码" type"text" maxlength"6…

基于pyqt5+scapy 根据ip 具体端口 进行扫描 的程序

先给出代码 import sysfrom PyQt5 import uic from PyQt5.QtWidgets import *from scapy.all import * import argparse import logging from scapy.layers.inet import IP, TCP from scapy.sendrecv import sr1class MyWindow(QWidget):def __init__(self):super().__init__(…

【QML COOK】- 010-动态创建组件

上节介绍了Component的概念&#xff0c;本节介绍一下如何使用javascript动态创建对象。 1. 创建工程&#xff0c;新建一个MyComponent.qml的qml import QtQuickRectangle {color: "red" }它很简单就是一个红色框 2. 编辑main.qml import QtQuickWindow {id: root…