为什么80%的码农都做不了架构师?>>>   

获取ZooKeeper安装包

下载地址:http://apache.dataguru.cn/zookeeper

选择一个稳定版本进行下载,我这里下载的是zookeeper-3.4.6版本。

ZooKeeper伪分布式集群安装

伪分布式集群:在一台Server中,启动多个ZooKeeper的实例。

上传并解压安装包

cd /usr
rz -by
tar xf zookeeper-3.4.6.tar.gz

创建实例配置文件

cd zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg

修改配置文件

实例1的配置:

vi zoo1.cfgtickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/d_1
clientPort=2181
dataLogDir=/usr/zookeeper-3.4.6/logs_1
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

实例2的配置:

vi zoo2.cfgtickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/d_2
clientPort=2182
dataLogDir=/usr/zookeeper-3.4.6/logs_2
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

实例3的配置:

vi zoo3.cfgtickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/d_3
clientPort=2183
dataLogDir=/usr/zookeeper-3.4.6/logs_3
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

准备启动环境

mkdir /tmp/zookeeper/d_1
mkdir /tmp/zookeeper/d_2
mkdir /tmp/zookeeper/d_3mkdir /usr/zookeeper-3.4.6/logs_1
mkdir /usr/zookeeper-3.4.6/logs_2
mkdir /usr/zookeeper-3.4.6/logs_3echo "1" > /tmp/zookeeper/d_1/myid
echo "2" > /tmp/zookeeper/d_2/myid
echo "3" > /tmp/zookeeper/d_3/myid

启动集群

/usr/zookeeper-3.4.6/bin/zkServer.sh start zoo1.cfg
/usr/zookeeper-3.4.6/bin/zkServer.sh start zoo2.cfg
/usr/zookeeper-3.4.6/bin/zkServer.sh start zoo3.cfg

查看是否启动成功

jps#看到类似下面的进程就表示3个实例均启动成功
13419 QuorumPeerMain
13460 QuorumPeerMain
13561 Jps
13392 QuorumPeerMain#如果未成功启动,可以到zookeeper.out文件中查看启动失败的日志信息。

查看节点状态

