zookeeper之环境搭建

加号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

    

相关推荐