Zookeeper学习笔记-安装
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学习笔记-安装的更多相关文章
- ZooKeeper学习笔记(二)——内部原理
zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化 ...
- Zookeeper学习笔记(上)
Zookeeper学习笔记 本篇主要是一些基本的介绍和API的使用介绍, 有些只是记录了知识点,而没有完全在笔记中详细解释, 需要自行查找资料补充相关概念 主要参考了课程中的内容: Zookeeper ...
- ZooKeeper学习笔记一:集群搭建
作者:Grey 原文地址:ZooKeeper学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.6.3/zookeeperS ...
- ZooKeeper学习笔记二:API基本使用
Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...
- ZooKeeper 学习笔记
ZooKeeper学习笔记 1. zookeeper基本概念 zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和Habase的重要组件,是为分布式应用提供一致性服 ...
- SystemTap 学习笔记 - 安装篇
https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux ...
- ZooKeeper学习笔记(一)——概述
zookeeper学习笔记(一)--概述 1. 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目.zookeeper从设计模式的角度来理解:是一个基于观察者设计 ...
- Zookeeper学习笔记(中)
Zookeeper学习笔记(中) Zookeeper的基本原理和基本实现 深入了解ZK的基本原理 ZK的一致性: ZAB 协议: Zookeeper 原子消息广播协议 ZK通过选举保证 leader ...
- ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...
- ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁
作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...
随机推荐
- paste命令
paste命令 paste命令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [OPTION]... [FILE]... 参数 -d, --delimiters=[LIST]: 用指 ...
- ERROR 1820 (HY000): You must reset your password using ALTER USER statement
新安装好的mysql5.7数据库,用root登录以后执行操作报这个错. 解决方法: mysql> alter user 'root'@'localhost' identified by 'roo ...
- 《深入理解Java虚拟机》(二) GC 垃圾回收机制
@ 目录 一.概述 二.判断对象是否需要被回收方式 1.引用计数法: 2.可达性分析法: 三.垃圾收集算法 1.分代收集理论基础 2.标记-清除算法 3.复制-收集算法 4.标记-压缩(整理)算法 5 ...
- C++ 多线程的错误和如何避免(9)
有时候使用 std::atomic 比使用 mutexes 更高效 问题分析:使用多线程更新一些简单数据时,比如 int 型,bool 型等等,可以使用 std::atomic,这比 mutex 来得 ...
- 【libGDX】加载G3DJ模型
1 前言 libGDX 提供了自己的 3D 格式模型文件,称为 G3D,包含 g3dj(Json 格式)和 g3db(Binary 格式)文件,官方介绍见 → importing-blender- ...
- 麒麟系统开发笔记(五):制作安装麒麟系统的启动U盘、物理机安装麒麟系统以及搭建Qt开发环境
前言 电脑从U盘装麒麟系统,搭建实机Qt开发运行环境. 制作麒麟系统U盘(使用LiveUSB) 步骤一:先准备个至少8GB的U盘 之前购买的一批联想U盘,如下图: 查看U盘: 步 ...
- django学习第七天---创建多表结构,创建第三张表的三种方式,创建模型类时的一些元信息配置,多表增加
图书管理系统作业知识点整理 知识点1: print(request.POST.dict())#dict()方法能将QueryDict类型数据转换为普通字典类型数据 传数据时,可以用**{}打散的方式来 ...
- 【LeetCode哈希表】前k个高频词,利用哈希表+vector进行排序操作
前k个高频词 https://leetcode.cn/problems/top-k-frequent-words/ 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词. ...
- 图数据库实操:用 Nebula Graph 破解成语版 Wordle 谜底
本文首发于 Nebula Graph Community 公众号 春节期间如果有小伙伴玩过 Wordle 这个火爆社交媒体的猜词游戏,可能对成语版本的汉兜有所耳闻.在玩汉兜过程中,我发现用 Nebul ...
- [C++] 代码注入非dll版
目录 前言 需要注意的问题 DLL注入和代码注入区别 代码 解决问题过程 参考 前言 昨天完成了dll注入,今天就完成了代码注入,早知道这个,就应该早点这么做. 需要注意的问题 64位程序只能注入64 ...