单机模式
zookeeper有两种运行模式:集群模式和单机模式。
下载zookeeper安装包:https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz 。
步骤一:安装配置jdk环境
切换到root账户
检查是否已安装过jdk
yum list --installed|grep jdk
或者java -version看下能不能执行。
如果已安装过但jdk版本不符合要求,先yum remove卸载。
从软件源下载安装
1、列出可用的jdk
yum list|grep jdk
复制包名,安装jdk1.8
yum install java-1.8.0-openjdk.x86_64
有的教程带了一个参数-y:yum -y
不带-y的话,如果执行过程中要选择,会提示你,需要你手动选择y|n,比如“确定安装码?y|N” 带-y的话,如果执行过程中要选择,系统会自动选择y。y即yes。
安装目录为usr/lib/jvm,会自动配置环境变量。
步骤二:开始安装配置zookeeper
1、远程下载zookeeper
wget http://www-eu.apache.org/dist/zookeeper/stable/apache-zookeeper-3.6.3-bin.tar.gz
2、解压
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
可以指定解压目录 tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C ./zookerper/
3、查看解压后的文件
在本目录下新建子目录
mkdir data
mkdir log
4、配置进入conf文件夹,把zoo_sample.cfg文件改名为zoo.cfg,因为zookeeper默认加载的配置文件名是zoo.cfg
cp zoo_sample.cfg zoo.cfg
5、打开zoo.cfg文件,修改数据与日志存放目录,其中dataDir与dataLogDir对应的目录就是之前新建data,log的目录路径
6、配置etc/profile文件,在文件后台添加zookeeper安装的目录
# vim /etc/profile
export ZOOKEEPER_INSTALL=/usr/local/apache-zookeeper-3.6.3-bin
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
保存后执行 source /etc/profile ,就直接生效。
source /etc/profile
配置完成。
步骤三:验证
进入到bin目录下
1、启动zookeeper后台服务:./zkServer.sh start
2、关闭zookeeper后台服务:./zkServer.sh stop
3、查看zookeeper后台服务运行状态:./zkServer.sh status
[root@iZwz9fyh8d6xm9hs0q453mZ bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /java/zookeeper/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 71082.
[root@iZwz9fyh8d6xm9hs0q453mZ bin]# ./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /java/zookeeper/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
[root@iZwz9fyh8d6xm9hs0q453mZ bin]#
显示:Mode: standalone完成。
步骤四:测试
在 c1 上连接 c1 上的 zookeeper
/var/local/server/zookeeper/bin/zkCli.sh -server c1:2181
[root@sso conf]# /var/local/server/zookeeper/bin/zkCli.sh -server c1:2181
Connecting to c1:2181
2016-08-25 10:06:30,235 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
2016-08-25 10:06:30,244 [myid:] - INFO [main:Environment@100] - Client environment:host.name=sso.xxx.com
2016-08-25 10:06:30,244 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.7.0_79
2016-08-25 10:06:30,250 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2016-08-25 10:06:30,251 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/local/jdk1.7.0_79/jre
2016-08-25 10:06:30,251 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/var/local/server/zookeeper/bin/../build/classes:/var/local/server/zookeeper/bin/../build/lib/*.jar:/var/local/server/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/var/local/server/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/var/local/server/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/var/local/server/zookeeper/bin/../lib/log4j-1.2.16.jar:/var/local/server/zookeeper/bin/../lib/jline-0.9.94.jar:/var/local/server/zookeeper/bin/../zookeeper-3.4.6.jar:/var/local/server/zookeeper/bin/../src/java/lib/*.jar:/var/local/server/zookeeper/bin/../conf:
2016-08-25 10:06:30,251 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2016-08-25 10:06:30,252 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2016-08-25 10:06:30,252 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2016-08-25 10:06:30,252 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2016-08-25 10:06:30,252 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2016-08-25 10:06:30,253 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-327.10.1.el7.x86_64
2016-08-25 10:06:30,253 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2016-08-25 10:06:30,253 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2016-08-25 10:06:30,254 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/var/local/server/zookeeper/conf
2016-08-25 10:06:30,257 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=c1:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@194d62f1
Welcome to ZooKeeper!
2016-08-25 10:06:30,335 [myid:] - INFO [main-SendThread(sso.xxx.com:2181):ClientCnxn$SendThread@975] - Opening socket connection to server sso.xxx.com/192.168.1.80:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2016-08-25 10:06:30,349 [myid:] - INFO [main-SendThread(sso.xxx.com:2181):ClientCnxn$SendThread@852] - Socket connection established to sso.xxx.com/192.168.1.80:2181, initiating session
2016-08-25 10:06:30,412 [myid:] - INFO [main-SendThread(sso.xxx.com:2181):ClientCnxn$SendThread@1235] - Session establishment complete on server sso.xxx.com/192.168.1.80:2181, sessionid = 0x156bf70d7580000, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: c1:2181(CONNECTED) 0]
添加一个根节点目录zookeeper_project
create /project zookeeper_project
[zk: c1:2181(CONNECTED) 0] create /project zookeeper_project
Created /project
[zk: c1:2181(CONNECTED) 1] get /project
zookeeper_project
cZxid = 0x2
ctime = Thu Aug 25 10:09:09 CST 2016
mZxid = 0x2
mtime = Thu Aug 25 10:09:09 CST 2016
pZxid = 0x2
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 17
numChildren = 0
此时说明单机配置成功。