安装zookeeper(单机,伪集群):
 
 1.下载
# 进入目录
cd /usr/local/src/        
 
# 下载
wget https://mirror.bit.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.8-bin.tar.gz
 
# 解压
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
 
cp -R apache-zookeeper-3.5.8-bin /usr/local/zookeeper
 
cd /usr/local/zookeeper/
 
2.单机安装
mkdir -p /usr/local/zookeeper/zk/data
进入conf文件夹 创建一个配置文件zoo.cfg。
vim zoo.cfg
 
 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zk/data
clientPort=2181
前提创建了/usr/local/zookeeper/zk/data文件夹
 
 
tickTime:Zookeeper 服务器之间或客户端与服务器之间心跳的时间间隔。
dataDir:Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:Zookeeper 服务器监听端口,用来接受客户端的访问请求。
 
配置完以后,就可以启动zookeeper服务了,进入Zookeeper/bin目录,运行下面的命令来启动Zookeeper服务
[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/software/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
默认加载conf名为 zoo.cfg文件,或者可以这样指定文件
[root@localhost bin]# ./zkServer.sh start ../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo.cfg
Starting zookeeper ... STARTED
 
查看服务状态
./zkServer.sh status ../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo.cfg
Mode: standalone
 
 使用Zookeeper的客户端来连接并测试了
 
cd /usr/local/zookeeper/bin
./zkCli.sh
./zkCli.sh -server 127.0.0.1:2181
连接之后可以时候help来查看有哪些命令可以使用
 
 
[zk: 127.0.0.1:2181(CONNECTED) 0] ls / #查看根节点
[zookeeper]
[zk: 127.0.0.1:2181(CONNECTED) 1] create /mykey1 myvalue1 #创建一个新节点mykey1
Created /mykey1
[zk: 127.0.0.1:2181(CONNECTED) 2] create /mykey2 myvalue2 #创建一个新节点mykey2
Created /mykey2
[zk: 127.0.0.1:2181(CONNECTED) 13] ls / #查看根节点
[mykey1, mykey2, zookeeper]
[zk: 127.0.0.1:2181(CONNECTED) 23] get /mykey1 #获取mykey1节点
myvalue1
cZxid = 0x6
ctime = Sat Sep 20 21:00:17 CST 2014
mZxid = 0x8
mtime = Sat Sep 20 21:01:06 CST 2014
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0
[zk: 127.0.0.1:2181(CONNECTED) 23] get /mykey2 #获取mykey2节点
myvalue2
cZxid = 0x6
ctime = Sat Sep 20 21:00:17 CST 2014
mZxid = 0x8
mtime = Sat Sep 20 21:01:06 CST 2014
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0
[zk: 127.0.0.1:2181(CONNECTED) 24] set /mykey1 myvalue11 #获取mykey1节点
[zk: 127.0.0.1:2181(CONNECTED) 25] set /mykey2 myvalue22 #获取mykey2节点
[zk: 127.0.0.1:2181(CONNECTED) 26] set /mykey1 #删除mykey1节点
[zk: 127.0.0.1:2181(CONNECTED) 27] set /mykey2 #删除mykey2节点
 
 3.集群搭建
在一台机器上部署了3个server,需要注意的是在集群为分布式模式下我们使用的每个配置文档模拟一台机器,也就是说单台机器及上运行多个Zookeeper实例。但是,必须保证每个配置文档的各个端口号不能冲突,除了clientPort不同之外,dataDir也不同。另外,还要在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。
■ clientPort端口:如果在1台机器上部署多个server,那么每台机器都要不同的 clientPort,比如 server1是2181,server2是2182,server3是2183
■ dataDir和dataLogDir:dataDir和dataLogDir也需要区分下,将数据文件和日志文件分开存放,同时每个server的这两变量所对应的路径都是不同的
■ server.X和myid: server.X 这个数字就是对应,data/myid中的数字。在3个server的myid文件中分别写入了0,1,2,那么每个server中的zoo.cfg都配 server.0 server.2,server.3就行了。因为在同一台机器上,后面连着的2个端口,3个server都不要一样,否则端口冲突
 ---------------------------------------------
新建3个配置文件
cd /usr/local/zookeeper/conf
 vim  zoo1.cfg
 第二个端口是投票选举用的端口  第一个 leader和follow交换信息端口
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zk1/data
clientPort=2182
dataLogDir=/usr/local/zookeeper/zk1/logs
 
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
vim zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zk2/data
clientPort=2183
dataLogDir=/usr/local/zookeeper/zk2/logs
 
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
vim zoo3.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zk3/data
clientPort=2184
dataLogDir=/usr/local/zookeeper/zk3/logs
 
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
 
 每个实例都初始化相应data和log文件,例如zoo1.cfg的
mkdir -p /usr/local/zookeeper/zk1/data
mkdir -p /usr/local/zookeeper/zk1/logs
echo 1 > /usr/local/zookeeper/zk1/data/myid
 
mkdir -p /usr/local/zookeeper/zk2/data
mkdir -p /usr/local/zookeeper/zk2/logs
echo 2 > /usr/local/zookeeper/zk2/data/myid
 
mkdir -p /usr/local/zookeeper/zk3/data
mkdir -p /usr/local/zookeeper/zk3/logs
echo 3 > /usr/local/zookeeper/zk3/data/myid
 
 
 
启动  zoo1.cfg ,好像成功了
[root@localhost bin]# ./zkServer.sh start ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Starting zookeeper ... STARTED
查看状态发现,没成功
[root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Error contacting service. It is probably not running.
应该就是zoo1.cfg出错了,原来是配置文件有错误,要么路径错,要么mypid错了
zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2888:3888中的 1.只要在myid头部写入1即可.
 
 
在运行完第一条指令之后,会出现一些错误异常,产生异常信息的原因是由于Zookeeper 服务的每个实例都拥有全局配置信息,他们在启动的时候会随时随地的进行Leader选举操作。此时,第一个启动的Zookeeper需要和另外两个 Zookeeper实例进行通信。但是,另外两个Zookeeper实例还没有启动起来,因此就产生了这的异样信息。我们直接将其忽略即可,待把图中“2 号”和“3号”Zookeeper实例启动起来之后,相应的异常信息自然会消失。此时,可以通过下面三条命令,来查询。
 
[root@localhost bin]# ./zkServer.sh start ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Error contacting service. It is probably not running.
[root@localhost bin]# ./zkServer.sh start ../conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo2.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status ../conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo2.cfg
Mode: leader
[root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Mode: follower
[root@localhost bin]# ./zkServer.sh start ../conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo3.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status ../conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo3.cfg
Mode: follower
 
/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo1.cfg
/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo2.cfg
/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo3.cfg
 
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zoo1.cfg
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zoo2.cfg
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zoo3.cfg
 
4 设置快速重启脚本
 
vim restart.sh
 
#!/bin/bash
/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo1.cfg
/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo2.cfg
/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo3.cfg
 
 
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zoo1.cfg
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zoo2.cfg
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zoo3.cfg
 
 
 
 
chmod +x restart.sh
 
./restarat.sh 
 
 
5 客户端连接 
/usr/local/zookeeper/bin/zkCli.sh --server=127.0.0.1:2182
 
/usr/local/zookeeper/bin/zkCli.sh --server=127.0.0.1:2183
 
/usr/local/zookeeper/bin/zkCli.sh --server=127.0.0.1:2184
 
/usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2182,127.0.0.1:2183,127.0.0.1:2184
 
 
 
 

zookeeper-(单机,伪集群)的更多相关文章

  1. Zookeeper单机伪集群

    Zookeeper单机伪集群 1.配置 zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/ 可以选择需要的版本,我下载的是 ...

  2. 备忘zookeeper(单机+伪集群+集群)

    #下载: #单机模式 解压到合适目录. 进入zookeeper目录下的conf子目录, 复制zoo_sample.cfg-->zoo.cfg(如果没有data和logs就新建):tickTime ...

  3. ZooKeeper单机伪集群搭建与启动

    下载解压 [xiaobai@xiaobai ~]$ tar -zvxf zookeeper-3.4.9.tar.gz 本机ip地址映射 [xiaobai@xiaobai /]$ su - rootPa ...

  4. 记一次zookeeper单机伪集群分布

    zookeeper的各版本(历史版本)下载地址:http://apache.org/dist/zookeeper/ 环境>:linux 下载的zookeeper解压成3个

  5. zookeeper单机伪集群配置

    一.配置 1.在 opt 目录下建一个文件夹 zk,分别把zookeeper 安装包复制三份,命令为zookeeper-0  zookeeper_1  zookeeper_2 2.分别在每一个zook ...

  6. Zookeeper集群搭建(多节点,单机伪集群,Docker集群)

    Zookeeper介绍 原理简介 ZooKeeper是一个分布式的.开源的分布式应用程序协调服务.它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步.配置维护.组和命名服务.它的设 ...

  7. 【运维技术】Zookeeper单机以及集群搭建教程

    Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...

  8. redis在Windows下以后台服务一键搭建集群(单机--伪集群)

    redis在Windows下以后台服务一键搭建集群(单机--伪集群) 一.概述 此教程介绍如何在windows系统中同一台机器上布置redis伪集群,同时要以后台服务的模式运行.布置以脚本的形式,一键 ...

  9. zookeeper安装和配置(单机+伪集群+集群)

    #单机模式 解压到合适目录. 进入zookeeper目录下的conf子目录, 复制zoo_sample.cfg-->zoo.cfg(如果没有data和logs就新建):tickTime=2000 ...

  10. 单机zookeeper部署伪集群

    1.zookeeper介绍 ZooKeeper 是一个为分布式应用所设计的分布的.开源的协调服务.分布式的应用可以建立在同步.配置管理.分组和命名等服务的更高级别的实现的基础之上. ZooKeeper ...

随机推荐

  1. 蓝奏网盘API

    蓝奏云网盘API 2.0 基于Python3实现,最强的蓝奏云API~ 蓝奏云注册 更新说明 修复了登录时 formhash 错误的问题 解决了多次上传大文件被限制的问题 #3 细化 API 接口的功 ...

  2. 内置函数:循环调用函数map和filter

    1.map:循环调用函数,前面一定一定要加list,要不然不会被调用 map的格式:list(map(函数名,循环体)) #这里的函数只能写函数名,不要加() list(map(os.mkdir,[' ...

  3. [程序员代码面试指南]字符串问题-回文最少分割数(DP)

    问题描述 给定一个字符串,输出把它全部切成回文子串的最小分割数. 例:str="ACDCDCDAD",输出2. 解题思路 DP 存储结构 dp数组dp[len+1],dp[i]表示 ...

  4. NOIP2017 Day1 T1 小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小凯想知道在无法准确支付的物品中,最贵的价 ...

  5. SpringCloud OpenFeign Post请求的坑

    在微服务开发中SpringCloud全家桶集成了OpenFeign用于服务调用,SpringCloud的OpenFeign使用SpringMVCContract来解析OpenFeign的接口定义. 但 ...

  6. JVM--垃圾回收GC篇

    Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收. Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于 ...

  7. php处理的图片无法进CDN缓存

    今天发现线上有个问题,线上一个图片域名,在前端已经加了CDN缓存,不落缓存,则用PHP动态实现图片缩放,但经PHP处理过的图片输出后,每次都要从后端读取,后端服务器压力瞬间增加,经分析,PHP中没有作 ...

  8. JAVA之代理1JDK

    代理主要有JDK的代理以及CGLIB的代理 代理方式 实现 优点 缺点 特点 JDK静态代理 代理类与委托类实现同一接口,并且在代理类中需要硬编码接口 实现简单,容易理解 代理类需要硬编码接口,在实际 ...

  9. zookeeper(4) 网络

    zookeeper底层通过NIO进行网络传输,如果对NIO不是很熟悉,先参见java NIO.下面我们来逐步实现基于NIO的zookeeper实现,首先我们要定义应用层的通信协议. 传输协议 请求协议 ...

  10. hystrix(1) 概述

    首先我们来讲一下hystrix解决什么问题.在大型分布式系统中经常会存在下面的几类问题: 1.大型分布式系统中,服务之间相互依赖,如果依赖的服务发生异常,那么当前服务也会出现异常,这样将会导致联级的服 ...