SpringBoot+zk+dubbo架构实践(一):本地部署zookeeper

            <h2 class="rich_media_title" id="activity-name">
                
                
                SpringBoot+zk+dubbo架构实践(一):本地部署zookeeper

                                                                            </h2>
            <div id="meta_content" class="rich_media_meta_list">
                                                        <span id="copyright_logo" class="rich_media_meta rich_media_meta_text meta_tag_text">原创:</span>
                                                        <span class="rich_media_meta rich_media_meta_text">
                                            小萌
                                        </span>
                                    
                                    <span class="rich_media_meta rich_media_meta_nickname" id="profileBt">
                  <a href="javascript:void(0);" id="js_name">
                    IT实战联盟                      </a>
                  <div id="js_profile_qrcode" class="profile_container" style="display:none;">
                      <div class="profile_inner">
                          <strong class="profile_nickname">IT实战联盟</strong>
                          <img class="profile_avatar" id="js_profile_qrcode_img" src="" alt="">

                          <p class="profile_meta">
                          <label class="profile_meta_label">微信号</label>
                          <span class="profile_meta_value"></span>
                          </p>

                          <p class="profile_meta">
                          <label class="profile_meta_label">功能介绍</label>
                          <span class="profile_meta_value">IT实战联盟是集产品、UI设计、前后端、架构、大数据和AI人工智能等为一体的实战交流服务平台!联盟嘉宾都为各互联网公司项目的核心成员,联盟主旨是“让实战更简单”,欢迎来撩~~~</span>
                          </p>
                          
                      </div>
                      <span class="profile_arrow_wrp" id="js_profile_arrow_wrp">
                          <i class="profile_arrow arrow_out"></i>
                          <i class="profile_arrow arrow_in"></i>
                      </span>
                  </div>
                </span>


                <em id="publish_time" class="rich_media_meta rich_media_meta_text">6月4日</em>





            </div>
            
            
            
            
                                            
                                                            
                            
            
            <div class="rich_media_content " id="js_content">
                

                

                
                
                <p><img class="" data-ratio="0.5625" data-src="https://mmbiz.qpic.cn/mmbiz_jpg/yxd4Lb1NWIhJibX3Cd9b5kXLWyZ9x6Hq3JaJuya5VxqmYvnlJxyfVSCBTlg5cF9mmOEFXG8C9dxRGERkqO4jLfA/640?wx_fmt=jpeg" data-type="jpeg" data-w="480" style="box-sizing: border-box; border: 0px; vertical-align: middle; cursor: zoom-in; transition: all 0.15s linear; display: block; z-index: 100; filter: blur(0px); opacity: 1; width: 480px !important; height: auto !important; visibility: visible !important; transform: translateZ(0px);" _width="480px" src="https://mmbiz.qpic.cn/mmbiz_jpg/yxd4Lb1NWIhJibX3Cd9b5kXLWyZ9x6Hq3JaJuya5VxqmYvnlJxyfVSCBTlg5cF9mmOEFXG8C9dxRGERkqO4jLfA/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" crossorigin="anonymous" data-fail="0"></p><p><br></p><h4 style="box-sizing: border-box;font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-weight: 700;line-height: 1.7;color: rgb(47, 47, 47);margin-bottom: 15px;font-size: 20px;text-rendering: optimizelegibility;white-space: normal;">SpringBoot+zk+dubbo架构实践系列实现目标</h4><ol style="margin-left: 20px;" class="list-paddingleft-2"><li><p>本地部署zookeeper</p></li><li><p>SpringBoot 集成 zookeeper</p></li><li><p>Dubbo-admin管理平台安装</p></li><li><p>SpringBoot+ zookeeper +dubbo 框架搭建</p></li><li><p>架构业务实践(实现电商部分业务)</p></li></ol><p style="box-sizing: border-box;margin-bottom: 25px;color: rgb(47, 47, 47);font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-size: 16px;white-space: normal;word-break: break-word !important;">备注:本系列偏向于动手实践,不讲太多理论。</p><h4 style="box-sizing: border-box;font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-weight: 700;line-height: 1.7;color: rgb(47, 47, 47);margin-bottom: 15px;font-size: 20px;text-rendering: optimizelegibility;white-space: normal;">前言</h4><blockquote style="box-sizing: border-box;padding: 20px;margin-bottom: 25px;font-size: 16px;border-left-width: 6px;border-left-color: rgb(180, 180, 180);background-color: rgb(247, 247, 247);line-height: 30px;color: rgb(47, 47, 47);font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;white-space: normal;word-break: break-word !important;"><p style="box-sizing: border-box;line-height: 1.7;word-break: break-word !important;">本文操作都是在Mac上进行的,如果大家用的windows 可以相对应的进行修改一下。</p></blockquote><h4 style="box-sizing: border-box;font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-weight: 700;line-height: 1.7;color: rgb(47, 47, 47);margin-bottom: 15px;font-size: 20px;text-rendering: optimizelegibility;white-space: normal;">下载zookeeper</h4><p style="box-sizing: border-box;margin-bottom: 25px;color: rgb(47, 47, 47);font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-size: 16px;white-space: normal;word-break: break-word !important;">首先去官网下载zookeeper包,这里使用3.4.12版本(也可以选择其他的),在这里下载:http://apache.claz.org/zookeeper/zookeeper-3.4.12/<br style="box-sizing: border-box;">下载并解压,目录如下图所示:<br style="box-sizing: border-box;"></p><p><img class="" data-ratio="0.6557142857142857" data-src="https://mmbiz.qpic.cn/mmbiz_png/yxd4Lb1NWIhJibX3Cd9b5kXLWyZ9x6Hq3sfEPYgKKiaazNe4rNsLsyFEFnChqSalZOu6YG6eibRcpUiab1VUpY3nYg/640?wx_fmt=png" data-type="png" data-w="700" style="box-sizing: border-box; border: 0px; vertical-align: middle; cursor: zoom-in; transition: all 0.15s linear; display: block; z-index: 100; filter: blur(0px); opacity: 1; width: 677px !important; height: auto !important; visibility: visible !important; transform: translateZ(0px);" _width="677px" src="https://mmbiz.qpic.cn/mmbiz_png/yxd4Lb1NWIhJibX3Cd9b5kXLWyZ9x6Hq3sfEPYgKKiaazNe4rNsLsyFEFnChqSalZOu6YG6eibRcpUiab1VUpY3nYg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" crossorigin="anonymous" data-fail="0"></p><p></p><p style="box-sizing: border-box;margin-bottom: 25px;color: rgb(47, 47, 47);font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-size: 16px;white-space: normal;word-break: break-word !important;">下载后在本地解压,进入zookeeper-3.4.12/conf目录下,将zoo_sample.cfg文件改名为zoo.cfg,再用文本编辑器打开这个文件,修改如下红框位置的内容,改成本地一个可以访问的已有目录:</p><p><img class="" data-ratio="0.6371428571428571" data-src="https://mmbiz.qpic.cn/mmbiz_jpg/yxd4Lb1NWIhJibX3Cd9b5kXLWyZ9x6Hq3QTQdERjyib97nwS9kTSUxnmIhEtnHsF1Cibic4kL1lsAiaY3RJn0kibMgwg/640?wx_fmt=jpeg" data-type="jpeg" data-w="700" style="box-sizing: border-box; border: 0px; vertical-align: middle; cursor: zoom-in; transition: all 0.15s linear; display: block; z-index: 100; filter: blur(0px); opacity: 1; width: 677px !important; height: auto !important; visibility: visible !important; transform: translateZ(0px);" _width="677px" src="https://mmbiz.qpic.cn/mmbiz_jpg/yxd4Lb1NWIhJibX3Cd9b5kXLWyZ9x6Hq3QTQdERjyib97nwS9kTSUxnmIhEtnHsF1Cibic4kL1lsAiaY3RJn0kibMgwg/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" crossorigin="anonymous" data-fail="0"></p><p><br></p><p style="box-sizing: border-box;margin-bottom: 25px;color: rgb(47, 47, 47);font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-size: 16px;white-space: normal;word-break: break-word !important;">备注:如果是windows可以选择磁盘路径</p><p style="box-sizing: border-box;margin-bottom: 25px;color: rgb(47, 47, 47);font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;font-size: 16px;white-space: normal;word-break: break-word !important;">打开命令行窗口,进入zookeeper-3.4.12/bin目录,执行命令:</p><pre class="" style="box-sizing: border-box;overflow: auto;font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 13px;padding: 15px;margin-top: 0px;margin-bottom: 20px;line-height: 1.42857;word-wrap: normal;color: rgb(171, 178, 191);background-color: rgb(40, 44, 52);border: 1px solid rgb(204, 204, 204);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;word-break: break-word !important;"><code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 12px;color: inherit;background-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;border: none;">mac/linux :./zkServer.sh status

