zookeeper官网地址https://zookeeper.apache.org/

1、卸载CentOS自带的open jdk,安装oracle jdk(1.8)

2、时间同步

#安装ntpdate插件
yum install ntpdate #网络时间同步阿里云,运行指令
ntpdate -u ntp1.aliyun.com

3、关闭防火墙

#关闭当前防火墙服务
systemctl stop firewalld #禁止防火墙服务器 防止开机自启动
systemctl disable firewalld.service #检验防火墙服务是否关闭
systemctl status firewalld.service

4、主机名和ip的映射

#编辑hosts文件
vi /etc/hosts

添加虚拟机ip地址和名称

5、安装Zookeeper

下载解压

#下载
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
#解压
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz

修改配置文件

#配置文件路径
cd apache-zookeeper-3.6.2-bin/conf/ #重命名配置文件
mv zoo_sample.cfg zoo.cfg #编辑配置文件
vi zoo.cfg #修改dataDir参数(第12行)
dataDir=/root/zkdata #在末尾添加 心跳端口 和 选举端口
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888

#创建ZooKeeper在Linux本地存储数据的目录

mkdir -p /root/zkdata

#在zookeeper_data中添加服务器标号文件myid,并添加服务器标号(根据不同的主机号添加标记)

cd /root/zkdata
echo 1 > myid

把node01上的安装包分发到其他机器上

scp -r apache-zookeeper-3.6.2-bin node02:`pwd`
scp -r apache-zookeeper-3.6.2-bin node03:`pwd`

分别在node02、node03上创建zkdata文件夹,添加服务器编号文件myid(注意:更改myid)

配置环境变量

编辑全局环境变量文件

vi /etc/profile

在文件末尾添加以下内容

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/root/apache-zookeeper-3.6.2-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

重新加载配置文件

source /etc/profile

6、ZooKeeper的集群启动、关闭、状态查看

#启动
./bin/zkServer.sh start conf/zoo.cfg #关闭
./bin/zkServer.sh stop #查看状态
./bin/zkServer.sh status

7、一些基础操作

./bin/zkCli.sh

create /lxw "test"

ls /lxw

get -s /lxw

cZxid :Znode创建的事务id。

ctime:节点创建时的时间戳。

mZxid :Znode被修改的事务id,即每次对znode的修改都会更新mZxid。
对于zk来说,每次的变化都会产生一个唯一的事务id,zxid(ZooKeeper Transaction Id)。通过zxid,可以确定更新操作的先后顺序。例如,如果zxid1小于zxid2,说明zxid1操作先于zxid2发生,zxid对于整个zk都是唯一的,即使操作的是不同的znode。

mtime:节点最新一次更新发生时的时间戳。

cversion :子节点的版本号。当znode的子节点有变化时,cversion 的值就会增加1。

dataVersion:数据版本号,每次对节点进行set操作,dataVersion的值都会增加1(即使设置的是相同的数据),可有效避免了数据更新时出现的先后顺序问题。

ephemeralOwner:如果该节点为临时节点, ephemeralOwner值表示与该节点绑定的session id. 如果不是, ephemeralOwner值为0。

在client和server通信之前,首先需要建立连接,该连接称为session。连接建立后,如果发生连接超时、授权失败,或者显式关闭连接,连接便处于CLOSED状态, 此时session结束。

delete /lxw

Zookeeper学习笔记-安装的更多相关文章

  1. ZooKeeper学习笔记(二)——内部原理

    zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化 ...

  2. Zookeeper学习笔记(上)

    Zookeeper学习笔记 本篇主要是一些基本的介绍和API的使用介绍, 有些只是记录了知识点,而没有完全在笔记中详细解释, 需要自行查找资料补充相关概念 主要参考了课程中的内容: Zookeeper ...

  3. ZooKeeper学习笔记一:集群搭建

    作者:Grey 原文地址:ZooKeeper学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.6.3/zookeeperS ...

  4. ZooKeeper学习笔记二:API基本使用

    Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...

  5. ZooKeeper 学习笔记

    ZooKeeper学习笔记 1.   zookeeper基本概念 zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和Habase的重要组件,是为分布式应用提供一致性服 ...

  6. SystemTap 学习笔记 - 安装篇

    https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux ...

  7. ZooKeeper学习笔记(一)——概述

    zookeeper学习笔记(一)--概述 1. 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目.zookeeper从设计模式的角度来理解:是一个基于观察者设计 ...

  8. Zookeeper学习笔记(中)

    Zookeeper学习笔记(中) Zookeeper的基本原理和基本实现 深入了解ZK的基本原理 ZK的一致性: ZAB 协议: Zookeeper 原子消息广播协议 ZK通过选举保证 leader ...

  9. ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心

    作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...

  10. ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁

    作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...

随机推荐

  1. SAS (Statistics Analysis System) 统计分析系统软件

    SAS SAS (Statistical Analysis System) 是一个统计软件系统,由 SAS Institute 开发, 用于数据管理, 高级分析, 多元分析, 商业智能, 刑事调查和预 ...

  2. 【Unity3D】立方体纹理(Cubemap)和天空盒子(Skybox)

    1 立方体纹理(Cubemap) ​ 本文完整资源见 → 立方体纹理(Cubemap)和天空盒子(Skybox) . ​ 1)立方体纹理简介 ​ 立方体纹理是指由上.下.左.右.前.后 6 张纹理组成 ...

  3. 使用JS访问本地数据库

    1 前言 有时候,数据业务比较大,比如查询百万级的数据,如果使用JSP查询数据库,JSP的返回结果一般放在域名后面返回给客户端,而返回结果的长度是有限制的,数据过长可能会丢失部分数据:另一方面数据量大 ...

  4. java generic 介绍

    一 介绍: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的"任意化","任意化"带来的缺点是要做显式的强制类型转换, ...

  5. CSS font-weight

    主要理解UI给得英文名 对应得数值 字体粗细:'font-weight'属性名称: font-weight取值: normal | bold | bolder | lighter | 100 | 20 ...

  6. 推导式,集合推导式,生成器表达式及生成器函数day13

    1.推导式 用一行循环判断遍历处一系列数据的方式 推导式在使用时,只能用for循环和判断,而且判断只能是单项判断 基本语法: lst = [i for i in range(1,51)] print( ...

  7. xadmin后台的安装及配置使用

    安装 pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 在settings.py中注册如下应用 INSTALLED_ ...

  8. 【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面

    问题描述 在App Service Linux环境中,如部署Tomcat 应用后,如果访问的页面找不到,应用会返回一个由Azure生成的404页面,那么是否可以修改它呢? PS: 如果是App Ser ...

  9. 【Azure 服务总线】向服务总线发送消息时,返回错误代码Error code : 50009

    问题描述 使用Java SDK向服务总线(Service Bus)发送消息时,返回这个错误: org.springframework.jms.UncategorizedJmsException: Un ...

  10. 【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】

    记录使用以下的代码获取Azure VM中的IP地址 """Create and manage virtual machines. This script expects ...