Zookeeper学习(二) 安装和四字命令

前言

在刚开始没有接触zookeeper的具体应用前,光看别人的描述,其实对它的实际应用其实不是特别清晰,所以慢慢从其基础应用开始了解其底层原理是很重要也是很必要的。

首先,安装Zookeeper并了解一下Zookeeper的基础命令。这个过程是非常简单的,正如zookeeper官网说的,zookeeper是可复制的,安装zookeeper的集群其实就是安装多个单机版的zookeeper,然后通过配置让每个zookeeper起来。因此,Zookeeper的安装有下列几种:

  1. 单机Zookeeper
  2. 单机多Zookeeper示例
  3. Zookeeper集群

其实之前在公司项目里就研究过Zookeeper的使用,并在team的wiki里把zookeeper的安装过程和在项目里的使用信息在wiki中分享了,这里把当时的安装过程翻译(公司wiki是英文写的),分享一下,并介绍一下zookeeper的基础命令。在下一章介绍中会做一个简单的demo介绍下zookeeper的基础API的使用,同时也会简单说说我们当时在项目中是如何使用zookeeper的。

单机安装

1. 环境

centos7, Java 1.8(Zookeeper要求Java不低于1.6的版本)

并且Zookeeper必须要2GB的RAM和80GB硬盘空间。

2. 下载Zookeeper

Zookeeper版本查看:Zookeeper Releases

我们项目中使用的版本是:Release 3.4.11(stable) ; Archive网址:Zookeeper 3.4.11

cmd: wget?https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz

3. 解压

把下载的Zookeeper解压成binary文件。

cmd:?tar -zxvf zookeeper-3.4.11.tar.gz

4. 具体操作

  • 进入解压后zookeeper的文件夹,然后进入conf文件夹。这时候会发现有一个zoo_sample.cfg文件。
  • 复制zoo_sample.cfg并生成一个新的名为zoo.cfg的文件。

  • 编辑zoo.cfg。

    • 把zoo.cfg中dataDir的值改为一个已经有的文件夹,在我们当时的测试环境中我们设置的值是dataDir=/var/lib/zookeeperdataDir是存放内存数据库快照的位置; 默认情况下,事务日志也会存储在这里。
    • tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
    • dataLogDir: 事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。
    • clientPort:客户端连接server的端口,即对外服务端口,一般默认为2181。
    • 总参数的详解:Zoo.cfg 参数介绍

5. 启动Zookeeper

进入Zookeeper目录下的bin目录,开始启动zookeeper并查看Zookeeper的状态。

启动Zookeeper cmd:?./zkServer.sh start

查看Zookeeper状态 cmd:?./zkServer.sh status

如果没有启动成功,可以查看zookeeper根目录下的zookeeper.out文件。

6. 使用Zookeeper客户端连接服务器端

在zookeeper根目录下的bin目录下,有zkCli.sh文件,这就是Zookeeper的客户端。可以使用zookeeper的客户端来连接服务器端。

cmd:?./zkCli.sh -server IP:PORT

IP:PORT不填写为默认连接本机Zookeeper。

使用quit可以退出和服务期端的连接。

搭建Zookeeper集群

现在我们在一台机器上搭建好了zookeeper,这个过程也是非常简单的。

而Zookeeper的集群需要2*n+1个实例,所以要搭建一个最简单的zookeeper的集群,需要三个实例。那么现在有两种方案:

  1. 在单台机器上安装三个zookeeper实例。但是有几个条件需要保证:

    1. dataDir需要设置成不同的文件夹;
    2. clientPort需要不同;
    3. dataLogDir需要设置成不同的文件夹(如果有的话);
    4. server.x及后面的端口号需要不同(后面会详细介绍)。
  2. 在三台机器上安装三个独立的zookeeper。

还记得之前的dataDir吗?进入你设置的dataDir目录,新建一个名为myid的文件。文件如其名,myid里含有一行文本,其含义也就是这个机器在Zookeeper集群里的id。这个id不能大于255。如果是在一台机器上创建了多个zookeeper实例,和在多台机器上安装多个zookeeper是一样,去到它们对应的dataDir文件夹,分别给每一个建一个myid文件就可以了,但是要保证里面的id值不一样。

然后分别编辑每一个zookeeper的zoo.cfg文件,在他们的最后加上server.x=ip:port1:port2这样格式的配置。这样说有点不清楚,举个例子配上图片就清楚啦。

现在假设安装的三个zookeeper在对应的myid里设置的id值为1,2,3,对于其中任意一个zookeeper的实例,它们的x值就是它们在myid里设置的id值,并且ip也要和实例对应起来,儿后面的port1,port2不仅要不一样,同时也不能和之前的clientPort一样,之前我配置的时候吧port1和clientPort配置成一样的了导致一直失败。一定要注意!!!

