当前位置: 首页 > news >正文

【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上就全部安装完毕。

http://www.lryc.cn/news/177178.html

相关文章:

  • 什么是IoT数字孪生?
  • 俄罗斯四大平台速卖通、Joom、Ozon 和 UMKA中国卖家如何脱颖而出!
  • destoon 调用第三方api接口
  • js中的类型转换
  • Oracle物化视图(Materialized View)
  • Spring 学习(九)整合 Mybatis
  • Android AMS——概述(一)
  • DDoS攻击和CC攻击
  • Lnmp架构之mysql数据库实战2
  • 【软件工程_设计模式Designer Method】三类?23种常用设计模式?-简介-作业一
  • 信号相关的函数
  • matlab实现杨氏双缝干涉实验可视化界面
  • 【SQL】统一训练平台数据库实践--20230927
  • 全国职业技能大赛云计算赛项---Linux系统调优案例
  • Docker部署ZooKeeper分布式协调服务
  • 算法 出现次数超过一半的数字-(哈希+摩尔投票)
  • 如何搭建游戏平台?
  • 【华为OD机试python】数字反转打印【2023 B卷|100分】
  • MATLAB配置编译器(包括vs和mingw)
  • 基本网络协议
  • Tungsten Fabric Rabbitmq故障处理
  • sqlServer 检测慢 sql
  • Mac电脑音视频播放器: Infuse for Mac中文
  • 优化积分商城页面的8个实用技巧
  • Python机器学习实战-特征重要性分析方法(2):内置特征重要性(附源码和实现效果)
  • vue中v-for和v-if同时使用的解决办法
  • 【解决方法】树莓派4B安装wiringpi失败、gpio -v与gpio readall命令not found(arm64架构)
  • oracle 递归
  • SSM - Springboot - MyBatis-Plus 全栈体系(十三)
  • Python|OpenCV-访问并修改图片像素值,鉴别彩色和灰色图像(6)