zookeeper的安装与配置
单机模式:
1、首先去官网下载zookeeper的包 zookeeper-3.4.10.tar.gz
2、用FTP上传到服务器或者Linux虚拟机的/usr/local目录下
3、解压文件tar -zxvf zookeeper-3.4.10.tar.gz
4、在conf文件夹下新建zoo.cfg文件,或者使用里面自带的zoo_sample.cfg,重新cp zoo_sample.cfg zoo.cfg
zoo.cfg文件内容:
tickTime=2000
dataDir=/Users/zookeeper/data
dataLogDir=/Users/zookeeper/logs
clientPort=4180
至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:
5、运行server脚本
./zkServer.sh start
6、Server启动之后, 就可以启动client连接server了, 执行脚本:
./zkCli.sh -server localhost:4180
(本次操作还是在本server上操作,你看localhost了嘛)
伪集群模式:
所谓伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例.
1、首先去官网下载zookeeper的包 zookeeper-3.4.10.tar.gz
2、用FTP文上传到/usr/local下
3、解压文件tar -zxvf zookeeper-3.4.10.tar.gz
4、复制3分zookeeper文件
cp -r zookeeper-3.4.10.tar.gz zookeeper0
cp -r zookeeper-3.4.10.tar.gz zookeeper1
cp -r zookeeper-3.4.10.tar.gz zookeeper2

5、在每个zookeeper/conf/新建zoo.cfg文件
① zookeeper0下的zoo.cfg文件
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/Users/zookeeper0/data
dataLogDir=/Users/zookeeper0/logs
clientPort=4180
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
② zookeeper1下的zoo.cfg文件
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/Users/zookeeper1/data
dataLogDir=/Users/zookeeper1/logs
clientPort=4181
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
③ zookeeper2下的zoo.cfg文件
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/Users/zookeeper2/data
dataLogDir=/Users/zookeeper2/logs
clientPort=4182
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
发现只有dataDir和dataLogDir还有clientPort这三个参数不一致,其他参数完全一致。
6、在这三个datadir配置的路径下/Users/zookeeper0、1、2上增加myid文件,里面依次填上0、1、2。
数字0、1、2和每个conf/zoo.cfg中的server.0、server.1、server.2的数字一一对应,让zookeeper知道你是哪个server


7、分别给这3个zookeeper节点开启服务
./zkServer.sh start
开启后,最好每个zookeeper都查看状态看一下服务是否启动:(因为start的启动的信息不准确)
./zkServer.sh status
8、用客户端连接:
在任意一台server端,执行:
./zkCli.sh -server localhost:
看到以下信息,就恭喜你成功了。

