ZooKeeper linux下安装与配置

1.配置java环境变量

    这部分主要分为两个内容,一是卸载OpenJDK,二是安装Sun JDK。

1.1卸载OpenJDK

1.1.1 查看Linux自带的JDK是否已安装

    安装好的CentOS会自带OpenJDK,用命令java -version,会有如下信息:

java version "1.6.0"

OpenJDK  Runtime Environment (build 1.6.0-b09)

OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

    最好先卸载掉OpenJDK,然后在安装sun公司的JDK。

    使用命令查看 rpm -qa | grep java,显示如下信息:

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

1.1.2 卸载

#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

    如果出现找不到OpenJDK source的话,那么还可以这样卸载:

#yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

#yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

1.2 安装JDK

1.2.1 安装

笔者安装的是JDK1.9,下载链接,jdk-9.0.1_linux-x64_bin.tar.gz。将jdk-9.0.1_linux-x64_bin.tar.gz解压到任意目录,下面是笔者的示例:

#tar -zxvf jdk-8u65-linux-i586.tar.gz -C /usr/local/

1.2.2 配置环境变量

# vi /etc/profile 

    在最后加入以下几行: 

export JAVA_HOME=/usr/java/jdk1.6.0_10 

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

export PATH=$PATH:$JAVA_HOME/bin 

    #reboot   重启机器配置生效,若不重启,则需每打开一个控制窗口,就需要调用 #source /etc/profile 命令,使配置生效,所以重启比较好。

    用命令java -version,会有如下信息:

[root@CentOS6 zookeeper-3.4.10]# java -version

java version "9.0.1"

Java(TM) SE Runtime Environment (build 9.0.1+11)

Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

    至此Sun JDK安装完毕。

2.ZooKeeper的安装与配置

2.1 安装ZooKeeper

    下载ZooKeeper,下载地址,zookeeper-3.4.10.tar.gz。

#tar -zxvf jdk-8u65-linux-i586.tar.gz -C /usr/local/

2.2 配置ZooKeeper

    进入shell,变更目录(cd)到项根目录下,重命名配置文件:

#mv conf/zoo_sample.cfg conf/zoo.cfg

    虽然是可选的,最好还是把data目录移出temp目录,以防止ZooKeeper填满了根分区(root partition)。可以在zoo.cfg文件中修改这个目录的位置。

dataDir=/users/me/zookeeper

3.测试

3.1 启动服务器

# bin/zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

    这个命令会使得ZooKeeper服务器在后台中运行。如果在前台中运行以便查看服务器的输出,可以通过以下命令行:

# bin/zkServer.sh start-foreground

    这个选项提供了大量详细信息的输出,以便允许查看服务器发生了什么。

3.2 启动客户端

# bin/zkCli.sh

.

.

2018-05-14 10:42:18,944 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@2473b9ce          (1)    

Welcome to ZooKeeper!

2018-05-14 10:42:19,038 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)          (2)

2018-05-14 10:42:19,045 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@876] - Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session                                                                                          (3)

JLine support is enabled

2018-05-14 10:42:19,134 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x1635c8669570000, negotiated timeout = 30000   (4)

WATCHER::

WatchedEvent state:SyncConnected type:None path:null                                                                             (5)

    (1)客户端启动程序来建立一个会话。

    (2)客户端尝试连接到localhost/0:0:0:0:0:0:0:1:2181

    (3)客户端连接成功,服务器开始初始化这个新会话。

    (4)会话初始化完成。

    (5) 服务器向客户端发送一个SyncConnected事件。

    可能会产生的错误:

    (1)bad interpreter: Text file busy,解决方法如下:

ZooKeeper linux下安装与配置_第1张图片

    (2)java:command not found

    解决方法:1.配置环境变量 2.重启机器 3.使用source /etc/profile 命令,使配置生效,每个shell都要调用一次。

3.3 练习

[zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper]

[zk: localhost:2181(CONNECTED) 1] create /workers ""

Created /workers

[zk: localhost:2181(CONNECTED) 2] ls /

[zookeeper, workers]

[zk: localhost:2181(CONNECTED) 3] delete /workers

[zk: localhost:2181(CONNECTED) 4] ls /

[zookeeper]

[zk: localhost:2181(CONNECTED) 5] quit

Quitting...

2018-05-14 10:43:40,600 [myid:] - INFO  [main:ZooKeeper@684] - Session: 0x1635c8669570000 closed

2018-05-14 10:43:40,606 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@519] - EventThread shut down for session: 0x1635c8669570000

[root@CentOS6 zookeeper-3.4.10]#

你可能感兴趣的:(ZooKeeper linux下安装与配置)