windows:zkServer.cmd status

查看当前zookeeper的运行状态,如下图所示,是没有启动的信息

xx:bin lin$ ./zkServer.sh status
ZooKeeper JMX enabled by defaultUsing config: /Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/conf/zoo.cfgError contacting service. It is probably not running.

执行命令启动zookeeper命令

mac/linux :./zkServer.sh start
windows:zkServer.cmd start

控制台输出如下信息说明zookeeper启动成功

xxx:bin lin$ ./zkServer.sh start
ZooKeeper JMX enabled by defaultUsing config: /Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED

控制台输入zkServer.cmd status 查看启动结果:

xxx:bin lin$ ./zkServer.sh status
ZooKeeper JMX enabled by defaultUsing config: /Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/conf/zoo.cfg
Mode: standalone

如上所示zookeeper正在以standalone模式运行中;

接下来用客户端命令来链接服务端,执行如下命令:

mac/linux :./zkCli.sh
windows:zkCli.cmd

查看一下控制台输出结果:

xxx:bin lin$ ./zkCli.sh
Connecting to localhost:21812018-05-25 17:27:58,908 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT2018-05-25 17:27:58,914 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=192.168.2.162018-05-25 17:27:58,914 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_912018-05-25 17:27:58,916 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation2018-05-25 17:27:58,916 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre2018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/build/classes:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/build/lib/.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/lib/slf4j-log4j12-1.7.25.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/lib/slf4j-api-1.7.25.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/lib/netty-3.10.6.Final.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/lib/log4j-1.2.17.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/lib/jline-0.9.94.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/lib/audience-annotations-0.5.0.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/zookeeper-3.4.12.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/src/java/lib/.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/…/conf:2018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/Users/lin/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.2018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/var/folders/cf/q_dg400d5ql4vxlv7c4h_qvm0000gn/T/2018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>2018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Mac OS X2018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=x86_642018-05-25 17:27:58,917 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=10.11.32018-05-25 17:27:58,918 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=lin2018-05-25 17:27:58,918 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/Users/lin2018-05-25 17:27:58,918 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin2018-05-25 17:27:58,919 [myid:] - INFO  [main:ZooKeeper@441] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMainKaTeX parse error: Expected 'EOF', got '&' at position 877: …/span>] - INFO &̲nbsp;[main-Send…SendThread@1028] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled2018-05-25 17:27:59,022 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxnKaTeX parse error: Expected 'EOF', got '&' at position 1331: …/span>] - INFO &̲nbsp;[main-Send…SendThread@1302] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x100448cddc80000, negotiated timeout = 30000[zk: localhost:2181(CONNECTED) 0]
WATCHER::