集群模式:
集群模式, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样(是所有都一样)
他们的zookeeper的conf下的zoo.cfg文件为:
tickTime=
initLimit=
syncLimit=
dataDir=/home/zookeeper/data
dataLogDir=/home/zookeeper/logs
clientPort=
server.=10.1.39.43::
server.=10.1.39.44::
server.=10.1.39.45::
部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.44, 10.1.39.45上。
各server的dataDir目录下的myid文件中的数字必须不同。
10.1.39.43 server的myid为1
10.1.39.44 server的myid为2
10.1.39.45 server的myid为3
至此,所有的安装与部署就都搞定了。
------------------------------------------------------------------------------
下面还有一些知识点:
ZooKeeper服务命令:
在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作
- 1. 启动ZK服务: sh bin/zkServer.sh start
- 2. 查看ZK服务状态: sh bin/zkServer.sh status
- 3. 停止ZK服务: sh bin/zkServer.sh stop
- 4. 重启ZK服务: sh bin/zkServer.sh restart
zoo.cfg配置详解:
tickTime:Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每个tickTime 时间就会发送一个心跳。
dataDir:Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
initLimit:Leader和Follower初始化连接时最长能忍受多少个心跳时间间隔数。总的时间长度就是 5*2000=10 秒。
syncLimit:Leader 与 Follower之间发送消息,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒。
server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
myid文件:
除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个server。
server.1=10.1.39.43:2888:3888,很多人不理解为啥后面有两个端口?解释一下:
2888:标识这个服务器与集群中的leader服务器交换信息的端口
3888:leader挂掉时专门用来进行选举leader所用的端口
zookeeper的安装与配置的更多相关文章
- ZooKeeper的安装、配置、启动和使用(一)——单机模式
ZooKeeper的安装.配置.启动和使用(一)——单机模式 ZooKeeper的安装非常简单,它的工作模式分为单机模式.集群模式和伪集群模式,本博客旨在总结ZooKeeper单机模式下如何安装.配置 ...
- ZooKeeper 的安装和配置---单机和集群
如题本文介绍的是ZooKeeper 的安装和配置过程,此过程非常简单,关键是如何应用(将放在下节及相关节中介绍). 单机安装.配置: 安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个 ...
- Zookeeper的安装的配置
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt192 安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个 ...
- 初识zookeeper(1)之zookeeper的安装及配置
初识zookeeper(一)之zookeeper的安装及配置 1.简要介绍 zookeeper是一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件,是一个树型的目录服务,支持变更推送. ...
- 浅谈 zookeeper 原理,安装和配置
当前云计算流行, 单一机器额的处理能力已经不能满足我们的需求,不得不采用大量的服务集群.服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,那么这些信息如何推送到各个节点?并且 ...
- Zookeeper的安装与配置、使用
Dubbo的介绍 如果表现层和服务层是不同的工程,然而表现层又要调用服务层的服务,肯定不能像之前那样,表现层和服务层在一个项目时,只需把服务层的Java类注入到表现层所需要的类中即可,但现在,表现层和 ...
- zookeeper之一 安装和配置(单机+集群)
这里我以zookeeper3.4.10.tar.gz来演示安装,安装到/usr/local/soft目录下. 一.单机版配置 1.安装和配置 #.下载 wget http://apache.fayea ...
- 初识zookeeper(一)之zookeeper的安装及配置
1.简要介绍 zookeeper是一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件,是一个树型的目录服务,支持变更推送.除此还可以用作dubbo服务的注册中心. 2.安装 2.1 下 ...
- Linux系统下zookeeper的安装和配置
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
随机推荐
- 如何在Windows系统下安装Linux虚拟机
先安装虚拟机这个软件,然后在虚拟机里装linux. 1,准备,下载VM虚拟机,链接: http://pan.baidu.com/s/1z79oU 密码: vbap.和linux镜像文件,可以下载ubu ...
- 自然梯度(Natural Gradient)
自然梯度(Natural Gradient)
- 轻量级操作系统FreeRTOS的内存管理机制(一)
本文由嵌入式企鹅圈原创团队成员朱衡德(Hunter_Zhu)供稿. 近几年来,FreeRTOS在嵌入式操作系统排行榜中一直位居前列,作为开源的嵌入式操作系统之一,它支持许多不同架构的处理器以及多种编译 ...
- [转]DevExpress GridControl 关于使用CardView的一点小结
最近项目里需要显示商品的一系列图片,打算用CardView来显示,由于第一次使用,遇到许多问题,发现网上这方面的资源很少,所以把自己的一点点实际经验小结一下,供自己和大家以后参考. 1.选择CardV ...
- Unity 脚本中各种[XXX]的用法
1.[SerializeField]在Inspector中显示非public属性,并且序列化:若写在public修饰的字段前,相当于没写,Unity会自动为Public变量做序列化,序列化的意思是说再 ...
- Linux基础(7)
Linux 基础(7) 一.内存的监控(free) free -m 以单位为MB的方式查看内存的使用情况(free命令读取的文件是/proc/meminfo) total:是指计算机安装的内存总量 u ...
- struts2中struts.xml 放置路径的问题
在搭建struts2项目时如果在web.xml中不指定struts.xml文件的路径,struts2会默认到/WEB-INF/classes中寻找加载其配置文件的,但我就是想把struts的配置文件放 ...
- HTC开放Vive Tracker代码啦!
(52VR网2017年5月2日)HTC正在为工作室创建的Vive Tracker项目发布教程和项目文件,作为VR开发人员的新资源. 该公司希望能够让更多的开发者能够在开发Vive VR耳机时制作自己的 ...
- Linux中批量添加文件和修改文件小笔记
1.#使用通配符批量创建5个文件 $ touch file{1..10}.txt 2.#批量修改这五个后缀名为.txt的文本文件名重命名为.c后缀名结尾的文件 $ rename 's/\.txt/\. ...
- C#基础之------委托
一.委托的基本介绍 可以任务委托是持有一个或多个方法的对象.当然,正常情况下你不会去执行一个对象,但是委托与对象不同.可以执行委托,这是委托就会执行他所"持有"的方法. 举个栗子就 ...