【zookeeper】基于Linux环境安装zookeeper集群
前提,需要有几台linux机器,我们可以准备好诸如finalshell来连接linux并且上传文件;
其次Linux需要安装上ssh,并且在/etc/hosts文件中写好其他几台机器的名字和Ip
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.184.130 node2
192.168.184.131 node3
192.168.184.132 node4
最后,如果是虚拟机,要确保主机能Ping通linux。
一,下载zookeeper源码,上传至linux
zookeeper官网下载地址:https://downloads.apache.org/zookeeper/
下载.tar.gz好后,通过finalshell连接Linux并将文件上传至Linux的某一个文件夹中,我将其上传至普通用户的桌面文件夹。
连接finalshell:ifconfig命令查看Inet4的ip后,在finalshell上,新建ssh连接,使用这个ip在finalshell上连接Linux。端口号默认。

二,在一台机器上安装zk并配置环境变量
创建一个文件夹
mkdir /opt/zookeeper
把压缩文件移动过去
mv ./apache-zookeeper-3.7.1.tar.gz /opt/zookeeper/
解压缩
tar xf apache-zookeeper-3.7.1.tar.gz
进入解压缩后的conf文件夹,里面会有一个配置文件模板zoo.sample.cfg,复制一份后,修改这个配置文件

进入conf文件夹
cd apache-zookeeper-3.7.1/conf/
复制配置文件
cp zoo.sample.cfgzoo.cfg
编辑配置文件
vi zoo.cfg
更换zk数据快照存储空间为/var目录下
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/var/zookeeper
在配置文件的最后,加上zk集群中每一台server的id和与节点的ip和端口信息的对应关系。
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=node4:2888:3888
需要注意的是,node1 node2等是你在/etc/hosts文件中已经配置好ip和名字的节点。
保存配置文件退出。
创建zk数据快照空间文件夹,去这里面创建zk的id信息
mkdir /var/zookeeper
cd /var/zookeeper
vi myid
在myid文件中添加第一台server的id为1即可,保留,退出。
接下来配置环境变量并刷新。
vi /etc/profile
#PATH在:后面添加新的环境变量的bin目录
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin
export ZOOKEEPER_HOME=/opt/mashibing/zookeeper/apache-zookeeper-3.7.1
读取配置文件
source /etc/profile
或者
. /etc/profile
三,将zookeeper目录传给其他节点,配置profile并读取配置文件
3.1 复制zookeeper文件夹
将zookeeper传给其他节点的/opt下
scp -r /opt/zookeeper node2:`pwd`
输入密码,确定。
3.2 复制配置文件
把配置文件中的环境变量复制到在其他节点上的/etc/profile文件中并刷新,当然也可以用scp直接复制过去。
3.3 配置myid
在几台Linux上都需要在/var/zookeeper/myid文件中配置对应的id信息,数字为在conf文件夹中配置的server的id。
这样,zk在几台Linx上就全部安装完毕。
相关文章:
【zookeeper】基于Linux环境安装zookeeper集群
前提,需要有几台linux机器,我们可以准备好诸如finalshell来连接linux并且上传文件; 其次Linux需要安装上ssh,并且在/etc/hosts文件中写好其他几台机器的名字和Ip 127.0.0.1 localhost localhost.localdomain localhost4 localh…...
什么是IoT数字孪生?
数字孪生是资产或系统的实时虚拟模型,它使用来自连接的物联网传感器的数据来创建数字表示。数字孪生允许您从任何地方实时监控设备、资产或流程。数字孪生用于多种目的,例如分析性能、监控问题或在实施之前运行测试。从物联网数字孪生中获得的见解使用户…...
俄罗斯四大平台速卖通、Joom、Ozon 和 UMKA中国卖家如何脱颖而出!
随着全球化的不断推进,越来越多的中国卖家将目光投向了俄罗斯这个广阔的市场。在众多的跨境电商平台中,速卖通、Joom、Ozon 和 UMKA 无疑是最受关注的四个平台。本文将从卖家的角度,详细分析这四大平台的特点和优势,帮助找到最…...
destoon 调用第三方api接口
调用企查查企业工商信息接口为例: 在 \api\extend.func.php 文件下 注意:有注释内容可能接口无法访问 function select_list($k){$query_data array(key>,keyword>$k);$url "https://api.qichacha.com/ECIV4/GetBasicDetailsByName?&q…...
js中的类型转换
原文地址 JavaScript 中有两种类型转换:隐式类型转换(强制类型转换)和显式类型转换。类型转换是将一个数据类型的值转换为另一个数据类型的值的过程。 隐式类型转换(强制类型转换): 隐式类型转换是 Java…...
Oracle物化视图(Materialized View)
与Oracle普通视图仅存储查询定义不同,物化视图(Materialized View)会将查询结果"物化"并保存下来,这意味着物化视图会消耗存储空间,物化的数据需要一定的刷新策略才能和基表同步,在使用和管理上比…...
Spring 学习(九)整合 Mybatis
1. 整合 Mybatis 步骤 导入相关 jar 包 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency>…...
Android AMS——概述(一)
一、AMS简介 Android AMS(Activity Manager Service)是 Android 操作系统中的一个核心组件,它是 Android 应用程序的管理器,负责管理应用的生命周期、任务栈、进程和活动之间的切换等。AMS在 Android 系统中起着至关重要的作用,确保应用程序能够正确运行并与用户进行交互。…...
DDoS攻击和CC攻击
DDoS是(Distributed Denial of Service,分布式拒绝服务)攻击和CC(Challenge Collapsar,挑战黑洞) 攻击是两种常见且具有破坏性的攻击类型,它们可以对网络基础设施和在线业务造成重大损害。为了抵御这些攻击…...
Lnmp架构之mysql数据库实战2
4、mysql组复制集群 一主多从的请求通常是读的请求高于写 ,但是如果写的请求很高,要求每个节点都可以进行读写,这时分布式必须通过(多组模式)集群的方式进行横向扩容。 组复制对节点的数据一致性要求非常高ÿ…...
【软件工程_设计模式Designer Method】三类?23种常用设计模式?-简介-作业一
设计模式?what? what is Design pattern??? 是一套反复被使用的、经过分类编目的、家喻户晓的、代码设计经验的总结。 它是 软件工程的一块基石。 “ 设计模式是软件工程中一种通用的,可复用的一种解决方案…...
信号相关的函数
#include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig); -功能:给任何进程pid,发送任何信号sig 参数: pid: >0:将信号发送给指定的进程 0:将信号发送给当前的进程组 -1:将信号发送…...
matlab实现杨氏双缝干涉实验可视化界面
关于杨氏双缝干涉实验的条纹光强理论推导和matlab绘图可以参考下面的链接:杨氏双缝干涉实验matlab实现 接下来利用GUI实现可视化界面。 一、GUI GUIDE简介 1、在命令行窗口输入小写的guide可以自动弹出fig窗口。 2、界面的左侧是常用的工具,鼠标悬停…...
【SQL】统一训练平台数据库实践--20230927
储存过程vlookup_peopledata_csodtraining 默认导出用今天批次的数据进行join on,先删除过渡表的资料,再将查询结果放在过渡表中。 BEGINDECLARE startdate varchar(50);SET startdate date_format(NOW(),%Y%m%d);DELETE FROM season.csod_data2;INSE…...
全国职业技能大赛云计算赛项---Linux系统调优案例
全国职业技能大赛云计算赛项---Linux系统调优案例 Linux系统调优案例:OpenStack平台调度策略优化:OpenStack平台镜像优化:OpenStack平台I/O优化:OpenStack 平台内存优化:Linux 系统调优-防止SYN 攻击: Linux系统调优案…...
Docker部署ZooKeeper分布式协调服务
1、准备工作 docker pull zookeeper:3.6.3 Pwd"/data/software/zookeeper" mkdir -p ${Pwd}/{logs,data,conf}2、创建TEST容器,将conf目录COPY出来,在映射进去,方便后续维护管理! docker run -itd --name zookeeper z…...
算法 出现次数超过一半的数字-(哈希+摩尔投票)
牛客网: BM51 题目: 数组中只有1个数字出现次数超过一半,找出这个数字 思路: 投票计数vote0, 遍历数组,vote为0时,num赋值为当前值, num与当前值相等时,vote增加, 否则vote减小,只有1个数字出现次数超过一半…...
如何搭建游戏平台?
搭建游戏平台是一个复杂的任务,涉及多个方面的工作。下面是一些关键步骤和注意事项,以帮助您搭建游戏平台: 平台开发:开发游戏平台的关键部分,包括网站或应用程序的开发、数据库设计、用户界面设计、游戏上传和管理工具…...
【华为OD机试python】数字反转打印【2023 B卷|100分】
【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述: 小华是个很有对数字很敏感的小朋友,他觉得数字的不同排列方式有特殊美感。 某天,小华突发奇想,如果数字多行排列,第一行1个数,第二行2个,第三行3个, 即第n行有n个数字,并且奇数行…...
MATLAB配置编译器(包括vs和mingw)
版本:matlab2022b,VS2022,mingw:8.1.0 之前安装好了matlab和vs后,在matlab的命令行输入 mex -setup时,自动找到并且配置好了vs编译器,可能是应为二者安装在了同一个根目录下,比如都在…...
用Python玩转大疆Tello无人机:从键盘控制到手势飞行的保姆级实战教程
用Python玩转大疆Tello无人机:从键盘控制到手势飞行的保姆级实战教程 当第一次看到大疆Tello无人机在室内灵巧地完成翻滚动作时,我就被这个巴掌大的飞行器彻底征服了。作为一款专为编程教育设计的迷你无人机,Tello不仅具备稳定的飞行性能&…...
Pearcleaner终极指南:如何彻底清理Mac应用残留文件
Pearcleaner终极指南:如何彻底清理Mac应用残留文件 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 还在为Mac电脑存储空间不足而烦恼吗ÿ…...
hcom:基于钩子架构的AI编码代理本地编排系统
1. 项目概述:hcom,一个为AI编码代理打造的“中枢神经系统”如果你和我一样,日常开发中重度依赖像Claude Code、Gemini CLI这类AI编码助手,那你肯定遇到过这样的场景:你让Claude在终端A里重构一个模块,同时让…...
Taotoken的Token Plan套餐为长期项目带来了显著的成本优势
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken的Token Plan套餐为长期项目带来了显著的成本优势 对于需要持续调用大模型API的长期项目或团队而言,成本控制是…...
翻转电饼铛生产厂家:高性价比背后的运营策略深度解析
翻转电饼铛生产厂家:高性价比背后的运营策略深度解析“高性价比不是低价竞争,而是让设备价值与企业需求精准匹配”——这是优质翻转电饼铛生产厂家的核心运营逻辑。很多食品企业在选购翻转电饼铛时,既担心高价设备增加成本,又怕低…...
百度网盘秒传链接提取脚本:5分钟终极教程,永久告别文件分享失效烦恼
百度网盘秒传链接提取脚本:5分钟终极教程,永久告别文件分享失效烦恼 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 你是否曾经遇到…...
Simulink Assignment模块实战:如何像写C代码一样更新数组元素?
Simulink Assignment模块实战:从C语言思维到模型化设计的无缝衔接 对于习惯用C语言编写控制算法的工程师来说,第一次接触Simulink的模块化设计往往会感到不适应——尤其是当需要更新数组中的特定元素时。在C语言中,我们只需简单地写下array[2…...
Spring Boot项目对接公司AD域,手把手搞定用户登录和密码重置(附SSL证书避坑指南)
Spring Boot企业级AD域集成实战:从登录到密码重置的全链路解决方案 当企业IT系统发展到一定规模,统一身份认证就成了刚需。上周我接手了一个内部ERP系统的改造项目,要求对接公司Active Directory实现员工单点登录——听起来简单,但…...
Claude代码技能库:AI编程辅助的范式转变与工程实践
1. 项目概述:一个面向Claude的代码技能库最近在AI编程辅助的圈子里,一个名为warren618/claude-code-openclaw-skills的项目引起了我的注意。乍一看这个标题,你可能会有点懵——“Claude”是谁?“OpenClaw”又是什么?这…...
基于RK3568与CODESYS的工业边缘控制器:软PLC如何重塑自动化设备核心
1. 为什么工业自动化需要软PLC? 记得五年前我第一次接触传统PLC时,被它的价格吓了一跳。一台西门子S7-1200基础型号就要上万元,加上各种扩展模块轻松突破两万。更让我头疼的是,每次设备升级都要重新采购硬件,旧设备只能…...
