Zookeeper - 本地安装与参数配置

2023-11-07

目录

零、前置

1.工作机制

2.Zookeeper特点

3.数据结构

一、下载

二、本地安装

1.安装JDK

2.安装Zookeeper

三、运行测试 


很尴尬的一点,手贱把Zookeeper拼错了,大家自己注意一下。。。。当然你也可以选择一直复制我的代码,到搭建集群的时候再带你改回去。

零、前置

1.工作机制

Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。


2.Zookeeper特点

1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。

3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。

5)数据更新原子性,一次数据更新要么成功,要么失败。

6)实时性,在一定时间范围内,Client能读到最新数据。


3.数据结构

ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。


一、下载

下载地址:Apache ZooKeeper

2132f2b8814f4ad0a05d026a7f6034a0.png

 当然咱们在实际环境中不太可能会使用到最新的版本,如果想要找到较老的版本可以点下面的Older releases are available in the archive :

5ea9047e6b14440e8965a3892e2f2845.png

 这里下载的版本是3.5.7,这个版本在实际环境中使用的还是较多的: 

c499161801c04025a4963c57a988d3b8.png

选择下载即可:

3b156ce63cc54d9191a1fbf13b89c272.png


二、本地安装

在安装Zookeeper之前,得先安装好JDK,咱们先来安装JDK:

1.安装JDK

下载JDK:Java Downloads | Oracle

传进Linux后开始安装:

rpm -ivh jdk-8u201-linux-x64.rpm

158be5ef3d3648c3ac1a6b0e49336d2c.png

接着开始配置文件:

vim /etc/profile.d/java.sh

把一下内容粘贴进去,然后保存退出:

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

接着刷新一下(切记):

source /etc/profile.d/java.sh 

检查java版本,反馈如下则代表安装成功:

java -version

32c9bd911f194771abf01c49b3dc21d8.png


2.安装Zookeeper

把刚刚下载的Zookeeper安装包传上去:

609f109b037c448dba9cdbad350bb075.png

 opt 目录下创建一个新的目录 module :

mkdir module

接着开始解压:

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

然后咱们进到 module 目录看看:

cd /opt/module
ll

e7543ce34bfd4f9e85512a61f3033348.png

这里改了下名字,看着会舒服一些:

mv apache-zookeeper-3.5.7-bin/ zookpeer-3.5.7

进入 conf 目录进行配置,可以看到这里有三个文件,需要进行配置的只有第三个:

cd /opt/module/zookpeer-3.5.7/conf

388109669e9c440ab7b9c6c7b68d56eb.png

咱们给他改个名字然后进行配置:

mv zoo_sample.cfg zoo.cfg

然后咱们 vim 进去改一下:

vim zoo.cfg 

可以看到其内容如下:

# The number of milliseconds of each tick
### 通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒
tickTime=2000

# The number of ticks that the initial 
# synchronization phase can take
### Leader和Follower初始通信时限
### Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)
initLimit=10

# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
### Leader和Follower同步通信时限
### Leader和Follower之间通信时间如果超过syncLimit * tickTime,Leader认为Follwer死
掉,从服务器列表中删除Follwer
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
### 保存Zookeeper中的数据
### 默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录
dataDir=/tmp/zookeeper

# the port at which the clients will connect
### 客户端连接端口,通常不做修改
clientPort=2181

可以看到里面的大部分都是注释,其中的参数非常的少,咱们主要来看这一段:

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper

他说快照文件会存放在这里,不要使用临时目录来存储数据。所以很明显了,咱们得把这里改掉。我们先去创建一个目录:

1f02dacc0bfa4e13bb719587ee754b4f.png

然后把这个目录路径复制下来,填到刚刚的配置文件中然后保存退出:

95fb8a0625a54386b58bb9020d95e645.png


三、运行测试 

修改完毕后回到上一级目录 zookpeer-3.5.7 中,这时候咱们得先启动服务端后再去启动客户端:

bin/zkServer.sh start

启动完成后可以 jps 查看一下进程:

9af54b1300a848678b3f17cc8cfd4042.png

服务端启动后咱们需要启动客户端对其进行访问,这里不需要再加上之前的 start :

bin/zkCli.sh 

启动成功后的样式如下: 

6f7438828ac04241814b4c645e317aa7.png

退出时输入 quit 即可:

quit

434c1004cd0d43e196aaad900086cee9.png

使用以下命令可以查看Zookeeper的进程状态:

bin/zkServer.sh status

216fd9b17ff841c5be3970843ea850dd.png

关闭服务端:

bin/zkServer.sh stop

713e1d9da1084868bb27f0a632d29ce7.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zookeeper - 本地安装与参数配置 的相关文章

