zookeeper概述,安装和配置
来源:互联网 发布:淘宝客用返利网推广 编辑:程序博客网 时间:2024/05/22 13:58
一、背景
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步,配置管理,集群管理,名空间。
二、安装和配置
Zookeeper的安装和配置比较简单,既可以配置成单机模式,伪集群模式和集群模式,下面分别对这三种模式进行说明:
(1)、下载zookeeper
官方下载地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
(2)、单机模式
单机模式较简单,是指只部署一个zk进程,客户端直接与该zk进程进行通信。
在开发测试环境下,通过来说没有较多的物理资源,因此我们常使用单机模式。当然在单台物理机上也可以部署集群模式,但这会增加单台物理机的资源消耗。故在开发环境中,我们一般使用单机模式。 但是要注意,生产环境下一般不可用单机模式,这是由于无论从系统可靠性还是读写性能,单机模式都不能满足生产的需求。
运行配置
- 解压到某个目录下,如 /data/zookeeper/;
- 拷贝解压后的conf目录下的zoo_sample.cfg文件,重命名为zoo.cfg;
- 修改默认的配置,配置如下:
tickTime=2000dataDir=/data/zookeeper/tmp/datadataLogDir=/data/zookeeper/tmp/logclientPort=2181
参数说明:
tickTime: zookeeper中使用的基本时间单位, 毫秒值.
dataDir: 数据目录. 可以是任意目录.
dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
clientPort: 监听client连接的端口号.
至此,单机模式的zookeeper已经配置完毕,下面启动即可,启动server 只需运行脚本:
bin/zkServer.sh start
Server启动之后, 就可以启动client连接server了, 执行脚本:
bin/zkCli.sh -server localhost:2181
(3)、伪集群模式
所谓伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例.
1、将zookeeper的目录拷贝2份,分别解压到三个目录下,如
/data/zookeeper/zServer1,/data/zookeeper/zServer2,/data/zookeeper/zServer3
2、创建每个目录下的conf/zoo.cfg配置文件,如/data/zookeeper/zServer1/conf/zoo.cfg 内容如下:
tickTime=2000initLimit=10syncLimit=5dataDir=/data/zookeeper/zServer1/tmp/datadataLogDir=/data/zookeeper/zServer1/tmp/logclientPort=2181server.1=127.0.0.1:2287:3387server.2=127.0.0.1:2288:3388server.3=127.0.0.1:2289:3389
其他的/data/zookeeper/zServer2/confzoo.cfg /data/zookeeper/zServer3/confzoo.cfg,与zServer1的相同
注意:
因为是在一台机器上模拟集群,所以端口不能重复,这里用2181~2183,2287~2289,以及3387~3389相互错开。另外每个zk的instance,都需要设置独立的数据存储目录、日志存储目录,所以dataDir、dataLogDir这二个节点对应的目录,需要手动先创建好。
3、另外还有一个关键的设置,在每个zk server配置文件的dataDir所对应的目录下,必须创建一个名为myid的文件,其中的内容必须与zoo.cfg中server.x 中的x相同,即:
- /data/zookeeper/zServer1/data/myid 中的内容为1,对应server.1中的1
- /data/zookeeper/zServer2/data/myid 中的内容为2,对应server.2中的2
- /data/zookeeper/zServer3/data/myid 中的内容为3,对应server.3中的3
生产环境中,分布式集群部署的步骤与上面基本相同,只不过因为各zk server分布在不同的机器,上述配置文件中的localhost换成各服务器的真实Ip即可。
分布在不同的机器后,不存在端口冲突问题,可以让每个服务器的zk均采用相同的端口,这样管理起来比较方便。
4、启动验证
进入每个zServer的bin/目录下执行 zServer.sh start进行启动,若已启动,请杀掉进程后启动。
启动成功后,执行jps查看进程,或用zServer.sh status查看状态
(4)、集群模式
集群模式与伪集群模式的配置基本相同,由于集群模式是分布在不同的机器上,因此各server的conf/zoo.cfg文件可以完全一样.
下面是一个配置实例:
tickTime=2000 initLimit=5 syncLimit=2 dataDir=/home/zookeeper/data dataLogDir=/home/zookeeper/logs clientPort=4180 server.43=10.1.39.43:2888:3888 server.47=10.1.39.47:2888:3888 server.48=10.1.39.48:2888:3888
示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.
10.1.39.43 server的myid为43, 10.1.39.47 server的myid为47, 10.1.39.48 server的myid为48.
- zookeeper概述,安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper 安装和配置
- Zookeeper安装和配置
- zookeeper安装和配置
- 有序列表
- JAVA文档注释1.1
- 采用SpringBoot+freemaker搭建项目
- ise工程移植到vivado中
- 一些很有用的 PHP 代码片段
- zookeeper概述,安装和配置
- GridView三种适配器加点击事件《个人笔记》
- 读写操作非常频繁的时候提高读的效率
- 先验概率、似然函数与后验概率
- 也许终将不再遗留成回忆
- 练习5:新浪微博
- spring的定时任务
- weka:调用内置算法挖掘数据关联规则
- 状态模式——对象行为型模式