Zookeeper部署与基本使用

2019-03-31 10:29|来源: 网路

在安装ZooKeeper之前,请确保你的系统是在以下任一操作系统上运行:

  • 任意Linux OS - 支持开发和部署。适合演示应用程序。

  • Windows OS - 仅支持开发。

  • Mac OS - 仅支持开发。

ZooKeeper服务器是用Java创建的,它在JVM上运行。你需要使用JDK 6或更高版本。

现在,按照以下步骤在你的机器上安装ZooKeeper框架。


步骤1:验证Java安装

相信你已经在系统上安装了Java环境。现在只需使用以下命令验证它。

$ java -version

如果你在机器上安装了Java,那么可以看到已安装的Java的版本。否则,请按照以下简单步骤安装最新版本的Java。

步骤1.1:下载JDK

通过访问链接下载最新版本的JDK,并下载最新版本的Java

最新版本(在编写本教程时)是JDK 8u 60,文件是“jdk-8u60-linuxx64.tar.gz"。请在你的机器上下载该文件。

步骤1.2:提取文件

通常,文件会下载到download文件夹中。验证并使用以下命令提取tar设置。

$ cd /go/to/download/path
$ tar -zxf jdk-8u60-linux-x64.gz

步骤1.3:移动到opt目录

要使Java对所有用户可用,请将提取的Java内容移动到“/usr/local/java"文件夹。

$ su 
password: (type password of root user)
$ mkdir /opt/jdk
$ mv jdk-1.8.0_60 /opt/jdk/

步骤1.4:设置路径

要设置路径和JAVA_HOME变量,请将以下命令添加到〜/.bashrc文件中。

export JAVA_HOME = /usr/jdk/jdk-1.8.0_60
export PATH=$PATH:$JAVA_HOME/bin

现在,将所有更改应用到当前运行的系统中。

$ source ~/.bashrc

步骤1.5:Java替代

使用以下命令更改Java替代项。

update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_60/bin/java 100

步骤1.6

使用步骤1中说明的验证命令(java -version)验证Java安装。


步骤2:ZooKeeper框架安装

步骤2.1:下载ZooKeeper

要在你的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper。http://zookeeper.apache.org/releases.html

到目前为止,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。

步骤2.2:提取tar文件

使用以下命令提取tar文件

$ cd opt/
$ tar -zxf zookeeper-3.4.6.tar.gz
$ cd zookeeper-3.4.6
$ mkdir data

步骤2.3:创建配置文件

使用命令 vi conf/zoo.cfg 和所有以下参数设置为起点,打开名为 conf/zoo.cfg 的配置文件。

$ vi conf/zoo.cfg

tickTime = 2000
dataDir = /path/to/zookeeper/data
clientPort = 2181
initLimit = 5
syncLimit = 2

一旦成功保存配置文件,再次返回终端。你现在可以启动zookeeper服务器。

步骤2.4:启动ZooKeeper服务器

执行以下命令

$ bin/zkServer.sh start


执行此命令后,你将收到以下响应

$ JMX enabled by default
$ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
$ Starting zookeeper ... STARTED

步骤2.5:启动CLI

键入以下命令

$ bin/zkCli.sh


键入上述命令后,将连接到ZooKeeper服务器,你应该得到以下响应。

Connecting to localhost:2181
................
................
................
Welcome to ZooKeeper!
................
................
WATCHER::
WatchedEvent state:SyncConnected type: None path:null
[zk: localhost:2181(CONNECTED) 0]


停止ZooKeeper服务器

连接服务器并执行所有操作后,可以使用以下命令停止zookeeper服务器。

$ bin/zkServer.sh stop

相关问答

更多
  • 不可以,kafka必须要依赖一个zookeeper集群才能运行。kafka系群里面各个broker都是通过zookeeper来同步topic列表以及其它broker列表的,一旦连不上zookeeper,kafka也就无法工作。
  • ookeeper是什么Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务,使得分布式应用可以基于这些接口实现诸如同步、配置维护和分集群或者命名的服务。zookeeper是一个由多个service组成的集群,一个leader,多个follower,每个server保存一份数据部分,全局数据一致,分布式读写,更新请求转发由leader实施.更新请求顺序进行,来自同一个client的更新请求按 ...
  • 很多使用Zookeeper的情景是需要我们嵌入Zookeeper作为自己的分布式应用系统的一部分来提供分布式服务,此时我们需要通过程序的方式来启动Zookeeper。此时可以通过Zookeeper API的ZooKeeperServerMain类来启动Zookeeper服务。 下面是一个集群模式下启动Zookeeper服务的例子 这里假定我们运行Zookeeper集群的三台机器名分别为fanbinx1,fanbinx2,fanbinx3 首先是zoo.cfg配置文件 [plain] view plain c ...
  • 不可以,kafka必须要依赖一个zookeeper集群才能运行。kafka系群里面各个broker都是通过zookeeper来同步topic列表以及其它broker列表的,一旦连不上zookeeper,kafka也就无法工作。
  • 利用节点名称的唯一性来实现共享锁 ZooKeeper抽象出来的节点结构是一个和unix文件系统类似的小型的树状的目录结构。ZooKeeper机制规定:同一个目录下只能有一个唯一的文件名
  • 部署的意思[2022-11-09]

    部署的意思是: 1. 安排,布置。 2. 军中武官。 3. 元 明 俗语。指拳棒教师或擂台比武的主持人。
  • AbstractZooKeeper.java package com.ccy.zk; import java.io.IOException; import java.util.concurrent.CountDownLatch; import org.apache.log4j.Logger; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.Wa ...
  • Failed to resolve address: zookeeper-3 ... Failed to resolve address: zookeeper-1 Zookeeper最初启动并尝试连接到所有可访问的实例后尝试进行领导者选举。 似乎没有任何实例可以访问。 您可能忘记更新zoo.cfg文件中的条目。 这是默认的zoo.cfg的样子 tickTime=2000 dataDir=/var/lib/zookeeper/ clientPort=2181 initLimit=5 syncLimit=2 ...
  • 这是windows上localhost一个已知问题。 您需要使用容器IP地址。 您可以通过运行命令找到它 docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' 欲了解更多信息,请查看: https : //blog.sixeyed.com/published-ports-on-windows-containers-dont-do-loopback/ OK, finally I found ou ...
  • 您需要在hbase-site.xml中配置zookeeper znode。 zookeeper.znode.parent /hbase 不匹配可能是由于默认配置。 您可以使用zkcli验证ZooKeeper中的可用znode。 You need to configure zookeeper znode in hbase-site.xml. zookeep ...