ZooKeeper 实践一:Standalones模式安装

ZooKeeper介绍

在单机中,系统协作大都是进程级的操作。分布式系统中,服务协作都是跨服务器才能完成的。在ZooKeeper之前,我们对于协作服务大都使用消息中间件,随着分布式系统的普及,用消息中间件完成协作,会有大量的程序开发。

Apache ZooKeeper 是由Apache Hadoop的子项目发展而来,于2010年11月正式成为了Apache的顶级项目。ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。

系统环境(本次环境)
准备一台Linux服务器,系统要求如下:
Linux: CentOS 6.5 64bit Server
Java: 1.7.0_60 64-Bit Server VM
ZooKeeper 使用Java语言编写,运行环境需要Java环境的支持,建议使用JDK1.6以上版本。Java环境请自行配置。

下载ZooKeeper
本次使用的版本:zookeeper-3.4.5.tar.gz
将安装文件解压至某一目录:/usr/zookeeper-3.4.5

#tar zxvf zookeeper-3.4.5.tar.gz

配置ZooKeeper
1)创建数据目录

#mkdir /var/zookeeperdata

2)修改配置文件
因为ZooKeeper启动时默认加载名为zoo.cfg配置文件,所以需要将提供了zoo_sample.cfg复制一份并命名为zoo.cfg。当然,启动时也可使用指定配置文件

#cd /usr/zookeeper-3.4.5/conf
#cp zoo_sample.cfg zoo.cfg    
#vi zoo.cfg
 tickTime=2000
 initLinmit=10
 syncLimit=5
 dataDir=/var/zookeeperdata    
 clientPort=2181    

此处修改dataDir参数值为上一步创建的ZooKeeper数据目录路径

3)设置ZooKeeper环境变量(可选操作,方便操作,推荐配置)

#vi /etc/profile

export ZOOKEEPER_HOME=/usr/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

启动ZooKeeper
1)认识zkServer.sh脚本

#zkServer.sh
JMX enabled by default
Using config: /usr/zookeeper-3.4.5/bin/../conf/zoo.cfg
Usage: /usr/zookeeper-3.4.5/bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

2)运行脚本,启动ZooKeeper

#zkServer.sh start     
JMX enabled by default
Using config: /usr/zookeeper-3.4.5/bin/../conf/zoo.cfg
Stooping zookeeper … STARTED

也可使用指定配置文件,如:

#zkServer.sh start zoo.cfg
#zkServer.sh start z1.cfg

查看运行状态

#zkServer.sh status
JMX enabled by default
Using config: /usr/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: standalone

数据目录文件结构

/var/zookeeperdata
├── version-2
│   └── snapshot.0
└── zookeeper_server.pid

停止ZooKeeper

#zkServer.sh stop
JMX enabled by default
Using config: /usr/zookeeper-3.4.5/bin/../conf/zoo.cfg
Stooping zookeeper … STOPPED
原文地址:https://www.cnblogs.com/clongxiang/p/4321552.html