快乐的五日游

时间:2018-05-07 22:29:51来源:杰瑞文章网点击:作文字数:1500字
ZooKeeper集群的搭建 ZooKeeper是一个能为分布式应用程序提供主从协调服务,少量数据的存储与管理的技术。 1 前提准备 操作系统:CentOS6.6 ZooKeeper安装包:zookeeper-3.4.5.tar.gz 2 集群架构 ZooKeeper01 ZooKeeper02 ZooKeeper03 192.168.1.4 192.168.1.5 192.168.1.6 3 搭建集群 3.1 解压安装包 [root@ZooKeeper01 lcp]# pwd /home/lcp [root@ZooKeeper01 lcp]# mkdir zookeeper [root@ZooKeeper01 lcp]# tar -zxf software/zookeeper-3.4.5.tar.gz -C zookeeper/ 3.2 修改配置文件名 [root@ZooKeeper01 conf]# pwd /home/lcp/zookeeper/zookeeper-3.4.5/conf [root@ZooKeeper01 conf]# ll total 12 -rw-r--r--. 1 501 games 535 Sep 30 2012 configuration.xsl -rw-r--r--. 1 501 games 2161 Sep 30 2012 log4j.properties -rw-r--r--. 1 501 games 808 Sep 30 2012 zoo_sample.cfg [root@ZooKeeper01 conf]# mv zoo_sample.cfg zoo.cfg 3.3 设置数据存储路径 配置文件中默认的数据存储路径是“/tmp/zookeeper”,因为tmp目录下的数据在Linux系统重启后会被清空,所以必须要修改它。一般情况下,我们会将数据目录设置在zookeeper的安装目录下。 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/lcp/zookeeper/zookeeper-3.4.5/data 3.4 设置集群信息 在配置文件“zoo.cfg”的最底下加上集群信息: server.1=192.168.1.4:2888:3888 server.2=192.168.1.5:2888:3888 server.3=192.168.1.6:2888:3888 1,2,3:ZooKeeper服务器标识ID 2888:主从节点通信端口 3888:主从节点选举端口 zoo.cfg配置文件的最终效果: 01-配置文件.png 3.5 创建数据存储路径 [root@ZooKeeper01 zookeeper-3.4.5]# pwd /home/lcp/zookeeper/zookeeper-3.4.5 [root@ZooKeeper01 zookeeper-3.4.5]# mkdir data 3.6 创建ZooKeeper标识文件 进入数据存储路径,创建一个文件,名为“myid”,内容为zoo.cfg配置文件中指定的服务器标识ID。 第一台ZooKeeper服务器的myid文件的内容为“1”,第二台为“2”,第三台为“3”。 [root@ZooKeeper01 zookeeper-3.4.5]# cd data/ [root@ZooKeeper01 data]# pwd /home/lcp/zookeeper/zookeeper-3.4.5/data [root@ZooKeeper01 data]# echo 1 > myid [root@ZooKeeper01 data]# ll total 4 -rw-r--r--. 1 root root 2 Jan 11 08:39 myid [root@ZooKeeper01 data]# cat myid 1 按照上面的六个步骤,依次到三台服务器上进行配置,以上就是ZooKeeper集群的搭建过程。 4 启动集群 4.1 启动指令 将三台ZooKeeper服务器全部启动,启动指令如下: [root@ZooKeeper01 bin]# pwd /home/lcp/zookeeper/zookeeper-3.4.5/bin [root@ZooKeeper01 bin]# ./zkServer.sh start JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Starting zookeeper ... STARTED 4.2 查看服务进程 [root@ZooKeeper01 bin]# jps 24844 Jps 24791 QuorumPeerMain [root@ZooKeeper01 bin]# netstat -nltp | grep 2181 tcp 0 0 :::2181 :::* LISTEN 24791/java QuorumPeerMain就是ZooKeeper的服务进程,这个进程监听着2181端口。 4.3 查看集群主从情况 ZooKeeper01:从节点(follower) [root@ZooKeeper01 bin]# ./zkServer.sh status JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower ZooKeeper02:主节点(leader) [root@ZooKeeper02 bin]# ./zkServer.sh status JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: leader ZooKeeper03:从节点(follower) [root@ZooKeeper03 bin]# ./zkServer.sh status JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower 5 测试集群 5.1 测试集群的数据同步 使用命令行客户端登录集群: [root@ZooKeeper01 bin]# pwd /home/lcp/zookeeper/zookeeper-3.4.5/bin [root@ZooKeeper01 bin]# ./zkCli.sh 在ZooKeeper01上写入一个测试数据(ZooKeeper使用文件树的形式管理数据): [zk: localhost:2181(CONNECTED) 6] create /test 100 Created /test [zk: localhost:2181(CONNECTED) 7] ls / [test, zookeeper] [zk: localhost:2181(CONNECTED) 8] get /test 100 cZxid = 0x10000000c ctime = Thu Jan 11 10:03:32 PST 2018 mZxid = 0x10000000c mtime = Thu Jan 11 10:03:32 PST 2018 pZxid = 0x10000000c cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 3 numChildren = 0 分别到ZooKeeper02和ZooKeeper03上取这个数据,如果都能获取到“/test”的值(100),说明集群的数据同步功能没有问题。 [zk: localhost:2181(CONNECTED) 2] get /test 100 cZxid = 0x10000000c ctime = Thu Jan 11 10:03:32 PST 2018 mZxid = 0x10000000c mtime = Thu Jan 11 10:03:32 PST 2018 pZxid = 0x10000000c cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 3 numChildren = 0 5.2 测试集群的高可用性 ZooKeeper集群的特点:一半以上的节点存活时,集群才可以正常工作。 当前集群的情况: ZooKeeper01:从节点 ZooKeeper02:主节点 ZooKeeper03:从节点 挂掉主节点ZooKeeper02: [root@ZooKeeper02 bin]# jps 24976 Jps 24720 QuorumPeerMain [root@ZooKeeper02 bin]# kill -9 24720 这时候还有两个节点活着,数量大于集群总数的一半,我们查看一下这两个节点的状态: ZooKeeper01: [root@ZooKeeper01 bin]# ./zkServer.sh status JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower ZooKeeper03: [root@ZooKeeper03 bin]# ./zkServer.sh status JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: leader 我们可以看到ZooKeeper通过选举机制将ZooKeeper03选举为新的主节点,集群依然正常工作。 现在集群的情况: ZooKeeper01:从节点 ZooKeeper02:挂了 ZooKeeper03:主节点 我们再挂掉主节点ZooKeeper03: [root@ZooKeeper03 bin]# jps 24718 QuorumPeerMain 25047 Jps [root@ZooKeeper03 bin]# kill -9 24718 这个时候只剩一个节点活着,数量小于集群总数的一半,理论上说,集群不会工作了。查看一下ZooKeeper01的状态: [root@ZooKeeper01 bin]# ./zkServer.sh status JMX enabled by default Using config: /home/lcp/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg Error contacting service. It is probably not running. 果然,ZooKeeper01也不工作了。所以3台ZooKeeper组成的集群只能容错1台。
作文投稿

快乐的五日游一文由杰瑞文章网免费提供,本站为公益性作文网站,此作文为网上收集或网友提供,版权归原作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!

杰瑞文章网友情提示:请不要直接抄作文用来交作业。你可以学习、借鉴、期待你写出更好的作文。

说说你对这篇作文的看法吧

最新发表的关于快乐的作文

    SQL Error: select id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard,eckuid,title,ftitle,newstime,titlepic,smalltext,writer,diggtop from ***_ecms_news where (classid='269') order by newstime desc limit 10

最受欢迎的关于快乐的作文

    SQL Error: select id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard,eckuid,title,ftitle,newstime,titlepic,smalltext,writer,diggtop from ***_ecms_news where (classid='269') order by onclick desc limit 10