随机推荐

  • Stable Diffusion:网页版 体验 / AI 绘图

    一 官网地址 Stable Diffusion Online 二 Stable Diffusion AI 能做什么 Stable Diffusion AI绘图是一种基于Stable Diffusion模型的生成式AI技术 能够生成各种类型的
  • 1、Java 语言简介

    Java 语言简介 1 Java 简介 Java是现在最流行的编程语言之一 并且自身拥有庞大且完善的生态系统 但是你不可能要求一门语言实现的功能过多 所以有些时候 Java 不擅长的部分会被其它的语言所顶替 在国内而言 之所以咱们的 Jav
  • nokogiri get html source

    在使用nokogiri進行數據的抓取的時候出現這樣的數據 數據也是抓取到了的 進行驗證即可 而且抓取的數據是已經進行轉換爲nokogiri的數據 需要進行HTML的數據轉換 要學會看官方文檔 學會看api文檔 根據不同的例子進行學習和使用
  • 【静态分析】【系列1-南大软件分析】1.0 导论学习笔记

    文章目录 印象回顾 二刷复习 主要内容 课程说明 本节划重点 个人理解重点和扩展 理解并记忆内容 扩展信息 南大硕士招生信息 印象回顾 昨天看了南大 软件分析 的第一节导论 回忆一下还记得哪些重要内容 此部分回顾不打算纠正 静态分析概念 在
  • 004 数据结构_带头双向循环链表——“C”

    一 前言 上一期博客我们介绍了无头单向非循环链表 这种链表结构虽然简单 但在增删查改上都相较带头双向循环链表麻烦 建议先学习无头单向非循环链表 这种链表在笔试oj题中会出现很多 另外学习这种链表可以训练到我们的思维 这一期我们介绍一种结构虽
  • 编程计算并输出加工资后的员工工资。

    某单位马上要加工资 增加金额取决于工龄和现工资两个因素 对于工龄大于等于20年的 如果现工资高于2000元 加200元 否则加180元 对于工龄小于20年的 如果现工资高于1500 加150元 否则加120元 工龄和现工资从键盘输入 编程计
  • VTK failed after update Lights 16 OpenGL errors detected 错误

    在读取 VTK文件的时候出现如标题错误 代码如下 1 include
  • 【粗频率校正/DPSK/matlab】Discrete-time PSK(离散相移键控)粗细频率校正原理讲解,以及使用matlab代码实现

    当接收机中用于下变频的本振 LO 与发射机中的本振不同步时 通常会发生载波频率偏移 这主要是由于杂质 电气噪声和温差等自然效应 我们需要使用粗或者细频率校正去调整我们接收到的信号 原理解析 粗频率校正 Coarse Frequency co
  • 4,引擎初始化--(5)初始化actor--2,注册ActorComponent(学习资料来源于UE4游戏框架)

    1 将所属world的组件保存到组件中 2 调用组件的OnRegister 函数 初步注册 从内到外如图所示 3 如果该组件是PrimitiveComponent 则在注册后创建一个FPrimitiveSceneProxy 并添加到FSce
  • linux后台执行命令:&和nohup

    当我们在终端或控制台工作时 可能不希望由于运行一个作业而占住了屏幕 因为可能还有更重要的事情要做 比如阅读电子邮件 对于密集访问磁盘的进程 我们更希望它能够在每天的非负荷高峰时间段运行 例如凌晨 为了使这些进程能够在后台运行 也就是说不在终
  • Windows远程deepin系统

    1 deepin安装xrdp软件 apt get install xrdp 注意 出现无法定位软件包错误的 更改deepin源 更改deepin源 跟改源之前最好备份 备份命令cp sources list etc apt sources
  • openpyxl表格

    import openpyxl 引入模块 wb openpyxl Workbook 实例化表格方法 word wb active 把表格赋值给word word A1 1 这样就可以用word来操作表格了 可以写入数据 word B2 LO
  • 使用ddt执行数据驱动测试

    所谓数据驱动测试 简单的理解为数据的改变从而驱动自动化测试的执行 最终引起测试结果的改变 通过使用数据驱动测试的方法 可以在需要验证多组数据测试场景中 使用外部数据源实现对输入输出与期望值的参数化 避免在测试中使用硬编码的数据 这种方法对于
  • eslint报错解决方案:--fix的使用

    vue项目中使用eslint来做代码规范检查时 在每次运行项目后就会指出你代码中的各种不规范的地方 各种红彤彤的报错 我滴妈 虽说不影响项目运行 但是作为一个程序猿 我接受不了 解决方案 遇到问题 不要慌 报错信息放到百度翻译看一看先 可以
  • 实验一:时间数据可视化

    上图代码如下 import pyecharts options as opts from pyecharts charts import Polar Page import csv filename hot dog places csv d
  • [转]详述DHCP服务器的三种IP分配方式

    DHCP就是动态主机配置协议 Dynamic Host Configuration Protocol 它的目的就是为了减轻TCP IP网络的规划 管理和维护的负担 解决IP地址空间缺乏问题 这种网络服务有利于对网络中的客户机IP地址进行有效
  • 函数参数是右值引用类型,能够接受什么样的参数输入

    假设我们有一个函数 class Data void func Data data 那么func能接收什么样的参数输入 情形一 Data data func data Error cannot bind Data lvalue to Data
  • JAVA项目流程

    1 项目启动 1 项目组成立 公司成员 客户成员 2 制定项目预期目标 3 制定项目计划周期 4 建立好项目组成员沟通机制 2 需求调研 1 创建调研计划 协调调研时间 2 收集客户资料 获取客户需求 所有的资料都需要保留一份 资料中存疑的
  • keras的backend 设置 tensorflow,theano

    win7 系统环境安装步骤 1 首先是安装Python 建议安装anaconda 2 安装完anaconda后打开anaconda promp命令行promp 输入conda list 可以看到已经安装的库以及版本等信息 注意此时没有ker
  • Zookeeper - 本地安装与参数配置

    目录 零 前置 1 工作机制 2 Zookeeper特点 3 数据结构 一 下载 二 本地安装 1 安装JDK 2 安装Zookeeper 三 运行测试 很尴尬的一点 手贱把Zookeeper拼错了 大家自己注意一下 当然你也可以选择一直复