zookeeper集群与Dubbo的实现与整合
2015-12-24 10:34
162 查看
ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
有关ZooKeeper的介绍,网上很多,也可以参考文章后面,我整理的一些相关链接。
下面,我们简单说明一下ZooKeeper的配置。
环境介绍:
本次安装由于是集群模式,将在三台不同的机器上进行,也可以在同一台机器上,使用不同端口;
一、安装准备与单台配置:
1、首先解压zookeeper安装包,并移动到自己制定目录下:
2、创建配置文件,并启动:
可以根据具体需求配置日志,查看日志或者端口确认是否启动成功;zookeeper的单台配置,到此已完成,相对于来讲,非常简单。
二、集群的配置与注意事项:
1、首先安装单台的步骤一样,配置文件有如下修改:
在这里需要提示的是,如果部署在同一台机器上,端口一定不可以冲突,另外server的配置,可以使用IP也可以时候主机名。将此配置文件,放在三台需要集群的机器上即可;
2、配置集群ID:
在所有需要集群的机器上,根据配置文件中server.x对应的id,来设置每个集群节点的ID即可,存放路径为datadir目录下:
3、启动集群;
在各个集群节点上,启动zookeeper服务,第一个启动的肯定会有报错信息,因为需要联系其他节点而联系不上,此错误可以忽略,进入到各个机器的zookeeper的bin目录下执行如下命令:
4、集群启动后的验证:
此验证同样可以使用端口也可以查看zookeeper的状态来判读是否启动正常;
至此zookeeper集群启动完成,三个集群的状态,肯定是一个leader和两个follower , 而leader也是随机的,并非固定的某台机器,所以集群中只要有leader即可。
三、与dubbo的整合:
1、首先下载安装包:
有关ZooKeeper的介绍,网上很多,也可以参考文章后面,我整理的一些相关链接。
下面,我们简单说明一下ZooKeeper的配置。
环境介绍:
本次安装由于是集群模式,将在三台不同的机器上进行,也可以在同一台机器上,使用不同端口;
server01 192.168.1.30 server02 192.168.1.35 server03 192.168.1.36 OS: CentOs-6.5 jdk: 1.7xx
一、安装准备与单台配置:
1、首先解压zookeeper安装包,并移动到自己制定目录下:
shell> tar zxf zookeeper-3.3.6.tar.gz shell> mv zookeeper-3.3.6 /usr/local/zookeeper
2、创建配置文件,并启动:
shell> cd /usr/local/zookeeper/conf shell> vim zoo.cfg 配置文件内容如下: tickTime=200 dataDir=/usr/local/zookeeper/data/zookeeper clientPort=2181 initLimit=5 syncLimit=2 启动server shell> cd /usr/local/zookeeper/bin/ shell> ./zkServer.sh start
可以根据具体需求配置日志,查看日志或者端口确认是否启动成功;zookeeper的单台配置,到此已完成,相对于来讲,非常简单。
二、集群的配置与注意事项:
1、首先安装单台的步骤一样,配置文件有如下修改:
tickTime=200 dataDir=/usr/local/zookeeper/data/zookeeper clientPort=2181 initLimit=5 syncLimit=2 server.1=192.168.1.30:2888:3888 server.2=192.168.1.35:2888:3888 server.3=192.168.1.36:2888:3888
在这里需要提示的是,如果部署在同一台机器上,端口一定不可以冲突,另外server的配置,可以使用IP也可以时候主机名。将此配置文件,放在三台需要集群的机器上即可;
2、配置集群ID:
在所有需要集群的机器上,根据配置文件中server.x对应的id,来设置每个集群节点的ID即可,存放路径为datadir目录下:
server1主机上操作: server1> echo "1" > /usr/local/zookeeper/data/zookeeper/myid server2主机上操作: server2> echo "2" > /usr/local/zookeeper/data/zookeeper/myid server3主机上操作: server3> echo "3" > /usr/local/zookeeper/data/zookeeper/myid
3、启动集群;
在各个集群节点上,启动zookeeper服务,第一个启动的肯定会有报错信息,因为需要联系其他节点而联系不上,此错误可以忽略,进入到各个机器的zookeeper的bin目录下执行如下命令:
server1 启动: server1> ./zkServer.sh start server2 启动: server2> ./zkServer.sh start server3 启动: server4> ./zkServer.sh start
4、集群启动后的验证:
此验证同样可以使用端口也可以查看zookeeper的状态来判读是否启动正常;
server1> ./zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: leader
server2> ./zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower
server3> ./zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower
至此zookeeper集群启动完成,三个集群的状态,肯定是一个leader和两个follower , 而leader也是随机的,并非固定的某台机器,所以集群中只要有leader即可。
三、与dubbo的整合:
1、首先下载安装包:
wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war[/code]
2、安装tomcat的环境参考其他文档,这里不做详尽描述
3、将此工程解压到tomcat的webapps/ROOT目录下
删除原有测试工程:shell> rm -rf /usr/local/tomcat/webapps/ROOT/*
解压工程到相应目录下:unzip dubbo-admin-2.4.1.war -d /usr/local/tomcat/webapps/ROOT/
修改配置文件,使其可以连接zookeeper:shell> vim /usr/local/tomcat/webapps/ROOT/WEB-INF/dubbo.properties 内容根据实际的端口IP进行配置: dubbo.registry.address=zookeeper://192.168.1.30:2181 dubbo.admin.root.password=root dubbo.admin.guest.password=guest
启动tomcat,访问tomcat端口,出现登录页面即可;用户和密码默认为root
PS:一定要使用jdk1.7版本,在1.8版本中,会出现dubbo工程初始化失败等错误,导致工程启动失败!
相关文章推荐
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- mysql集群之MMM简单搭建
- MySQL的集群配置的基本命令使用及一次操作过程实录
- MySQL slave_net_timeout参数解决的一个集群问题案例
- Redis 集群搭建和简单使用教程
- Windows Server 2003 下配置 MySQL 集群(Cluster)教程
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- Shell脚本实现自动安装zookeeper
- 基于Zookeeper的使用详解
- 用apache和tomcat搭建集群(负载均衡)
- Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置
- Hadoop单机版和全分布式(集群)安装
- java结合HADOOP集群文件上传下载
- Spring3.2.0和Quartz1.8.6集群配置
- (Weblogic Portal 9.2.3集群)Oracle数据库初始化报PF_MARKUP...
- mesos + marathon + docker部署
- 基于zk的配置管理
- HBase基本原理
- HDFS DatanodeProtocol——sendHeartbeat