Centos 搭建 zookeeper

安装

zookeeper-3.4.9.tar.gz

下载:

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar.gz

为了方便管理,我放在目录/opt/中

解压:

tar zxf zookeeper-3.4.9.tar.gz

进入配置目录

cd zookeeper-3.4.9/conf

创建配置(直接clone样例配置):

cp zoo_sample.cfg zoo.cfg

注:zoo_sample.cfg是一个用来demo的例子配置

先配置单机模式:

修改配置:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/zookeeper-3.4.9/data
// 日志文件
dataLogDir=/opt/zookeeper-3.4.9/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

配置环境变量:

打开系统配置文件:

vim /etc/profile

加入:

export ZOOKEEPER_HOME=/opt/zookeeper-3.4.9/

追加到环境变量$Path中:

export PATH=$PATH:….$ZOOKEEPER_HOME/bin/

退出:

:wq

重新激活环境变量配置:

[[email protected]_105_239 bin]# source /etc/profile

启动ZooKeeper:

[[email protected]_105_239 bin]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查询zk的状态:

[[email protected]_105_239 bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: standalone

关闭ZooKeeper:

[[email protected]_105_239 bin]# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

重启ZooKeeper(由于当前是关闭状态,所以会有下面no zookeeper的信息):

[[email protected]_105_239 bin]# zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... no zookeeper to stop (could not find file /opt/zookeeper-3.4.9/data
/opt/zookeeper-3.4.9/logs/zookeeper_server.pid)
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

客户端测试链接服务端:

[[email protected]_105_239 bin]# zkCli.sh -server 127.0.0.1:2181
Connecting to 127.0.0.1:2181
2016-11-01 22:20:40,226 [myid:] - INFO  [main:[email protected]] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
2016-11-01 22:20:40,229 [myid:] - INFO  [main:[email protected]] - Client environment:host.name=<NA>
2016-11-01 22:20:40,229 [myid:] - INFO  [main:[email protected]] - Client environment:java.version=1.8.0_111
2016-11-01 22:20:40,230 [myid:] - INFO  [main:[email protected]] - Client environment:java.vendor=Oracle Corporation
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:java.home=/usr/java/jdk1.8.0_111/jre
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment: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/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/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/zookeeper-3.4.9/bin/../conf:
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:java.io.tmpdir=/tmp
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:java.compiler=<NA>
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:os.name=Linux
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:os.arch=amd64
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:os.version=3.10.0-327.el7.x86_64
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:user.name=root
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:user.home=/root
2016-11-01 22:20:40,231 [myid:] - INFO  [main:[email protected]] - Client environment:user.dir=/opt/zookeeper-3.4.9/bin
2016-11-01 22:20:40,232 [myid:] - INFO  [main:[email protected]] - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 [email protected]
Welcome to ZooKeeper!
JLine support is enabled
2016-11-01 22:20:40,345 [myid:] - INFO  [main-SendThread(127.0.0.1:2181):[email protected]] - Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2016-11-01 22:20:40,505 [myid:] - WARN  [main-SendThread(127.0.0.1:2181):[email protected]] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)

解决:重启Zookeeper服务 - zkServer.sh restart

从新测试客户端链接服务端:

