centos下zookeeper集群搭建
2016-07-08 11:09
471 查看
[b]单机模式:[/b]
1)首先下载zookeeper压缩包,这里采用zookeeper3.4.8....
wgethttp://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
2)解压缩
首先创建文件夹,这里放到/user/zookeeper/文件夹下
mkdirzookeeper1
mkdirzookeeper2
mkdirzookeeper3
创建三个文件夹用于存放三个实例,下面解压到目标文件夹,找到压缩包存放路径,执行下面命令
tar-zxvfzookeeper-3.4.8.tar.gz-C/usr/zookeeper/zookeeper1
tar-zxvfzookeeper-3.4.8.tar.gz-C/usr/zookeeper/zookeeper2
tar-zxvfzookeeper-3.4.8.tar.gz-C/usr/zookeeper/zookeeper3
3)运行单价环境
先来整下zookeeper1这个实例,首先
cdzookeeper1/
利用ll命令,显示所有文件详情,
drwxr-xr-x.2100010004096Mar1717:27bin
-rw-rw-r--.11000100083235Feb611:46build.xml
-rw-rw-r--.11000100088625Feb611:46CHANGES.txt
drwxr-xr-x.2100010004096Mar1717:21conf
drwxr-xr-x.10100010004096Feb611:46contrib
drwxr-xr-x.2100010004096Feb611:50dist-maven
drwxr-xr-x.6100010004096Feb611:49docs
-rw-rw-r--.1100010001953Feb611:46ivysettings.xml
-rw-rw-r--.1100010003498Feb611:46ivy.xml
drwxr-xr-x.4100010004096Feb611:49lib
-rw-rw-r--.11000100011938Feb611:46LICENSE.txt
-rw-rw-r--.110001000171Feb611:46NOTICE.txt
-rw-rw-r--.1100010001770Feb611:46README_packaging.txt
-rw-rw-r--.1100010001585Feb611:46README.txt
drwxr-xr-x.5100010004096Feb611:46recipes
drwxr-xr-x.8100010004096Feb611:49src
-rw-rw-r--.1100010001360961Feb611:46zookeeper-3.4.8.jar
-rw-rw-r--.110001000819Feb611:50zookeeper-3.4.8.jar.asc
-rw-rw-r--.11000100033Feb611:46zookeeper-3.4.8.jar.md5
-rw-rw-r--.11000100041Feb611:46zookeeper-3.4.8.jar.sha1
cp下配置文件,
mvconf/zoo_sample.cfgconf/zoo.cfg
启动zk,
./bin/zdServer.shstart
4)使用java客户端连接ZooKeeper
./bin/zkCli.sh-server127.0.0.1:2181
然后就可以使用各种命令了,跟文件操作命令很类似,输入
5)关闭
./bin/zdServer.shstop
因为我们这里只有一台机器,通过不同端口号,做成伪集群的方式,如果你机器比较多,可以在每个机器上安装一个zk,配置方式是类似。
所谓“伪分布式集群”就是在,在一台PC中,启动多个ZooKeeper的实例。“完全分布式集群”是每台PC,启动一个ZooKeeper实例。
ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.
由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据
将zookeeper2,zookeeper3的配置文件改下,因为zookeeper1在我们做单机时候,已经修改过,在zookeeper2,zookeeper3conf文件夹下,执行
mvzoo_sample.cfgzoo.cfg
创建环境目录
切换到var/zookeeper路径下,新建三个文件夹zookeeper1,zookeeper2,zookeeper3....用于存放pid
mkdir/var/zookeeper/zookeeper1
mkdir/var/zookeeper/zookeeper2
mkdir/var/zookeeper/zookeeper3
分别在 zookeeper1,zookeeper2,zookeeper3,新建三个文件myid
~echo"1">/var/zookeeper/zookeeper1/myid
~echo"2">/var/zookeeper/zookeeper2/myid
~echo"3">/var/zookeeper/zookeeper3/myid
注意myid只能为数字,因为我试验了下,包含英文的话zk启动不起来,抛出异常
vi/usr/zookeeper/zookeeper1/conf/zoo.cfg
以下只贴出不同部分,其他和zk1相同
vi/usr/zookeeper/zookeeper2/conf/zoo.cfg
vi/user/zookeeper/zookeeper3/conf/zoo.cfg
clientPort=2182
/usr/zookeeper/zookeeper1/bin/zkServer.shstart
/usr/zookeeper/zookeeper2/bin/zkServer.shstart
/usr/zookeeper/zookeeper3/bin/zkServer.shstart
1)首先下载zookeeper压缩包,这里采用zookeeper3.4.8....
2)解压缩
首先创建文件夹,这里放到/user/zookeeper/文件夹下
创建三个文件夹用于存放三个实例,下面解压到目标文件夹,找到压缩包存放路径,执行下面命令
3)运行单价环境
先来整下zookeeper1这个实例,首先
利用ll命令,显示所有文件详情,
cp下配置文件,
启动zk,
4)使用java客户端连接ZooKeeper
然后就可以使用各种命令了,跟文件操作命令很类似,输入
help可以看到所有命令。
5)关闭
分布式模式(Replicatedmode)
ZooKeeper集群一般被称为ZooKeeperensemble,或者quorum.因为我们这里只有一台机器,通过不同端口号,做成伪集群的方式,如果你机器比较多,可以在每个机器上安装一个zk,配置方式是类似。
所谓“伪分布式集群”就是在,在一台PC中,启动多个ZooKeeper的实例。“完全分布式集群”是每台PC,启动一个ZooKeeper实例。
ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.
由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据
将zookeeper2,zookeeper3的配置文件改下,因为zookeeper1在我们做单机时候,已经修改过,在zookeeper2,zookeeper3conf文件夹下,执行
创建环境目录
切换到var/zookeeper路径下,新建三个文件夹zookeeper1,zookeeper2,zookeeper3....用于存放pid
分别在 zookeeper1,zookeeper2,zookeeper3,新建三个文件myid
注意myid只能为数字,因为我试验了下,包含英文的话zk启动不起来,抛出异常
分别修改配置文件 修改:dataDir,clientPort 增加:集群的实例,server.X,”X”表示每个目录中的myid的值
#Thenumberofmillisecondsofeachtick
tickTime=2000
#Thenumberofticksthattheinitial
#synchronizationphasecantake
initLimit=10
#Thenumberofticksthatcanpassbetween
#sendingarequestandgettinganacknowledgement
syncLimit=5
#thedirectorywherethesnapshotisstored.
#donotuse/tmpforstorage,/tmphereisjust
#examplesakes.
dataDir=/var/zookeeper/zookeeper1
#theportatwhichtheclientswillconnect
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
#themaximumnumberofclientconnections.
#increasethisifyouneedtohandlemoreclients
#maxClientCnxns=60
#
#Besuretoreadthemaintenancesectionofthe
#administratorguidebeforeturningonautopurge.
#
#http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance#
#ThenumberofsnapshotstoretainindataDir
#autopurge.snapRetainCount=3
#Purgetaskintervalinhours
#Setto"0"todisableautopurgefeature
#autopurge.purgeInterval=1
以下只贴出不同部分,其他和zk1相同
dataDir=/var/zookeeper/zookeeper2
clientPort=2182
dataDir=/var/zookeeper/zookeeper3
clientPort=2182
[b]启动每台机器[/b]
/usr/zookeeper/zookeeper2/bin/zkServer.shstart
/usr/zookeeper/zookeeper3/bin/zkServer.shstart
查看启动状态
相关文章推荐
- 用再生龙(Clonezilla)做Linux备份还原妥妥滴
- linux查看系统编码和修改系统编码的方法
- linux运维初涉及
- 解决avc-denied之设置SELinux策略
- Git使用本地仓库之基本操作
- linux命令dd
- Linux上安装php
- linux中内存使用,swap,cache,buffer的含义总结
- 国内 Azure 正式支持红帽企业 Linux
- How to run maven project with idea in linux
- linux 平台 性能分析 工具
- 【命令】rm
- linux less对文件内容进行搜索
- 【命令】chmod
- centos安装freetds使php支持sqlserver操作
- Linux是这样泄露内存的:Linux内存泄露过程观察
- centos7 virt-manager制作windows映像流程
- Linux显示中文乱码解决方法
- *.c~文件
- Centos下防火墙的设置