ZooKeeper伪分布式集群安装

获取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.cfg

tickTime=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.cfg

tickTime=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.cfg

tickTime=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_3

mkdir /usr/zookeeper-3.4.6/logs_1
mkdir /usr/zookeeper-3.4.6/logs_2
mkdir /usr/zookeeper-3.4.6/logs_3

echo "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文件中查看启动失败的日志信息。

查看节点状态

[[email protected] ~]# /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
[[email protected] ~]# /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
[[email protected] ~]# /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() {

            @Override
            public 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的性能和稳定性有好处。
时间: 2024-10-05 09:41:08

ZooKeeper伪分布式集群安装的相关文章

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

转自:http://blog.fens.me/hadoop-zookeeper-intro/ 前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的操作.分布式系统中,服务协作都是跨服务器才能完成的.在ZooKeeper之前,我们对于协作服务大都使用消息中间件,随着分布式系统的普及,用消息中间件完成协作,会有大量的程序开发.ZooKeeper直接面向于分布式系统,可以减少我们自己的开发,帮助我们更好完成分布式系统的数据管理问题. 目录 zook

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

前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的操作.分布式系统中,服务协作都是跨服务器才能完成的.在ZooKeeper之前,我们对于协作服务大都使用消息中间件,随着分布式系统的普及,用消息中间件完成协作,会有大量的程序开发.ZooKeeper直接面向于分布式系统,可以减少我们自己的开发,帮助我们更好完成分布式系统的数据管理问题. 目录 zookeeper介绍 zookeeper单节点安装 zookeeper伪分布式集群安装 zookee

ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架

使用 RMI + ZooKeeper 实现远程调用框架,包括ZooKeeper伪集群安装和代码实现两部分.  一.ZooKeeper伪集群安装: 1>获取ZooKeeper安装包 下载地址:http://apache.dataguru.cn/zookeeper 选择一个稳定版本进行下载,我这里下载的是zookeeper-3.4.6版本. 2>ZooKeeper伪分布式集群安装 伪分布式集群:在一台Server中,启动多个ZooKeeper的实例. 3>上传并解压安装包 4>创建实例

zookeeper伪分布式集群搭建

1.去官网下载zookeeper,我这里用的是3.4.6版本的 2.下载完成解压缩到一个目录 3.因为是伪分布式,所以我创建了3个服务器文件夹,比如server1,server2,server3.每个服务器文件夹下都创建了data,dataLog,logs目录.然后把解压完成的zookeeper拷贝到每个服务器文件夹下面. 4.在每个data目录中创建myid文件,里面写上一个数字,比如1,2, 3,server1就对应1.server2就对应2.server3对应3.这个数字不能重复.表示是服

kafka2.9.2的伪分布式集群安装和demo(java api)测试

1.什么是kafka? kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ.Kafka仅仅由7000行Scala编写,据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB). kafka目前支持多种客户端语言:java,python,c++,php等等. kafka集群的简要图解如下,producer写入消息,consumer读取消息

zookeeper伪分布式集群环境搭建

step1.下载 下载地址:http://zookeeper.apache.org/releases.html 将下载的压缩包放到用户家目录下(其他目录也可以) step2.解压 [plain] view plain copy $tar –zxvf zookeeper-3.4.6.tar.gz 重命名 [plain] view plain copy $mv zookeeper-3.4.6 zookeeper step3.配置 进入zookeeper/conf/目录下,将改目录下的zoo_samp

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

Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和 MapReduce那样.通过利用信息继承,内存侵入,Tachyon获得了高性能.Tachyon工作集文件缓存在内存中,并且让不同的 Jobs/Queries以及框架都能内存的速度来访问缓存文件.因此,Tachyon可以减少那些需要经常使用的数据集通过访问磁盘来获得的次数. 源码下载 源码地址:https://github.com/amplab/tachyon git clone http

搭建zookeeper伪分布式集群

1.安装zookeeper 到/usr/local 2.cd /usr/local/zookeeper 3.cd conf 4.vim zoo.cfg 在最下面添加如下内容 server.1=192.168.123.129:2888:3888 server.2=192.168.123.129:2889:3889 server.3=192.168.123.129:2890:3890 5.cd ../dataDir 6.vim myid 内容 为 1 7. cp zookeeper zookeepe

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

操作系统: MAC OS X 一.准备 1. JDK 1.8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.Hadoop CDH 下载地址:https://archive.cloudera.com/cdh5/cdh/5/ 本次安装版本:hadoop-2.6.0-cdh5.9.2.tar.gz 二.配置SSH(免密码登录) 1.打开iTerm2 终端,输入:ssh