[[email protected]_105_239bin]# zkCli.sh
Connecting tolocalhost:2181
2016-11-0217:16:01,054 [myid:] - INFO [main:[email protected]] - Clientenvironment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
2016-11-0217:16:01,062 [myid:] - INFO [main:[email protected]] - Client environment:host.name=Centos_105_239
2016-11-0217:16:01,062 [myid:] - INFO [main:[email protected]] - Client environment:java.version=1.8.0_111
2016-11-0217:16:01,066 [myid:] - INFO [main:[email protected]] - Client environment:java.vendor=OracleCorporation
2016-11-0217:16:01,066 [myid:] - INFO [main:[email protected]] - Clientenvironment:java.home=/usr/java/jdk1.8.0_111/jre
2016-11-0217:16:01,066 [myid:] - INFO [main:[email protected]] - Clientenvironment: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/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/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/zookeeper-3.4.9/bin/../conf:
2016-11-0217:16:01,067 [myid:] - INFO [main:[email protected]] - Clientenvironment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2016-11-0217:16:01,067 [myid:] - INFO [main:[email protected]] - Client environment:java.io.tmpdir=/tmp
2016-11-0217:16:01,067 [myid:] - INFO [main:[email protected]] - Client environment:java.compiler=<NA>
2016-11-0217:16:01,067 [myid:] - INFO [main:[email protected]] - Client environment:os.name=Linux
2016-11-0217:16:01,067 [myid:] - INFO [main:[email protected]] - Client environment:os.arch=amd64
2016-11-0217:16:01,067 [myid:] - INFO [main:[email protected]] - Clientenvironment:os.version=3.10.0-327.el7.x86_64
2016-11-0217:16:01,068 [myid:] - INFO [main:[email protected]] - Client environment:user.name=root
2016-11-0217:16:01,068 [myid:] - INFO [main:[email protected]] - Client environment:user.home=/root
2016-11-0217:16:01,068 [myid:] - INFO [main:[email protected]] - Clientenvironment:user.dir=/opt/zookeeper-3.4.9/bin
2016-11-0217:16:01,073 [myid:] - INFO [main:[email protected]] - Initiating client connection,connectString=localhost:2181 sessionTi[email protected]446cdf90
Welcome toZooKeeper!
JLine support isenabled
2016-11-0217:16:06,165 [myid:] - INFO [main-SendThread(localhost:2181):[email protected]] - Openingsocket connection to server localhost/127.0.0.1:2181. Will not attempt toauthenticate using SASL (unknown error)
2016-11-0217:16:06,306 [myid:] - INFO [main-SendThread(localhost:2181):[email protected]] - Socketconnection established to localhost/127.0.0.1:2181, initiating session
2016-11-0217:16:06,328 [myid:] - INFO [main-SendThread(localhost:2181):[email protected]] - Sessionestablishment complete on server localhost/127.0.0.1:2181, sessionid =0x15823b834e60008, negotiated timeout = 30000
 
WATCHER::
 
WatchedEventstate:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED)0]#

见到最后一行才算是成功。

测试

创建一个节点

[zk:localhost:2181(CONNECTED) 3] create /node helloword
Created /node
[zk:localhost:2181(CONNECTED) 4] ls /
[node, zookeeper]

获取节点

[zk:localhost:2181(CONNECTED) 8] get /node
helloword
cZxid = 0x17
ctime = Wed Nov 0217:17:25 CST 2016
mZxid = 0x17
mtime = Wed Nov 0217:17:25 CST 2016
pZxid = 0x17
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0

设置节点

[zk:localhost:2181(CONNECTED) 9] set /node helloword!
cZxid = 0x17
ctime = Wed Nov 0217:17:25 CST 2016
mZxid = 0x1d
mtime = Wed Nov 0217:19:40 CST 2016
pZxid = 0x17
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0

再次获取节点,看看变化:

[zk:localhost:2181(CONNECTED) 10] get /node
helloword!
cZxid = 0x17
ctime = Wed Nov 0217:17:25 CST 2016
mZxid = 0x1d
mtime = Wed Nov 0217:19:40 CST 2016
pZxid = 0x17
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0

测试删除节点:

[zk:localhost:2181(CONNECTED) 14] ls /
[node, zookeeper,test]
[zk:localhost:2181(CONNECTED) 15] delete /test
[zk:localhost:2181(CONNECTED) 16] ls /
[node, zookeeper]

配置集群

再搭建三个同样的虚拟环境,最简单的是直接clone上面的单机,不过要记住重新初始化网卡信息,具体的不再讲怎么操作了,有问题请直接留言。

修改zookeeper的参数:

# The number of
ticks that the initial
# synchronization
phase can take
initLimit=10
 
# The number of
ticks that can pass between
# sending a request
and getting an acknowledgement
syncLimit=5
 
server.1=192.168.1.156:2888:3888
server.2=192.168.1.158:2888:3888
server.3=192.168.1.159:2888:3888

端口说明:

2888:集群中服务器的通讯

3888:选领导

具体的测试就不再叙述,在搭建中遇到的问题,请参阅《zookeeper环境搭建中遇到的问题

参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/#ibm-pcon

时间: 2024-10-19 02:28:29