[root@localhost ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh status zoo1.cfg
JMX enabled by default
Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo1.cfg
Mode: follower
[root@localhost ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh status zoo2.cfg
JMX enabled by default
Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo2.cfg
Mode: leader
[root@localhost ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh status zoo3.cfg
JMX enabled by default
Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo3.cfg
Mode: follower#发现实例2为leader,实例1和实例3均为follower

至此,一个ZK的伪分布式集群搭建完毕。

Java客户端测试

需要引入zookeeper-3.4.6.jar和slf4j-api-1.61.jar这两个jar包。

package com.cjw.demo;import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;public class ZooKeeperClient {public static void main(String[] args) throws Exception {Watcher watcher = new Watcher() {@Overridepublic void process(WatchedEvent event) {System.out.println(event.toString());}};ZooKeeper zk = new ZooKeeper("192.168.157.22:2181", 3000, watcher);System.out.println("====创建节点");zk.create("/cjw", "znode1".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println("====查看节点是否安装成功");System.out.println(new String(zk.getData("/cjw", false, null)));System.out.println("====修改节点的数据");zk.setData("/cjw", "cjw2015".getBytes(), -1);System.out.println("====查看修改的节点是否成功");System.out.println(new String(zk.getData("/cjw", false, null)));System.out.println("====删除节点");zk.delete("/cjw", -1);System.out.println("====查看节点是否被删除");System.out.println("节点状态:" + zk.exists("/cjw", false));zk.close();}
}

运行结果:

====创建节点
WatchedEvent state:SyncConnected type:None path:null
====查看节点是否安装成功
znode1
====修改节点的数据
====查看修改的节点是否成功
cjw2015
====删除节点
====查看节点是否被删除
节点状态:null

配置文件说明

initLimit: follower连接并同步到leader的初始化连接时间,它是通过tickTime的倍数表示。当初始化连接时间超过设置的时间时,则连接失败。syncLimit: follower和leader之间发送消息时请求和应答的时间长度,如果follower在设置的时间范围内不能和leader通信,那么该follower将被丢弃,它也是按tickTime的倍数进行配置的。tickTime: 定义心跳的时间间隔,注:zk的client和server之间也有和web开发类似的session的概念,而zk里最小的session过期时间就是tickTime的两倍dataDir: 存储在内存中数据库快照功能。clientPort: 监听客户端连接的端口号dataLogDir: zk运行的相关日志写入目录,设定了配置,那么dataLog里日志的目录将无效,专门的日志存放路径,对zk的性能和稳定性有好处。

转载于:https://my.oschina.net/vbird/blog/384043

ZooKeeper伪分布式集群安装相关推荐

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

    为什么80%的码农都做不了架构师?>>>    ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在V ...

  2. linux上部署最新版本zookeeper伪分布式集群

    1.环境准备 centos7系统,VM安装centos可参考还不会使用linux?快来通过VMware安装centos系统吧~ zookeeper安装包 SecureCRT 2.zookeeper简介 ...

  3. zookeeper伪分布式集群搭建

    zookeeper集群搭建注意点: 配置数据文件myid1/2/3对应server.1/2/3 通过zkCli.sh -server [ip]:[port]检测集群是否配置成功. 第一步:首先我们将我 ...

  4. Hadoop集群安装部署_伪分布式集群安装_02

    文章目录 一.解压安装 1. 安装包上传 2. 解压hadoop安装包 二.修改Hadoop相关配置文件 2.1. hadoop-env.sh 2.2. core-site.xml 2.3. hdfs ...

  5. Hadoop集群安装部署_伪分布式集群安装_01

    文章目录 一.配置基础环境 1. 设置静态ip 2. hostname 3. firewalld 4. ssh免密码登录 5. JDK 一.配置基础环境 1. 设置静态ip [root@bigdata ...

  6. Tachyon 0.7.1伪分布式集群安装与测试

    Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和 MapReduce那样.通过利用信息继承,内存侵入,Tachyon获得了高性能.Tachy ...

  7. Mac Hadoop2.6(CDH5.9.2)伪分布式集群安装

    操作系统: MAC OS X 一.准备 1. JDK 1.8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...

  8. ZooKeeper布式集群安装及使用

    前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的操作.分布式系统中,服务协作都是跨服务 器才能完成的.在ZooKeeper之前,我们对于协作服 ...

  9. SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)

    SolrCloud 分布式集群安装部署 安装软件包准备 · apache-tomcat-7.0.54 · jdk1.7 · solr-4.8.1 · zookeeper-3.4.5 注:以上软件都是基 ...

最新文章

  1. 【青少年编程】【一级】 奔跑的马
  2. html的换行问题(未解决)
  3. 鸿蒙os系统被推送,鸿蒙来了!华为大规模推送鸿蒙OS系统,造成网站一度瘫痪...
  4. RUNOOB python练习题 39 数组排序
  5. 2021 Chrome Devtools 新特性
  6. poj 3026 BorgMaze 最小生成树Kruskal、Prim(Prim VS报错待解决
  7. 解决安卓SDK更新连不通问题
  8. OpenCV-camShift 算法
  9. html中什么用来表示特殊字符引号,HTML特殊字符显示
  10. java 感想_Java课程感想
  11. 在家怎么自制雪糕 自制雪糕怎么做
  12. 【高等数学如何学,做题方法,期末突击】
  13. Android Studio报错Could not find any version that matches com.android.support:appcompat-v7:33.+.
  14. 文本的检测、识别实战:使用 Tesseract 进行 OpenCV OCR 和文本识别
  15. 数据库--MYSQL高级(多表),数据库的完整性,约束,数据类型,多表实现 CRUD 操作
  16. MySQL:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  17. coreseek php接口,筹建coreseek(sphinx+mmseg3)详细安装配置+php之sphinx扩展安装+php调用示例...
  18. 360随身WIFI作USB无线网卡使用教程
  19. 笔记本通过hdmi连接显示器分辨率设置
  20. 简约木板背景论文答辩PPT模板

热门文章

  1. The J2EE Architect's Handbook讀書筆記(二)
  2. vijos 1512 SuperBrother打鼹鼠
  3. uiautomator环境搭建所遇问题汇总
  4. C# 连接数据库 Sql Server
  5. 【kafka】confluent_kafka重置offset
  6. 优化改良版:数组,List,等集合需要加逗号或其它符合转成字符串
  7. 洛谷 1303——A*B Problem
  8. I/O多路复用之epoll(转)
  9. 【LeetCode】121.买卖股票的最佳时机
  10. JAVA调用R语言之Rserve(二)