加号Jaryn笔录 2017-04-07
如果帮到您了,请支付宝首页输入548980984领个红包,支持下!
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然后安装这里参考他人博客
引用地址: http://www.cnblogs.com/shihaiming/p/5809553.html
Linux下安装jdk8步骤详述 作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考。 0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上) 1. 登录Linux,切换到root用户 su root 获取root用户权限,当前工作目录不变(需要root密码) 或 sudo -i 不需要root密码直接切换成root(需要当前用户密码) 2. 在usr目录下建立java安装目录 cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz拷贝到java目录下 cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/ 4.解压jdk到当前目录 tar -zxvf jdk-8u60-linux-x64.tar.gz 得到文件夹 jdk1.8.0_60 5.安装完毕为他建立一个链接以节省目录长度 (我没用这一步) ln -s /usr/java/jdk1.8.0_60/ /usr/jdk 6.编辑配置文件,配置环境变量 vim /etc/profile 添加如下内容:JAVA_HOME根据实际目录来 JAVA_HOME=/usr/java/jdk1.8.0_60 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH 7.重启机器或执行命令 :source /etc/profile sudo shutdown -r now 8.查看安装情况 java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode) 可能出现的错误信息: bash: ./java: cannot execute binary file 出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk, 查看jdk版本和Linux版本位数是否一致。 查看你安装的Ubuntu是32位还是64位系统: sudo uname --m i686 //表示是32位 x86_64 // 表示是64位
解决权限问题参见http://www.joyphper.net/article/201303/185.html
ZooKeeper支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取ZooKeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向ZooKeeper提交相应的命令