|
Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。
■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境;
■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例;
■ 集群模式:多台物理机上运行多个实例,Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)
1.1 Zookeeper的单机模式搭建
下载ZooKeeper:http://pan.baidu.com/s/1pJlwbR9
或者官网地址 (http://zookeeper.apache.org/releases.html)
解压:tar -zxvf zookeeper-3.4.5.tar.gz 重命名:mv zookeeper-3.4.5 zk
配置文件:在conf目录下删除zoo_sample.cfg文件,创建一个配置文件zoo.cfg。
tickTime=2000
dataDir=/usr/local/zk/data
dataLogDir=/usr/local/zk/dataLog
clientPort=2181
使用的是默认的配置文件
启动ZooKeeper的Server:zkServer.sh start;
关闭ZooKeeper的Server:zkServer.sh stop
1.2 Zookeeper的伪集群模式搭建
在一台机器上部署了3个server,需要注意的是在集群为分布式模式下我们使用的每个配置文档模拟一台机器,也就是说单台机器及上运行多个Zookeeper实例。但是,必须保证每个配置文档的各个端口号不能冲突,除了clientPort不同之外,dataDir也不同。另外,还要在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。
■ clientPort端口:如果在1台机器上部署多个server,那么每台机器都要不同的 clientPort,比如 server1是2181,server2是2182,server3是2183
■ dataDir和dataLogDir:dataDir和dataLogDir也需要区分下,将数据文件和日志文件分开存放,同时每个server的这两变量所对应的路径都是不同的
■ server.X和myid: server.X 这个数字就是对应,data/myid中的数字。在3个server的myid文件中分别写入了0,1,2,那么每个server中的zoo.cfg都配 server.0 server.2,server.3就行了。因为在同一台机器上,后面连着的2个端口,3个server都不要一样,否则端口冲突
下面是我所配置的集群伪分布模式,分别通过zoo1.cfg、zoo2.cfg、zoo3.cfg来模拟由三台机器的Zookeeper集群,代码清单
zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/app/svr/zookeeper/data_1
dataLogDir=/app/svr/zookeeper/datalog_1
clientPort=2181
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
同时 /app/svr/zookeeper/data_1 下面新建myid文件
1 对应配置文件中 server.1 中的 编号1
zoo2.cfg 与 zoo3.cfg 以此类推
启动伪集群
./zkServer.sh start ../conf/zoo1.cfg
其他启动以此类推。
查看运行状态:
./zkServer.sh status ../conf/zoo1.cfg 可以看到是follower or leader
连接集群:
./zkCli.sh -server localhost:2181,localhost:2182,localhost:2183
相关命令
查看 ls / ls /strategy_model/82_2_3_2015
获得内容 get
设置内容 set
删除内容 delete
1.3 Zookeeper的集群模式搭建
集群模式搭建类似,只不过是分布在不同设备上。
|
|