WatchedEvent state:SyncConnected type:None path:null

好了客户端链接上服务器端了。

创建znode节点,执行命令

#创建一个zone节点node_1 对应的value值为“abc”
create /node_1 abc
#控制台输出
[zk: localhost:2181(CONNECTED) 5] create /node_1 abc
Created /node_1

查询创建的znode 节点

#创建一个zone节点node_1 对应的value值为“abc”
get /node_1#控制台输出
[zk: localhost:2181(CONNECTED) 6] get /node_1
abc
cZxid = 0x9
ctime = Fri May 25 19:00:02 CST 2018
mZxid = 0x9
mtime = Fri May 25 19:00:02 CST 2018
pZxid = 0x9
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
zookeeper 常用命令总结
#服务命令
1. 启动ZK服务:       sh bin/zkServer.sh start
2. 查看ZK服务状态: sh bin/zkServer.sh status
3. 停止ZK服务:       sh bin/zkServer.sh stop
4. 重启ZK服务:       sh bin/zkServer.sh restart
#客户端命令
1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
3. 创建文件,并设置初始内容: create /node_1 “test” 创建一个新的 znode节点“ node_1 ”以及与它关联的字符串
4. 获取文件内容: get /node_1 确认 znode 是否包含我们所创建的字符串
5. 修改文件内容: set /node_1 “zkbak” 对 zk 所关联的字符串进行设置
6. 删除文件: delete /node_1 将刚才创建的 zone 删除
7. 退出客户端: quit
8. 帮助命令: help
关注我们

更多精彩内容请关注“IT实战联盟”公众号,也可以加入交流群和作者互撩哦~~~




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值