您的位置:首页 > 其它

dubbo日志(一):部署zookeeper

2016-08-18 17:46 246 查看
声明:本文为笔者随心所写,随意而为。文中介绍仅作参考。出了啥问题本人不负责!

先说说为啥写这东东吧,本人现已从业4年有余,工作以来也就是写写增删改查,调用/推出相应接口。感觉自身进入一个瓶颈了,所以就从网上找了下最近比较火的技术资料来看。   感觉相比大数据而言,学学分布式会相应简单一些。所以就开始学习dubbo了。

好了,不在废话了,开始进入正题吧。

首先呢。学dubbo嘛,就要先了解什么是分布式。

其实呢,分布式是一种很简单的概念。

说白了,就是拆程序。把一个整体的程序拆成大大小小的一块块,然后将他们分别部署到不同的机器上,然后通过一些网络协议将他们连接起来,为用户提供整套应用支持。

好了,说到这里也不多说了,一些基础理论啥的不是我的强项。说不来。

明白了分布式后,开始考虑如何把现有项目拆分,按什么模式拆分,中间用什么协议支撑。等等……

在这个时候,朋友推荐了dubbo,  看了一些资料后,很感兴趣,所以开始研究。

开始正题!

因个人项目原本就是Spring MVC+Mybaties架构的。  

所以拆项目选择了dubbo+zookeeper+Spring MVC+Mybaties

首先,部署zookeeper。

第一步,准备三台linux机器(Windows也可以使用,本文不做介绍,本文使用的是VMware虚拟机)。

192.168.10.94

192.168.10.95

192.168.10.96



第二步,下载zookeeper包。(文章后会附有本人百度网盘地址。)

登录192.168.10.94

上传zookeeper包机器



解压(为方便输入,更改下文件夹名)





进入zook下conf文件夹



将zoo_sample.cfg改名为zoo.cfg



配置zoo.cfg





tickTime=2000
initLimit=5
syncLimit=2
dataDir=/root/zook/data
dataLogDir=/root/zook/logs
clientPort=2180
server.3=192.168.10.94:2888:3888
server.1=192.168.10.95:2888:3888
server.2=192.168.10.96:2888:3888


参数说明:
tickTime: zookeeper中使用的基本时间单位, 毫秒值.
dataDir: 数据目录. 可以是任意目录.
dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
clientPort: 监听client连接的端口号.
initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口
创建data和logs目录



将配置好的zookeeper复制到另外两台机器
登录95和96机器
分别运行



scp -r root@192.168.10.94:/root/zook/ /root/zook

以下在三台机器上均需配置
data文件夹下创建myid文件



写入对应服务器id(即zoo.cfg文件中server.后的数字,192.168.10.94机器写3,192.168.10.95机器写1,192.168.10.96机器写2)

进入zook下bin目录



启动zookeeper



(注:运行zookeeper需要java环境,配置java可以参考此文章)

查看启动状态





      好了,到此zookeeper部署完成,下次把dubbo的相关再发上来

最后,本人网盘地址:百度网盘
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dubbo