可以看一下我的配置,记得在每一个实例的zoo.cfg中都要配置哦!

看最下面红框里面的部分,马赛克的部分就是对应的ip,千万记得三个端口不能有重复!

重启zookeeper

在每一台机器上重启zookeeper服务(./zkserver restart),你可能会发现重启的时候zookeeper会报连接不通的错误,别着急,把所有的启动完~

启动完之后去看每一台的状态,这时候就会有下图中的状态:

这个是zookeeper集群中的leader。

这是集群中的follower。

Zookeeper的四字命令

zookeeper四字命令的官网介绍:四字命令

下面是每一个操作的返回样例:

原文地址:https://www.cnblogs.com/gongcomeon/p/9337468.html

时间: 2024-10-07 02:38:30

Zookeeper学习(二) 安装和四字命令的相关文章

【转】zookeeper之 zkServer.sh命令、zkCli.sh命令、四字命令

[FROM]https://www.cnblogs.com/andy6/p/7674028.html 一.zkServer.sh 1.查看 zkServer.sh 帮助信息 [[email protected] bin]# ./zkServer.sh help ZooKeeper JMX enabled by default Using config: /bigdata/zookeeper-3.4.10/bin/../conf/zoo.cfg Usage: ./zkServer.sh {star

zookeeper 四字命令的shi yong

Linux中的命令NetCat有"瑞士军刀"的美誉.我们可以通过nc命令查看Zookeeper的一行属性数据.在Zookeeper中有很多四字命令,汇总如下: 序号 使用命令 输出说明  1 echo conf | nc 10.9.3.253 2181  输出Zookeeper相关服务的详细配置信息,如客户端端口,数据存储路径.最大连接数.日志路径.数据同步端口.主节点推举端口.session超时时间等等  2 echo cons | nc 10.9.3.253 2181  输出连接到

zookeeper 四字命令

ZooKeeper3.4.6支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令. 其中stat.srvr.cons三个命令比较类似:"stat"提供服务器统计和客户端连接的一般信息:"srvr"只有服务的统计信息,"cons"提供客户端连接的更加详细的信息. 使用方式,在shell终端输入:echo

ZooKeeper 学习之 安装 部署

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用. Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等.核心词就是一个,协调. 下面实践安装来学习下,分为独立部署.集群部署 一.下载安装 wget -c http://www.eu

Zookeeper详解-安装(四)

ZooKeeper服务器是用Java创建的,它在JVM上运行.你需要使用JDK 6或更高版本. 步骤1:验证Java安装 相信你已经在系统上安装了Java环境.现在只需使用以下命令验证它. $ java -version 如果你在机器上安装了Java,那么可以看到已安装的Java的版本.否则,请按照以下简单步骤安装最新版本的Java. 步骤1.1:下载JDK 通过访问链接下载最新版本的JDK,并下载最新版本的Java. 最新版本(在编写本教程时)是JDK 8u 60,文件是"jdk-8u60-l

Linux学习笔记(十四)--命令学习(vi的基本使用)

本博客中linux大部分内容是参考:鸟哥的私房菜     如各位有需要的,请参考:http://vbird.dic.ksu.edu.tw/linux_basic/linux_basic.php 上面我们已经知道了大部分Linux基本内容 1.查看系统信息 2.文件与目录查看 3.文件创建 4.文件权限属性 5.用户创建与删除 6.压缩包的打包与解包 现在要进行文件编辑等操作的学习. Linux 中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了

Neo4j数据库学习一:安装和数据类型常用命令简介

Neo4j数据库是图数据库 在数据库中,只有节点Nodes和关系Relationships Nodes用圆圈表示,Relationships用有向箭头表示 关系和节点都有属性(键值对) 安装3.3.7版本 注意:需要系统有jdk8配置,没有请先安装jdk8,楼主这里已经安装过jdk8 3.3.7下载地址: https://neo4j.com/download-thanks/?edition=community&release=3.3.7&flavour=unix&_ga=2.208

zookeeper工作原理、安装配置、工具命令简介

1 Zookeeper简介Zookeeper 是分布式服务框架,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等等.2 zookeeper基本概念2.1角色Zookeeper中的角色主要有以下三类,如下表所示: 系统模型如图所示: 2.2设计目的1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能.2 .可靠性:具有简单.健壮.良好的性能,如果消息m被到一台服务器

ZooKeeper学习第三期---Zookeeper命令操作

转:http://www.cnblogs.com/sunddenly/p/4031881.html 一.Zookeeper的四字命令 Zookeeper支持某些特定的四字命令字母与其的交互.他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息.用户在客户端可以通过telnet或nc向Zookeeper提交相应的命令.Zookeeper常用的四字命令见下图所示. 上图,是Zookeeper四字命令的一个简单用例. [[email protected] ~]# echo ruok