单机模式:

1)  首先下载zookeeper压缩包, 这里采用zookeeper3.4.8....

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

  

2)   解压缩

首先创建文件夹,这里放到/user/zookeeper/文件夹下

mkdir zookeeper1

  

mkdir zookeeper2

  

mkdir zookeeper3

创建三个文件夹用于存放三个实例,下面解压到目标文件夹,找到压缩包存放路径,执行下面命令

  

 tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/zookeeper/zookeeper1

  

 tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/zookeeper/zookeeper2

  

 tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/zookeeper/zookeeper3

3)运行单价环境

先来整下zookeeper1这个实例,首先

  

cd zookeeper1/

  利用ll命令, 显示所有文件详情,

drwxr-xr-x. 2 1000 1000 4096 Mar 17 17:27 bin
-rw-rw-r--. 1 1000 1000 83235 Feb 6 11:46 build.xml
-rw-rw-r--. 1 1000 1000 88625 Feb 6 11:46 CHANGES.txt
drwxr-xr-x. 2 1000 1000 4096 Mar 17 17:21 conf
drwxr-xr-x. 10 1000 1000 4096 Feb 6 11:46 contrib
drwxr-xr-x. 2 1000 1000 4096 Feb 6 11:50 dist-maven
drwxr-xr-x. 6 1000 1000 4096 Feb 6 11:49 docs
-rw-rw-r--. 1 1000 1000 1953 Feb 6 11:46 ivysettings.xml
-rw-rw-r--. 1 1000 1000 3498 Feb 6 11:46 ivy.xml
drwxr-xr-x. 4 1000 1000 4096 Feb 6 11:49 lib
-rw-rw-r--. 1 1000 1000 11938 Feb 6 11:46 LICENSE.txt
-rw-rw-r--. 1 1000 1000 171 Feb 6 11:46 NOTICE.txt
-rw-rw-r--. 1 1000 1000 1770 Feb 6 11:46 README_packaging.txt
-rw-rw-r--. 1 1000 1000 1585 Feb 6 11:46 README.txt
drwxr-xr-x. 5 1000 1000 4096 Feb 6 11:46 recipes
drwxr-xr-x. 8 1000 1000 4096 Feb 6 11:49 src
-rw-rw-r--. 1 1000 1000 1360961 Feb 6 11:46 zookeeper-3.4.8.jar
-rw-rw-r--. 1 1000 1000 819 Feb 6 11:50 zookeeper-3.4.8.jar.asc
-rw-rw-r--. 1 1000 1000 33 Feb 6 11:46 zookeeper-3.4.8.jar.md5
-rw-rw-r--. 1 1000 1000 41 Feb 6 11:46 zookeeper-3.4.8.jar.sha1

 cp下配置文件,

mv conf/zoo_sample.cfg conf/zoo.cfg

  启动zk,

 ./bin/zdServer.sh start

4) 使用java 客户端连接ZooKeeper

 ./bin/zkCli.sh -server 127.0.0.1:2181

  然后就可以使用各种命令了,跟文件操作命令很类似,输入help可以看到所有命令。

5)  关闭

./bin/zdServer.sh stop

  

分布式模式(Replicated mode)

ZooKeeper集群一般被称为ZooKeeper ensemble,或者 quorum.

因为我们这里只有一台机器,通过不同端口号,做成伪集群的方式,如果你机器比较多,可以在每个机器上安装一个zk,配置方式是类似。

所谓 “伪分布式集群” 就是在,在一台PC中,启动多个ZooKeeper的实例。“完全分布式集群” 是每台PC,启动一个ZooKeeper实例。

ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.

由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据

将zookeeper2,zookeeper3的配置文件改下,因为zookeeper1在我们做单机时候,已经修改过,在zookeeper2,zookeeper3 conf文件夹下,执行

mv zoo_sample.cfg zoo.cfg

  

创建环境目录

切换到var/zookeeper路径下,新建三个文件夹zookeeper1,zookeeper2,zookeeper3....用于存放pid

mkdir /var/zookeeper/zookeeper1
mkdir /var/zookeeper/zookeeper2
mkdir /var/zookeeper/zookeeper3

分别在   zookeeper1,zookeeper2,zookeeper3 ,新建三个文件 myid

~ echo "1" > /var/zookeeper/zookeeper1/myid
~ echo "2" > /var/zookeeper/zookeeper2/myid
~ echo "3" > /var/zookeeper/zookeeper3/myid

  注意myid只能为数字,因为我试验了下,包含英文的话zk启动不起来,抛出异常

