1 下载zookeeper安装包

下载地址 http://apache.fayea.com/zookeeper/

我下载的是zookeeper-3.4.6.tar.gz

2 解压缩

将zookeeper-3.4.6.tar.gz复制到/usr/local文件夹下

运行命令 tar -zxvf zookeeper-3.4.6.tar.gz

解压后的文件夹为 zookeeper-3.4.6 ,为了方便,将文件夹改为zookeeper。mv zookeeper-3.4.6  zookeeper

3 配置

为模拟3个分布式节点,所以须要创建三个节点的配置文件 zoo1.cfg、zoo2.cfg、zoo3.cfg

cd /usr/local/zookeeper/conf

将zoo_sample.cfg改名为zoo1.cfg

mv zoo_sample.cfg zoo1.cfg

cp zoo1.cfg zoo2.cfg

cp zoo1.cfg zoo3.cfg

zoo1.cfg配置例如以下 (注意以下标红的地方)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

注:上面的hadoop3是我的机器名,能够写成127.0.0.1

zoo2.cfg配置例如以下

zoo3.cfg配置例如以下

创建Zookeeper 保存数据的文件夹

mkdir -p /usr/local/zookeeper/data/zk1

mkdir -p /usr/local/zookeeper/data/zk2

mkdir -p /usr/local/zookeeper/data/zk3

4 配置说明

  • tickTime:这个时间是作为 Zookeeper server之间或client与server之间维持心跳的时间间隔,也就是每一个 tickTime 时间就会发送一个心跳。
  • initLimit:这个配置项是用来配置 Zookeeper 接受client(这里所说的client不是用户连接 Zookeeper server的client,而是 Zookeeper server集群中连接到 Leader 的 Follower server)初始化连接时最长能忍受多少个心跳时间间隔数。

    当已经超过 10个心跳的时间(也就是 tickTime)长度后 Zookeeper server还没有收到client的返回信息,那么表明这个client连接失败。总的时间长度就是 10*2000=20 秒

  • syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息。请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度。总的时间长度就是 5*2000=10秒
  • dataDir:顾名思义就是 Zookeeper 保存数据的文件夹,默认情况下,Zookeeper 将写数据的日志文件也保存在这个文件夹里。

  • clientPort:这个port就是client连接 Zookeeper server的port。Zookeeper 会监听这个port,接受client的訪问请求。

  • server.A=B:C:D:当中 A 是一个数字。表示这个是第几号server;B 是这个server的 ip 地址;C 表示的是这个server与集群中的 Leader server交换信息的port;D 表示的是万一集群中的 Leader server挂了。须要一个port来又一次进行选举。选出一个新的 Leader。而这个port就是用来运行选举时server相互通信的port。假设是伪集群的配置方式,因为 B 都是一样,所以不同的 Zookeeper 实例通信port号不能一样,所以要给它们分配不同的port号。

5 创建节点标识
在/usr/local/zookeeper/data/zk1 、 /usr/local/zookeeper/data/zk3 、/usr/local/zookeeper/data/zk3 三个文件夹下分别创建myid文件
里面分别写1、2、3用于标识第几号server
vi /usr/local/zookeeper/data/zk1
1

vi /usr/local/zookeeper/data/zk1
2

vi /usr/local/zookeeper/data/zk1
3

6 启动zookeeper
cd /usr/local/zookeeper/


7 查看启动状态


能够看到管理节点在3号server上

8 假设想停止server可使用下面命令
./bin/zkServer.sh stop conf/zoo1.cfg 

./bin/zkServer.sh stop conf/zoo2.cfg

./bin/zkServer.sh stop conf/zoo3.cfg

9 验证zookeeper安装的正确性

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

注:因为上面的leader在3号server上,3号server的client连接port是2183

运行成功后:

WATCHER::



WatchedEvent state:SyncConnected type:None path:null

[zk: 127.0.0.1:2183(CONNECTED) 0]

查看帮助:

測试

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

至此,Zookeeper 安装完毕。

zookeeper 伪分布式安装的更多相关文章

  1. zookeeper伪分布式安装

    本文介绍zookeeper伪分布式安装. 所谓 “伪分布式集群” 就是在1台PC中启动多个zookeeper的实例.“完全分布式集群” 是每1台PC启动1个ZooKeeper实例. 由于我的测试环境P ...

  2. Zookeeper 初体验之——伪分布式安装(转)

    原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...

  3. (转)ZooKeeper伪分布式集群安装及使用

    转自:http://blog.fens.me/hadoop-zookeeper-intro/ 前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的 ...

  4. ZooKeeper:win7上安装单机及伪分布式安装

    zookeeper是一个为分布式应用所设计的分布式的.开源的调度服务,它主要用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用,协调及其管理的难度,提高性能的分布式服务. 本章的目的:如何 ...

  5. HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系

    HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,H ...

  6. ZooKeeper伪分布式集群安装及使用

    ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务. 现在硬件越来越 ...

  7. HBase基础和伪分布式安装配置

    一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...

  8. Hadoop大数据初入门----haddop伪分布式安装

    一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...

  9. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

随机推荐

  1. Vue.js学习笔记(一) - 起步

    本篇将简单介绍一下Vue.js,并在Node.js环境下搭建一个简单的Demo. 一.简介 我个人理解,Vue.js是一套前端视图层的框架,它只关心视图展示和数据绑定,它的一些语法与Angular 1 ...

  2. JS几种变量交换方式以及性能分析对比

    前言 "两个变量之间的值得交换",这是一个经典的话题,现在也有了很多的成熟解决方案,本文主要是列举几种常用的方案,进行大量计算并分析对比. 起由 最近做某个项目时,其中有一个需求是 ...

  3. 配置tomcat报错: Unknown version of Tomcat was specified.

    报错原因:路劲没选择对,应选择bin文件夹的上一层目录,也不能选择bin目录

  4. 基于 Laravel 开发博客应用系列 —— 从测试开始(一):创建项目和PHPUnit

    1.创建博客项目 我们将遵循上一节提到的六步创建一个新 Laravel 5.1 项目的步骤,创建本节要用到的博客项目 —— blog. 首先,在本地主机安装应用骨架: nonfu@ubuntu:~/C ...

  5. Scala入门3(特质线性化)

    尝试设计一套特质,灵活的改动整数队列.队列有两种操作:put把整数放入队列,get从尾部取出它们.队列是先进先出的,get应该依照入队列的顺序取数据.提示:可以用mutable.ArrayBuffer ...

  6. Linux软件管理(rpm、yum、tar)

    RPM软件包安装 YUM安装 源代码安装 TAR包管理:实现对文件的备份和压缩 rpm包管理 rpm命令是RPM软件包的管理工具. -a:查询所有套件:-b<完成阶段><套件档> ...

  7. 交换机高级特性MUX VLAN

    MUX VLAN 基本概念 lMUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制. 例如,在企业网络中,企业员工和企业客户可以访问企业的服务器. 对于企业来说 ...

  8. [leetcode tree]96. Unique Binary Search Trees

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  9. python ftp操作脚本&常用函数

    需求:快速进行ftp上传 ,下载,查询文件 原来直接在shell下操作: 需要[连接,输用户名,输密码,单文件操作,存在超时限制] 太过于繁琐,容易操作失败 脚本改进: 一句命令,搞定多文件上传,下载 ...

  10. python可变数据和不可变数据

    可变数据类型:列表list和字典dict: 不可变数据类型:整型int.浮点型float.字符串型string和元组tuple 可变与不可变是相对“引用地址”来说的.python中的不可变数据类型,不 ...