《分布式_Zookeeper》_vagrant中Zookeeper集群搭建

zookeeper集群相对简单,网上很多资料,自己边学习,编做个简单的总结,这里采用三台模拟2n+1 允许n台宕机

1.环境准备

1.1 vagrant 虚拟机环境 (内存等空间优于VMware,)

[请参考下面三篇文章]:
https://blog.csdn.net/tojohnonly/article/details/70151040

https://kiwenlau.com/2016/07/03/vagrant-vm-cluster/

http://kiwenlau.com/2016/06/19/160619-vagrant-virtual-machine/

vagrant相关目录及截图,原理同Dockerfile

vagrant_dir.png

复杂 vagrant 相关up脚本

Vagrant.configure("2") do |config|

        (2..4).each do |i|

                config.vm.define "node#{i}" do |node|

                # 设置虚拟机的Box
                node.vm.box = "centos_cluster"

                # 设置虚拟机的主机名
                node.vm.hostname="node#{i}"

                # 设置虚拟机的IP
                node.vm.network "private_network", ip: "192.168.59.#{i}"

                # 设置主机与虚拟机的共享目录
                node.vm.synced_folder "~/Desktop/share", "/home/vagrant/share"

                # VirtaulBox相关配置
                node.vm.provider "virtualbox" do |v|

                        # 设置虚拟机的名称
                        v.name = "node#{i}"

                        # 设置虚拟机的内存大小
                        v.memory = 2048

                        # 设置虚拟机的CPU个数
                        v.cpus = 1
                end
                end
        end
end

1.2 jdk安装 (同linux安装jdk,忽略)

2.Zookeeper搭建和简单验证

2.1 下载并解压(三个节点相同 通过scp命令)

http://mirrors.hust.edu.cn/apache/zookeeper/

2.2 复制 cp -p zoo_sample.cfg zoo.cfg

image.png

2.3 编辑 zoo.cfg,如下(三个节点相同,scp)

image.png

2.4 做响应的id标示,不同ip不通id的节点值到dataDir下myid文件中,如图

image.png

2.5 进入 bin目录下,执行./zkServer.sh start (三个节点相同)

2.6 jps如有QuorumPeerMain或 ss -ln查看相关端口(peer 联想docker nginx) 证明zk server启动成功。

2.7,在某一节点执行 ./zkCli.sh -server 192.168.59.2:2181,192.168.59.3:2181,192.168.59.4:2181 (一个ip:端口也行),如图,有 Welcome to zookeeper!意味着成功

image.png

2.8 Znode常用命令,简单介绍,不同目录原理相同 (zk 树形结构存储,一种类型)

1.ls / 查看根节点目录

image.png

2.ls2 / 查看根节点目录及相关时间

image.png

3.create dir value 创建某目录 及对应的值其他节点一致性体现
node2 和 node3(node4类似) 目前 根目录数据

image.png

image.png

node2 创建节点,查看俩个节点(自动同步
image.png

image.png

4.delete dir 删除某目录 (忽略,自动同步
5.rmr dir 删除某目录及其子目录(忽略,自动同步
6.help 帮助
7.quit 退出
8.get dir 某目录节点获取值(忽略,自动同步
9.set dir value 某目录节点设置值(忽略,自动同步

3.总结

1.vagrant刚开始用,有点麻烦,zookeeper集群搭建相对简单,核心及使用后续总结。

4.参考

链接:https://www.jianshu.com/p/4c13132ce49f
http://zookeeper.apache.org/doc/current/zookeeperAdmin.html
书籍:从Paxos到Zookeeper
网课: 推荐
官网集群模式demo,如下

image.png

你可能感兴趣的:(《分布式_Zookeeper》_vagrant中Zookeeper集群搭建)