分别修改配置文件
修改:dataDir,clientPort
增加:集群的实例,server.X,”X”表示每个目录中的myid的值

 vi /usr/zookeeper/zookeeper1/conf/zoo.cfg

    

 

# The number of milliseconds of each tick
tickTime=
# The number of ticks that the initial
# synchronization phase can take
initLimit=
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/var/zookeeper/zookeeper1
# the port at which the clients will connect
clientPort=
server.=127.0.0.1::
server.=127.0.0.1::
server.=127.0.0.1::
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=
# Purge task interval in hours
# Set to "" to disable auto purge feature
#autopurge.purgeInterval=

 

以下只贴出不同部分,其他和zk1相同

 vi /usr/zookeeper/zookeeper2/conf/zoo.cfg

 

dataDir=/var/zookeeper/zookeeper2

 

clientPort=2182
 vi /user/zookeeper/zookeeper3/conf/zoo.cfg

  

dataDir=/var/zookeeper/zookeeper3

 

clientPort=2182


启动每台机器
/usr/zookeeper/zookeeper1/bin/zkServer.sh start
/usr/zookeeper/zookeeper2/bin/zkServer.sh start
/usr/zookeeper/zookeeper3/bin/zkServer.sh start

  

查看启动状态

 

centos下zookeeper集群搭建的更多相关文章

  1. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  2. Linux环境下ZooKeeper集群环境搭建关键步骤

    ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...

  3. Centos6下zookeeper集群部署记录

    ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目的 最终一致性:client不论 ...

  4. java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)

    ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...

  5. 分布式架构中一致性解决方案——Zookeeper集群搭建

    当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...

  6. kafka学习(二)-zookeeper集群搭建

    zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...

  7. 分布式协调服务Zookeeper集群搭建

    分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...

  8. Zookeeper 集群搭建--单机伪分布式集群

    一. zk集群,主从节点,心跳机制(选举模式) 二.Zookeeper集群搭建注意点 1.配置数据文件 myid 1/2/3 对应 server.1/2/3 2.通过./zkCli.sh -serve ...

  9. Zookeeper集群搭建以及python操作zk

    一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目 ...

随机推荐

  1. Service的基本组成

    Service与Activity的最大区别就是一有界面,一个没有界面. 如果某些程序操作很消耗时间,那么可以将这些程序定义在Service之中,这样就可以完成程序的后台运行, 其实Service就是一 ...

  2. PLSQL笔记

    /*procedurallanguage/sql*/--1.过程.函数.触发器是pl/sql编写的--2.过程.函数.触发器是在oracle中的--3.pl/sql是非常强大的数据库过程语言--4.过 ...

  3. 介绍Foundation框架

    开始介绍Foundation框架.OC中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现有的类和功能提供给我 ...

  4. eclipse中输入的中文为繁体的问题

    今天在eclipse中编写注释的时候发现,输入的中文都为繁体,且只在eclipse编辑器中为繁体,切换到网页中则为正常. 最后发现,竟然是输入法的shift+ctrl+F快捷键和eclipse的冲突. ...

  5. nginx 几个参数

    worker_processes : When set to 'auto', which is also the default behavior, Tengine will create the s ...

  6. Storm基础理论

    Storm流式计算基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB" ...

  7. requirejs + vue 项目搭建

    以前都是支持 司徒正美 的,毕竟咱们也是跟着 司徒正美 一起走进了前端的世界.所以一般MVVM都是用avalon的,当然也是考虑到项目需要支持IE6,7,8的考虑.当然在用的时候也有一些小坑和bug, ...

  8. 从零开始PHP学习 - 第一天

    写这个系列文章主要是为了督促自己  每天定时 定量消化一些知识! 同时也为了让需要的人 学到点啥~! 本人技术实在不高!本文中可能会有错误!希望大家发现后能提醒一下我和大家! 偷偷说下 本教程最后的目 ...

  9. PyCharm 2016.1 for Mac 激活方法分享

    内容如题,需要就参考一下,不需要请绕行!内容来自墙外我只是搬运工! 简单介绍一下步骤: 1.下载下面的压缩包并解压下来. http://files.cnblogs.com/files/korykim/ ...

  10. 复习-C语言内嵌汇编-初级(1)

    打印hello world并改变变量i的值 # include <stdio.h> int main() { ; __asm__( "mov %0, #4\n" :&q ...