首页 > 其他分享 >Zookeeper组件部署

Zookeeper组件部署

时间:2022-10-31 11:46:13浏览次数:42  
标签:bin zookeeper 部署 Zookeeper server ZooKeeper export 组件 集群

Zookeeper组件部署

1 实验目的

掌握ZooKeeper集群安装部署,加深对ZooKeeper相关概念的理解,熟练ZooKeeper的一些常用Shell命令。

2 实验要求

部署三个节点的ZooKeeper集群,通过ZooKeeper客户端连接ZooKeeper集群,并用Shell命令练习创建目录,查询目录等。

3 实验原理

ZooKeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
ZooKeeper是以Fast Paxos算法为基础的。
ZooKeeper集群的初始化过程:集群中所有机器以投票的方式(少数服从多数)选取某一台机器作为leader(领导者),其余机器作为follower(追随者)。如果集群中只有一台机器,那么就这台机器就是leader,没有follower。
ZooKeeper集群与客户端的交互:客户端可以在任意情况下ZooKeeper集群中任意一台机器上进行读操作;但是写操作必须得到leader的同意后才能执行。
ZooKeeper选取leader的核心算法思想:如果某服务器获得N/2 + 1票,则该服务器成为leader。N为集群中机器数量。为了避免出现两台服务器获得相同票数(N/2),应该确保N为奇数。因此构建ZooKeeper集群最少需要3台机器。

4 实验步骤

本实验主要介绍ZooKeeper的部署,ZooKeeper一般部署奇数个节点,部署方法包主要含安装JDK、修改配置文件、启动测试三个步骤。

4.1安装JDK

下载安装JDK。因为 ZooKeeper 服务器在 JVM 上运行。

4.2 修改ZooKeeper配置文件

首先配置master,slave1,slave2之间的免密和各个机器的/etc/hosts文件,在环境搭建界面点击一键搭建即可。
上传 apache-zookeeper-3.5.7-bin.tar.gz 到 /export/software

解压缩到server

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /export/server

修改apache-zookeeper-3.5.7-bin名称为zookeeper

cd /export/server/
mv apache-zookeeper-3.5.7-bin/ zookeeper

修改ZooKeeper的配置文件,步骤如下:
进入解压目录下,把conf目录下的zoo_sample.cfg 复制成zoo.cfg文件。

cd /export/server/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

打开zoo.cfg并修改和添加配置项目,如下:

vim zoo.cfg

修改和添加配置项目

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the port at which the clients will connect
clientPort=2181
# the directory where the snapshot is stored.
dataDir=/export/server/zookeeper/data
dataLogDir=/export/server/zookeeper/logs
server.1=Master.itcast.cn:2888:3888
server.2=Slave1.itcast.cn:2888:3888
server.3=Slave2.itcast.cn:2888:3888

在/export/server/zookeeper目录下创建文件夹data和文件夹log,然后

mkdir -p /export/server/zookeeper/data
mkdir -p /export/server/zookeeper/log

在data目录下创建一个文件:myid。

echo 1 > /export/server/zookeeper/data/myid

将/usr/cstor/zookeeper目录传到另外两台机器上。
拷贝至slave1。

scp -r /export/server/zookeeper  slave1:/export/server

拷贝至slave2。

scp -r /export/server/zookeeper  slave2:/export/server

按照zoo.cfg配置文件中server.后面的数值去不同机器修改myid的内容如下:

master 的myid内容为1
slave1 的myid内容为2
slave2 的myid内容为3

4.3 配置环境变量

3台机器都需要配置环境变量文件

vim /etc/profile

设置ZooKeeper环境变量

#set zookeeoer environment
export ZOOKEEPER_HOME=/export/server/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

保持退出后刷新环境变量

source /etc/profile

4.4 启动ZooKeeper集群

然后,启动ZooKeeper集群,进入客户端验证部署完成。
分别在master,slave1,slave2进入bin目录,启动ZooKeeper服务进程:

cd /export/server/zookeeper/bin
./zkServer.sh start

5 实验结果

各个节点执行jps命令查看Java进程,有QuorumPeerMain进程代表该节点ZooKeeper安装成功,如图所示。
image
进入客户端

cd /export/server/zookeeper/bin
 ./zkCli.sh

在客户端shell下查看ZooKeeper集群目录,输入命令:ls /,查看ZooKeeper集群目录列表结果
image

标签:bin,zookeeper,部署,Zookeeper,server,ZooKeeper,export,组件,集群
From: https://www.cnblogs.com/yuangyaa/p/16843753.html

相关文章

  • Vue组件是怎样挂载的
    我们先来关注一下$mount是实现什么功能的吧:我们打开源码路径core/instance/init.js:exportfunctioninitMixin(Vue:Class<Component>){......initLifec......
  • vue源码分析-动态组件
    前面花了两节的内容介绍了组件,从组件的原理讲到组件的应用,包括异步组件和函数式组件的实现和使用场景。众所周知,组件是贯穿整个Vue设计理念的东西,并且也是指导我们开发的......
  • gitlab+jenkins+harbor+k8s部署微服务-准备工作
    DevOps,字面意思是Development&Operations的缩写,也就是开发&运维。一、Code阶段工具在code阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者......
  • Zookeeper、Eureka、Consul、Nacos对比
    Zookeeper是⼀款经典的服务注册中心产品(虽然它最初的定位并不在于此),在很长⼀段时间里,它是国人在提起RPC服务注册中心时心里想到的唯⼀选择。Eureka借着微服务概念的流......
  • 面试官:你是怎样进行react组件代码复用的
    mixinMixin设计模式Mixin(混入)是一种通过扩展收集功能的方式,它本质上是将一个对象的属性拷贝到另一个对象上面去,可以拷贝多个属性到一个对象上,为了解决代码复用问题。常......
  • 兄弟组件使用中央事件总线进行传值
    兄弟组件使用中央事件总线进行传值 对于非父子组件通讯:使用空实例/中央事件总线.VueX当项目业务复杂程度不高,可以选用中央事件总线解决当项目业务十分庞大时,一......
  • 计算、监听属性与组件化开发与vue-cli
    计算属性1.如果使用{{函数()}},每次页面刷新函数都会执行,会很消耗资源,如果放在computed中,只有变量发生变化,他才重新运算,使用时不需要加括号,{{属性}}即可2.实例<!DOCTYPE......
  • Vue表单输入绑定、组件、插槽的使用(三)
    一、表单输入绑定<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> <linkrel="stylesheet"href="https://stackpath.bootstrapcdn.com/bo......
  • ZooKeeper应用案例
    使用ZooKeeper解决常见的分布式问题,包括leader选举、分布式队列、负载均衡等。1、leader选举基于ZooKeeper实现leader选举的基本思想是,让各个参与竞选的实例同时在ZooKeepee......
  • 微信小程序引入VantUI组件出错
    微信小程序引入VantUI组件出错使用微信小程序引入VantWeappUI组件今天我在用微信小程序时,想借助Vant-UI快速开发页面时,发现按照Vant-ui上的说明一步一步下来,竟然报错了,解......