Centos 搭建 zookeeper的相关文章

在CentOS搭建Git服务器 转

在CentOS搭建Git服务器 来自 :http://www.jianshu.com/p/69ea5ded3ede 前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公司内部通常会搭建自己的Git服务器,我也通过在自己的服务器上搭建练习一下. 开始前先说一下服务器信息,这里是阿里云的CentOS 6.5 64位操作系统. 一 确认服务器是否安装Git [[email protected] git]# rpm -qa gitgit-1.7.1-3.el6_4.1.x

Linux CentOS搭建JDK+Mysql+Tomcat+Nginx负载均衡环境 &nbsp; &nbsp; &nbsp;

本文使用了Tomcat+Nginx环境,主要起到负载均衡的作用,使用Tomcat处理jsp后台程序,使用Nginx处理静态页面. 准备工作(下载软件版本,请自行百度下载) 安装包放至:/usr/local/src 安装地址:/usr/local/软件名 1.apache-tomcat-6.0.48 2.mysql-5.5.54 3.nginx-1.6.3 4.cmake-2.8.8 5.pcre-8.40 6.jdk-8u11-linux-x64 7.openssl-1.1.0d(https使用

centos搭建samba服务器

centos搭建samba服务器 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分

centos 搭建 git 服务端和客户端

centos 搭建git需要设置远程服务端和客户端.远程代码存放在服务端,多个客户端可以共享和维护服务端代码. 一.服务端主机 1.创建ssh,大部分默认已经安装,有ssh就跳过 yum install openssh-server -y 2. 安装git yum -y install git-core 3.1 创建git用户 useradd git 3.2 设置密码 passwd git 4. git用户登录 su git 5. 初始化服务器端仓库 cd /home/gitgit init -

CentOS搭建FTP

Centos搭建FTP,yum 傻瓜式搭建,犹如喝水那么简单,按照这方法还不能搭建出来,证明你不是这块料. 1,         安装:vsftpd,可以通过光盘或网络安装 光盘安装:挂载ios镜像,mount /dev/cdrom /mnt 进入cd /mnt目录,找到vsftpd安装包即可 在线安装:yum install vsftpd –y 完成后就可以使用ftp 默认安装路径是在/var/ftp/pub. 2,         拷贝光盘镜像 首先把光盘的ios中Packages目录里面的

Linux(CentOS)搭建SVN服务器全攻略

虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装#yum install subversion 1)创建svn用户#groupadd svn#useradd -g sky user//是将user加入到sky組內切换用户#su svn以后代码库的创建维护等,都用这个帐户来操作. 2)创建版本库编辑.bash_profile 加上如下配置SVN_HOME=

CentOS搭建LAMP环境

最近准备安装roundcube,需要先搭建一个 LAMP 运行环境,从网上搜索了一下,有不少资料.自己也按部就班安装了一遍,把过程整理了下来.     LAMP 是Linux, Apache, MySQL, PHP 的首字母缩写,也就是在一台 CentOS5.3 服务器上安装带有PHP5 和 Mysql 支持 Apache 的网站服务器.         1. 假设你已经有一台安装了 Linux 系统的服务器,系统可以使 CentOS5.3 ,也可以是 Ubuntu 9.04 .这次是用 Cen

centos搭建samba服务

环境: CentOS release 6.8 (Final) Microsoft Windows XP [版本 5.1.2600] 一.windows为服务器端,Centos为客户机挂载samba服务 1.共享samba文件夹 2.本地测试共享是否开启 3.Centos安装客户端所需的软件 yum list | grep samba | wc -l #查看yum源有关samba关键字的安装包数量 yum install samba-client samba-common samba-winbin

zookeeper(三)--- 搭建zookeeper集群

zookeeper(三)--- 搭建zookeeper集群 环境 vagrant虚拟机 centos7 SecureCRT 软件 zookeeper3.4.6.tar.gz 步骤 1.使用vagrant创建3个虚拟机 IP地址:192.168.21.222,192.168.21.223,192.168.22.224 2.使用SecureCRT链接虚拟机 3.安装配置zookeeper 安装配置Zookeeper集群 解压 tar xzvfzookeeper-3.4.6.tar.gz 重命名解压后