安装zookeeper(单机,伪集群)
1.登陆zookeeper官网下载 https://zookeeper.apache.org/
zookeeper-3.4.8.tar.gz
解压:tar -zxvf zookeeper-3.4.8.tar.gz
1.单机
进入conf文件夹 创建一个配置文件zoo.cfg。
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/usr/local/zookeeper/zk/data
- clientPort=2181
前提创建了/usr/local/zookeeper/zk/data文件夹
tickTime:Zookeeper 服务器之间或客户端与服务器之间心跳的时间间隔。
dataDir:Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:Zookeeper 服务器监听端口,用来接受客户端的访问请求。
配置完以后,就可以启动zookeeper服务了,进入Zookeeper/bin目录,运行下面的命令来启动Zookeeper服务
- [root@localhost bin]# ./zkServer.sh start
- ZooKeeper JMX enabled by default
- Using config: /usr/local/software/zookeeper-3.4.8/bin/../conf/zoo.cfg
- Starting zookeeper ... STARTED
默认加载conf名为 zoo.cfg文件,或者可以这样指定文件
- [root@localhost bin]# ./zkServer.sh start ../conf/zoo.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo.cfg
- Starting zookeeper ... STARTED
查看服务状态
- ./zkServer.sh status ../conf/zoo.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo.cfg
- Mode: standalone
使用Zookeeper的客户端来连接并测试了
- $ ./zkCli.sh
- 或
- $ ./zkCli.sh -server 127.0.0.1:2181
连接之后可以时候help来查看有哪些命令可以使用
- [zk: 127.0.0.1:2181(CONNECTED) 0] ls / #查看根节点
- [zookeeper]
- [zk: 127.0.0.1:2181(CONNECTED) 1] create /mykey1 myvalue1 #创建一个新节点mykey1
- Created /mykey1
- [zk: 127.0.0.1:2181(CONNECTED) 2] create /mykey2 myvalue2 #创建一个新节点mykey2
- Created /mykey2
- [zk: 127.0.0.1:2181(CONNECTED) 13] ls / #查看根节点
- [mykey1, mykey2, zookeeper]
- [zk: 127.0.0.1:2181(CONNECTED) 23] get /mykey1 #获取mykey1节点
- myvalue1
- cZxid = 0x6
- ctime = Sat Sep 20 21:00:17 CST 2014
- mZxid = 0x8
- mtime = Sat Sep 20 21:01:06 CST 2014
- pZxid = 0x6
- cversion = 0
- dataVersion = 1
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 9
- numChildren = 0
- [zk: 127.0.0.1:2181(CONNECTED) 23] get /mykey2 #获取mykey2节点
- myvalue2
- cZxid = 0x6
- ctime = Sat Sep 20 21:00:17 CST 2014
- mZxid = 0x8
- mtime = Sat Sep 20 21:01:06 CST 2014
- pZxid = 0x6
- cversion = 0
- dataVersion = 1
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 9
- numChildren = 0
- [zk: 127.0.0.1:2181(CONNECTED) 24] set /mykey1 myvalue11 #获取mykey1节点
- [zk: 127.0.0.1:2181(CONNECTED) 25] set /mykey2 myvalue22 #获取mykey2节点
- [zk: 127.0.0.1:2181(CONNECTED) 26] set /mykey1 #删除mykey1节点
- [zk: 127.0.0.1:2181(CONNECTED) 27] set /mykey2 #删除mykey2节点
2.集群
注意事项
在一台机器上部署了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都不要一样,否则端口冲突
---------------------------------------------
新建3个配置文件
内容如下
zoo1.cfg
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/usr/local/zookeeper/zk1/data
- clientPort=2182
- dataLogDir=/usr/local/zookeeper/zk1/logs
- server.1=localhost:2287:3387
- server.2=localhost:2288:3388
- server.3=localhost:2289:3389
zoo2.cfg
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/usr/local/zookeeper/zk2/data
- clientPort=2183
- dataLogDir=/usr/local/zookeeper/zk2/logs
- server.1=localhost:2287:3387
- server.2=localhost:2288:3388
- server.3=localhost:2289:3389
zoo3.cfg
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/usr/local/zookeeper/zk3/data
- clientPort=2184
- dataLogDir=/usr/local/zookeeper/zk3/logs
- server.1=localhost:2287:3387
- server.2=localhost:2288:3388
- server.3=localhost:2289:3389
每个实例都初始化相应data和log文件,例如zoo1.cfg的
启动 zoo1.cfg ,好像成功了
- [root@localhost bin]# ./zkServer.sh start ../conf/zoo1.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo1.cfg
- Starting zookeeper ... STARTED
查看状态发现,没成功
- [root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo1.cfg
- Error contacting service. It is probably not running.
应该就是zoo1.cfg出错了,原来是配置文件有错误,要么路径错,要么mypid错了
- zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2888:3888中的 1.只要在myid头部写入1即可.
vim myid
同理,为其他两个实例是指myid
在运行完第一条指令之后,会出现一些错误异常,产生异常信息的原因是由于Zookeeper 服务的每个实例都拥有全局配置信息,他们在启动的时候会随时随地的进行Leader选举操作。此时,第一个启动的Zookeeper需要和另外两个 Zookeeper实例进行通信。但是,另外两个Zookeeper实例还没有启动起来,因此就产生了这的异样信息。我们直接将其忽略即可,待把图中“2 号”和“3号”Zookeeper实例启动起来之后,相应的异常信息自然会消失。此时,可以通过下面三条命令,来查询。
- [root@localhost bin]# ./zkServer.sh start ../conf/zoo1.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo1.cfg
- Starting zookeeper ... STARTED
- [root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo1.cfg
- Error contacting service. It is probably not running.
- [root@localhost bin]# ./zkServer.sh start ../conf/zoo2.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo2.cfg
- Starting zookeeper ... STARTED
- [root@localhost bin]# ./zkServer.sh status ../conf/zoo2.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo2.cfg
- Mode: leader
- [root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo1.cfg
- Mode: follower
- [root@localhost bin]# ./zkServer.sh start ../conf/zoo3.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo3.cfg
- Starting zookeeper ... STARTED
- [root@localhost bin]# ./zkServer.sh status ../conf/zoo3.cfg
- ZooKeeper JMX enabled by default
- Using config: ../conf/zoo3.cfg
- Mode: follower
成功
一些命令
- 启动
- ./zkServer.sh start ../conf/zoo1.cfg
- 停止
- ./zkServer.sh stop ../conf/zoo1.cfg
- 查看状态
- ./zkServer.sh status ../conf/zoo1.cfg
- 启动客户端
- ./zkCli.sh -server 127.0.0.1:2181
出,fa
安装zookeeper(单机,伪集群)的更多相关文章
- Zookeeper单机伪集群
Zookeeper单机伪集群 1.配置 zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/ 可以选择需要的版本,我下载的是 ...
- zookeeper(二):linux centos下安装zookeeper(单机和集群)
下载 http://zookeeper.apache.org/releases.html 解压 tar –zxvf zookeeper-3.4.6.tar.gz 解压文件到"/usr/loc ...
- 备忘zookeeper(单机+伪集群+集群)
#下载: #单机模式 解压到合适目录. 进入zookeeper目录下的conf子目录, 复制zoo_sample.cfg-->zoo.cfg(如果没有data和logs就新建):tickTime ...
- ZooKeeper单机伪集群搭建与启动
下载解压 [xiaobai@xiaobai ~]$ tar -zvxf zookeeper-3.4.9.tar.gz 本机ip地址映射 [xiaobai@xiaobai /]$ su - rootPa ...
- 记一次zookeeper单机伪集群分布
zookeeper的各版本(历史版本)下载地址:http://apache.org/dist/zookeeper/ 环境>:linux 下载的zookeeper解压成3个
- zookeeper单机伪集群配置
一.配置 1.在 opt 目录下建一个文件夹 zk,分别把zookeeper 安装包复制三份,命令为zookeeper-0 zookeeper_1 zookeeper_2 2.分别在每一个zook ...
- Zookeeper集群搭建(多节点,单机伪集群,Docker集群)
Zookeeper介绍 原理简介 ZooKeeper是一个分布式的.开源的分布式应用程序协调服务.它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步.配置维护.组和命名服务.它的设 ...
- 【运维技术】Zookeeper单机以及集群搭建教程
Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...
- redis在Windows下以后台服务一键搭建集群(单机--伪集群)
redis在Windows下以后台服务一键搭建集群(单机--伪集群) 一.概述 此教程介绍如何在windows系统中同一台机器上布置redis伪集群,同时要以后台服务的模式运行.布置以脚本的形式,一键 ...
- Rabbit安装(单机及集群,阿里云)
Rabbit安装(单机及集群,阿里云) 前言 虽然我并不是部署人员,但是自己私人测试环境的各类东东还是得自己安装的. 尤其在规模不大的公司,基本安装部署工作都是后端的份内之事. 那么最令人痛苦的,莫过 ...
随机推荐
- 表单:!!!常用JS: form 表单代码
手机(文本框): <input type="text" name="" maxlength="11" placeholder=&quo ...
- Xeon Phi 《协处理器高性能编程指南》随书代码整理 part 1
▶ 第三章,逐步优化了一个二维卷积计算的过程 ● 基准代码 #include <stdio.h> #include <stdlib.h> #include <string ...
- leetcode1
public class Solution { public int[] TwoSum(int[] nums, int target) { ]; ; i < nums.Length; i++) ...
- PHP 设计模式(一)
基础的三种设计模式 工厂模式 为创建对象提供了一个统一的接口,好处是当被创建对象命名空间或者名称改变时,直接修改工厂的创建方法即可 <?php class Factory{ public sta ...
- 0429---每日习题 菲薄纳西数列 正则ip匹配
#8.打印斐波拉契数列前n项 def fib(n): if n==1 or n==2: return 1 return fib(n-1)+fib(n-2) for i in range(1,9): p ...
- java 集合是否有序
参考:https://www.cnblogs.com/hoobey/p/5914226.html
- 如何将R中的data frame对象的数据导入到DB
在使用ARIMA模型来预测我们的销量的时候,如果保存预测版本进DB,以供后续分析呢 1. 在定义变量阶段我们定义了dfResult <- data.frame() 这是一个data f ...
- vue.js+SSH添加和查询
Vue.js 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与 ...
- 基于maven构建javaweb项目思路梳理及改进
需要准备的东西: Jdk. myeclipse. maven包 预装jdk环境 1.maven安装及配置: a) 详见url https://www.cnblogs.com/eagle668 ...
- [Ting's笔记Day1] Ruby on Rails练习- MacOS安装篇
千里之行,始于足下.喊了要学Ruby on Rails好久,今天终于要来迈向第一步:安装了! 一开始学习新的事物,主要就是跟着这个网页所说的步骤step by step. 很喜欢这个网页的设计流程,透 ...