安装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. 虚拟机安装centos常见问题

    一.centos下载安装 环境:win10系统,虚拟机vm12, centos6.5 http://vault.centos.org/ 链接打开 选择6.5=>isos/=>x86_64= ...

  2. java 二维码生成(可带图片)springboot版

    本文(2019年6月29日 飞快的蜗牛博客) 有时候,男人和女人是两个完全不同的世界,男人的玩笑和女人的玩笑也完全是两码事,爱的人完全不了解你,你也不要指望一个女人了解你,所以男的不是要求别人怎么样, ...

  3. NGINX 负载均衡的理解

    前言 NGINX是轻量级,也是当前比较流行的web服务器软件.体积小但是功能强大. 这里我按照自己的理解,记录下对NGINX负载均衡的认识.(加权均衡,最小连接) 这里参考了 [https://blo ...

  4. 最好用的流程编辑器bpmn-js系列之基本使用

    最好用的流程编辑器bpmn-js系列文章 BPMN(Business Process Modeling Notation)是由业务流程管理倡议组织BPMI(The Business Process M ...

  5. openstack核心组件——neutron网络服务(8)

    云计算openstack核心组件——neutron网络服务(8)   一.neutron 介绍:   Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云 ...

  6. 20190531模拟赛总结&反思

    T1: 来源:Codeforces -  Classroom Watch Describe: 给出一个正整数 n,现在问存在多少个 x,使得  x在十进制下的每一位之和加上 x 等于 n. Solut ...

  7. websocket+sockjs+stompjs详解及实例

    最近有项目需求要用到websocket,刚开始以为很简单,但是随着遇到问题,深入了解,才知道websocket并不是想象中的那么简单,这篇文章主要是考虑websocket在客户端的使用. 1.http ...

  8. IntegerCache的妙用和陷阱!

    考虑下面的小程序,你认为会输出为什么结果? public class Test {     public static void main(String\[\] args) {         Int ...

  9. 使用模拟退火算法优化 Hash 函数

    背景 现有个处理股票行情消息的系统,其架构如下: 由于数据量巨大,系统中启动了 15 个线程来消费行情消息.消息分配的策略较为简单:对 symbol 的 hashCode 取模,将消息分配给其中一个线 ...

  10. 【音乐爬虫】Python爬虫-selenium+browsermob-proxy 解决动态网页 js渲染问题

    1.一般的python爬虫很简单,直接请求对应网址,解析返回的数据即可,但是有很多网站的数据的js动态渲染的,你直接请求是得不到对应的数据的 这时就需要其它手段来处理了. 2.以一个例子来说明,整个过 ...