hudyang 2017-04-07
1.下载zookeeper
http://zookeeper.apache.org/releases.html
我下载的是zookeeper-3.4.9.tar.gz
2.解压 tar -zxvf zookeeper-3.4.9.tar.gz
3.ZooKeeper软件的文件和目录
bin目录 zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。 conf目录 配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。 lib zk依赖的包。 contrib目录 一些用于操作zk的工具包。 recipes目录 zk某些用法的代码示例
4.conf zoo.cfg说明
tickTime 时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2 * tickTime是客户端会话的超时时间。 tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。 clientPort zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。 dataDir 无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。
5.启动
windows不说了
在Linux环境下,进入bin目录,执行命令 ./zkServer.sh start
这个命令使得zk服务进程在后台进行。如果想在前台中运行以便查看服务器进程的输出日志,可以通过以 下命令运行:./zkServer.sh start-foreground
执行此命令,可以看到大量详细信息的输出,以便允许查看服务器发生了什么。
使用文本编辑器打开zkServer.cmd或者zkServer.sh文件,可以看到其会调用zkEnv.cmd或者zkEnv.sh脚本。zkEnv脚本的作用是设置zk运行的一些环境变量,例如配置文件的位置和名称等。
客户端连接 bin/zkCli.sh -server 192.168.0.1:2181
报错了
[root@localhost zookeeper-3.4.9]# bin/zkCli.sh - server 127.0.0.1:2181 Connecting to localhost:2181 2017-04-07 11:08:30,578 [myid:] - INFO [main:Environment@100] - Client environ ment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT 2017-04-07 11:08:30,706 [myid:] - INFO [main:Environment@100] - Client environ ment:host.name=localhost.localdomain 2017-04-07 11:08:30,709 [myid:] - INFO [main:Environment@100] - Client environ ment:java.version=1.4.2 2017-04-07 11:08:30,710 [myid:] - INFO [main:Environment@100] - Client environ ment:java.vendor=Free Software Foundation, Inc. 2017-04-07 11:08:30,711 [myid:] - INFO [main:Environment@100] - Client environ ment:java.home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre 2017-04-07 11:08:30,713 [myid:] - INFO [main:Environment@100] - Client environ ment:java.class.path=/opt/zookeeper-3.4.9/bin/../build/classes:/opt/zookeeper-3 .4.9/bin/../build/lib/*.jar:/opt/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1 .jar:/opt/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper-3.4.9/b in/../lib/netty-3.10.5.Final.jar:/opt/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.j ar:/opt/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/opt/zookeeper-3.4.9/bin/.. /zookeeper-3.4.9.jar:/opt/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/opt/zookee per-3.4.9/bin/../conf: 2017-04-07 11:08:30,715 [myid:] - INFO [main:Environment@100] - Client environ ment:java.library.path=/usr/lib/gcj-4.1.1 2017-04-07 11:08:30,716 [myid:] - INFO [main:Environment@100] - Client environ ment:java.io.tmpdir=/tmp 2017-04-07 11:08:30,717 [myid:] - INFO [main:Environment@100] - Client environ ment:java.compiler=<NA> 2017-04-07 11:08:30,718 [myid:] - INFO [main:Environment@100] - Client environ ment:os.name=Linux 2017-04-07 11:08:30,720 [myid:] - INFO [main:Environment@100] - Client environ ment:os.arch=i386 2017-04-07 11:08:30,722 [myid:] - INFO [main:Environment@100] - Client environ ment:os.version=2.6.18-8.el5xen 2017-04-07 11:08:30,724 [myid:] - INFO [main:Environment@100] - Client environ ment:user.name=root 2017-04-07 11:08:30,725 [myid:] - INFO [main:Environment@100] - Client environ ment:user.home=/root 2017-04-07 11:08:30,726 [myid:] - INFO [main:Environment@100] - Client environ ment:user.dir=/opt/zookeeper-3.4.9 2017-04-07 11:08:30,729 [myid:] - INFO [main:ZooKeeper@438] - Initiating clien t connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apa che.zookeeper.ZooKeeperMain$MyWatcher@49470 Exception in thread "main" java.lang.NoClassDefFoundError: java.util.concurrent .CopyOnWriteArraySet at org.apache.zookeeper.ClientCnxn.<init>(ClientCnxn.java:133) at org.apache.zookeeper.ClientCnxn.<init>(ClientCnxn.java:359) at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:447) at org.apache.zookeeper.ZooKeeperMain.connectToZK(ZooKeeperMain.java:281) at org.apache.zookeeper.ZooKeeperMain.<init>(ZooKeeperMain.java:296) at org.apache.zookeeper.ZooKeeperMain.main(ZooKeeperMain.java:289) [root@localhost zookeeper-3.4.9]# [root@localhost zookeeper-3.4.9]# [root@localhost zookeeper-3.4.9]#
显然是jdk么安装啊 java.lang.NoClassDefFoundError: java.util.concurrent.CopyOnWriteArraySet
废话不多说下载jdk然后安装,操作就不记录了
ZooKeeper支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取ZooKeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向ZooKeeper提交相应的命令