• UID15380
  • 登录2017-12-11
  • 粉丝4
  • 关注0
  • 发帖172
  • 主页
  • 金币754枚
社区居民
忠实会员
原创写手
小P孩 发布于2017-01-05 15:02
0/830

Dubbo分布式架构--安装Dubbo注册中心(Zookeeper-3.4.6)

楼层直达
安装Dubbo管理控制台
Tomcat中部署web应用 ---- Dubbo服务消费者Web应用war包的部署
Dubbo监控中心的介绍与简易监控中心的安装( 补充文档 )
SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven
持续集成篇-- SonarQube代码质量管理平台的安装
持续集成篇-- SonarQube代码质量管理平台的配置与使用
持续集成篇 --Hudson持续集成服务器的安装配置与使用

Dubbo建议使用Zookeeper作为服务的注册中心。
http://www.roncoo.com/details?cid=f614343765bc4aac8597c6d8b38f06fd

注册中心服务器(192.168.3.71)配置,安装Zookeeper:
1、  修改操作系统的/etc/hosts文件中添加:
# zookeeper servers
192.168.3.71   edu-provider-01                                      

2、 到http://apache.fayea.com/zookeeper/下载zookeeper-3.4.6:
$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3、 解压zookeeper安装包:
$ tar -zxvf zookeeper-3.4.6.tar.gz

4、 在/home/wusc/zookeeper-3.4.6目录下创建以下目录:
$ cd /home/wusc/zookeeper-3.4.6
$ mkdir data
$ mkdir logs

5、 将zookeeper-3.4.6/conf目录下的zoo_sample.cfg文件拷贝一份,命名为为zoo.cfg
$ cp zoo_sample.cfg zoo.cfg

6、  修改zoo.cfg配置文件:
$ vi zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/wusc/zookeeper-3.4.6/data
dataLogDir=/home/wusc/zookeeper-3.4.6/logs
# the port at which the clients will connect
clientPort=2181
#2888,3888 are election port
server.1=edu-provider-01:2888:3888

其中,
2888端口号是zookeeper服务之间通信的端口。
3888是zookeeper与其他应用程序通信的端口。
edu-provider-01是在hosts中已映射了IP的主机名。


initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。


syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒。


server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的IP地址或/etc/hosts文件中映射了IP的主机名;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

7、 在dataDir=/home/wusc/zookeeper-3.4.6/data下创建myid文件
编辑myid文件,并在对应的IP的机器上输入对应的编号。如在zookeeper上,myid文件内容就是1。如果只在单点上进行安装配置,那么只有一个server.1。
$ vi myid
1

8、 wusc用户下修改vi /home/wusc/.bash_profile,增加zookeeper配置:
# zookeeper env
export ZOOKEEPER_HOME=/home/wusc/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$PATH

使配置文件生效
$ source /home/wusc/.bash_profile

9、 在防火墙中打开要用到的端口2181、2888、3888
切换到root用户权限,执行以下命令:
# chkconfig iptables on
# service iptables start
编辑/etc/sysconfig/iptables
# vi /etc/sysconfig/iptables
增加以下3行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

重启防火墙:
# service iptables restart

查看防火墙端口状态:
# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination        
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2181
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2888
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3888
8    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination        
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination    

10、      启动并测试zookeeper(要用wusc用户启动,不要用root):
(1) 使用wusc用户到/home/wusc/zookeeper-3.4.6/bin目录中执行:
$ zkServer.sh start

(2) 输入jps命令查看进程:
$ jps
1456 QuorumPeerMain
1475 Jps

其中,QuorumPeerMainzookeeper进程,启动正常

(3) 查看状态:
$ zkServer.sh status


(4) 查看zookeeper服务输出信息:
由于服务信息输出文件在/home/wusc/zookeeper-3.4.6/bin/zookeeper.out
$ tail -500f zookeeper.out

11、      停止zookeeper进程:
$ zkServer.sh stop

12、      配置zookeeper开机使用wusc用户启动:
编辑/etc/rc.local文件,加入:
su - wusc -c '/home/wusc/zookeeper-3.4.6/bin/zkServer.sh start'

0人打赏
您需要登录后才可以回帖
发表回复
极贡献
技术问答
专题荟萃
程序人生
视觉设计
Android开发
iOS开发
编程语言
前端开发
后端开发
服务器架构
软件测试
运维方案
创业路上



