以独立的zookeeper作为配置的软件。

1、目标:  在自己工作机上的虚拟机(centos 6.5 )上部署 伪分布式zookeeper。   这个目标达到,相信在物理机上部署分布式也可以完成

2、环境准备:

     1) centos 6.5

     2) java 1.7

     3) zookeeper-3.4.6

     4) 部署规划

            在同一台虚拟机上,部署一套zookeeper,启动三个zookeeper进程,(zookeeper的机制是启动奇数进程,满足其选举机制),部署图如下:

    部署的zookeeper的目录下,一些要修改的文件结构如下图:

     说明: 也可以部署三套zookeeper,这样就不需要用同一套里面建多个目录,但是部署一套,生成三套配置文件和目录会稍微复杂一点,所以此方法实践更有意义。

3、 配置文件准备

      1) 根据上面的规划图建立目录,目录建好后, 在每个data目录下 建立一个myid文件,并写入server id,具体做法如下:

             在zookeeper目录下, 执行下面命令: 

            echo 1 > data_1/myid  回车

            echo 2 > data_2/myid  回车

            echo 3 > data_3/myid  回车

            这三个命令是将server id 写入到对应目录的myid文件中。

       2) 将系统原来的zoo.cfg  复制为  zoo1.cfg  ,修改对应内容如下图:

       这里, dataDir 就是刚才建立的数据目录, dataLogDir是日志目录, 端口 2181, 在每个zoo.cfg文件中,都要添加想同的server.1 , server.2. server.3   

同样复制到zoo2.cfg  zoo3.cfg 修改对应配置如下图:

   修改对应目录,端口。这样配置就算修改完毕

    3) 启动

   启动这里,就提现了部署三套和部署一套的区别, 部署一套,要分别指定对应的配置文件。在zookeeper的bin目录下, 分别执行下面三个命令,启动zookeeper

   ./zkServer.sh  start  zoo1.cfg

   ./zkServer.sh  start  zoo2.cfg

   ./zkServer.sh  start  zoo3.cfg

   4) 启动后,可以通过提供的脚本查看三个进程哪个是 leader,哪个是follower,具体命令为  ./zkServer.sh  status  xxx.cfg

   下图为本机 上具体的执行结果:

   

      这样,伪分布式部署就完成了。 伪分布式: 在同一台机器上,部署多个节点,模拟集群

   5)  通过zookeeper的客户端,可以查看zookeeper的节点

   命令./zkCli.sh -server 127.0.0.1:2181

   也可以是别的端口, 2182,2183, 连接后,可以输入 ls /  命令查看当前zookeeper的节点,如下图

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