最热文章墙

  • 80595/379   【精品推荐】200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^

  • 45812/191   情人节福利,程序员表白的正确姿势:改几行代码就变成自己的表白了

  • 45498/0   Python爬虫:常用浏览器的useragent

  • 42020/261   【精品推荐】Android版产品级的音乐播放器源码,功能太强大了,最好的产品原型有木有?

  • 39013/145   省时省力的Android组件群来了,非常棒的原型参考

  • 30470/143   2016抢红包软件及源码

  • 29532/71   原创表白APP,以程序员的姿势备战新年后的7夕,持续完善中!

  • 29454/2   超全!整理常用的iOS第三方资源

  • 24785/161   Android版类似UC浏览器:非常赞,产品级的源码

  • 23029/31   麻省理工的一帮疯子,真的实现了随意操控万物!(绝对黑科技)

  • 22730/26   Android工程师面试题大全

  • 22693/27   2016程序员跳槽全攻略

  • 22063/10   GitHub上排名前50的iOS项目:总有一款你用得着

  • 21063/21   码魂:程序员的牛B漫画

  • 19283/74   【持续更新中】Android福利贴(二):资料源码大放送

  • 19282/85   Android小而全的博客源码:非常适合全面掌握开发技巧

  • 19145/43   一个绚丽的loading动效分析与实现!

  • 19103/10   2016年最全的Android面试考题+答案 精编版

  • 18867/3   吐槽那些程序员的搞笑牛逼注释

  • 17851/45   惊艳的App引导页:背景图片切换加各个页面动画效果

  • 17752/104   Android带弹幕的视频播放器源码,来自大名鼎鼎的Bilibili弹幕网站

  • 17732/1   iOS 动画总结

  • 17716/82   仿京东商城客户端Android最新版,不错的原型和学习资料

  • 17366/25   个人收集的Android 各类功能源代码

  • 16890/5   新一代Android渠道打包工具:1000个渠道包只需要5秒

  • 16846/22   Android福利第三波【Android电子书】

  • 16660/1   iOS中文版资源库,非常全

  • 16651/81   【精品推荐】类似360安全卫士安Android源码:非常赞的产品原型

  • 16615/54   基于瀑布流的美女图片浏览App,有注释的源代码

  • 16491/18   用JavaScript 来开发iOS和Android 原生应用:React Native开源框架中文版来啦

  • 16484/10   女程序员的梦,众网友的神回复

  • 16187/23   珍藏多年的素材,灵感搜寻网站

  • 16187/11   年会上现场review代码是怎么样的体验!

  • 15792/19   65条最常用正则表达式,你要的都在这里了

  • 14980/16   基于Android支付宝支付设计和开发方案

  • 14391/11   有木有这样一张酷图帮你集齐所有git命令超实用

  • 14313/18   什么是真正的黑客:收获12200+Stars,人气远超微软开源VS

  • 14131/47   在线音乐播放器完整版(商用级的源码):非常赞,可听免费高品质专辑

  • 13929/62   【技巧一】搭配Android Studio,如何实现App远程真机debug?

  • 13815/0   GitHub iOS 库和框架Top100 

  • 13659/7   用程序员的姿势抢过年的火车票

  • 13626/7   一张图搞定iOS学习路线,非常全面

  • 13260/10   成为Java顶尖程序员 ,看这11本书就够了

  • 13220/10   微信支付终于成功了(安卓,iOS),在此分享

  • 13102/18   一张图搞定Android学习路线,非常全面

  • 12954/29   【持续更新中】Android福利贴(一):资料源码

  • 12858/4   基于Node.js的强大爬虫,能直接发布抓取的文章哦

  • 12663/4   46 个非常有用的 PHP 代码片段

  • 12132/3   即时通信第三方库

  • 11558/9   流媒体视频直播方案

  • 11512/18   八个最优秀的Android Studio插件

  • 11366/9   B站建开源工作组:APP想支持炫酷弹幕的看过来

  • 11193/2   【精品推荐】高质量PHP代码的50个实用技巧:非常值得收藏

  • 11137/9   烧了5亿美金,这家神秘的公司即将颠覆人类未来!

  • 11064/12   中国黑客的隐秘江湖:攻守对立,顶尖高手月入千万美元

  • 10503/1   基于node-webkit跨平台应用案例集之(一)

  • 10315/6   开箱即用!Android四款系统架构工具

  • 10113/11   十大技巧快速提升Android应用开发性能

  • 10098/4   10款GitHub上最火爆的国产开源项目——可以媲美西半球

  • 10055/2   Android性能优化视频,文档以及工具

  • 返回顶部