Linux:centos6.4
Jdk:1.7以上版本
Zookeeper是java开发的可以运行在windows、linux环境。需要先安装jdk。
安装步骤
第一步:安装jdk
第二步:把zookeeper的压缩包上传到linux系统的root目录中。(使用SSH图形化工具)
第三步:解压缩压缩包
tar -zxvf zookeeper-3.4.6.tar.gz
(z表示文件类型是zip类型,x表示解压,v表示显示解压过程,f表示指定要压缩包的文件名是什么)
zookeeper目录中的内容为:
第四步:进入zookeeper-3.4.6目录,创建data文件夹(mkdir data)。
第五步:进入conf目录下把zoo_sample.cfg改名为zoo.cfg
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
第六步:编辑zoo.cfg,修改data属性:dataDir=/root/zookeeper-3.4.6/data
vim zoo_sample.cfg
然后按i启动插入模式,然后将dataDir修改为新创建的data的目录
修改完成之后,按esc,然后:wq保存
然后我们使用cat命令可以看到这个是否已经配置完毕了
第七步:启动zookeeper,进入到bin目录
[root@localhost bin]# ./zkServer.sh start
关闭:[root@localhost bin]# ./zkServer.sh stop
查看状态:[root@localhost bin]# ./zkServer.sh status
关闭防火墙(不关闭防火墙zookeeper的端口可能访问不到)
service iptables stop(每次重启系统都需要重新关系)
永久关闭防火墙(开机不启动防火墙)
chconfig iptables off
问题
有的时候start启动正常,但是查看status发现没有启动,此时我们可以去data下将zookeeper_server.pid给删除掉就可以了
安装完zookeeper之后,我们需要配置它,让它作为web和service之间交流的中介。
无论是web层中还是service中,我们都需要导入dubbo约束,还有dubbo依赖的jar包
1.导入dubbo的约束
首先导入jar包,具体来说是在e3-manager-Service、e3-manager-web工程中pom.xml添加dubbo依赖的jar包(包含zookeeper),如下所示,下面将不依赖spring还有netty,因为之前已经将spring的版本给导入了
接口
注册中心对service和web的沟通是使用接口来完成的,
applicationContext-service
所以在applicationContext-service的配置文件中添加dubbo的约束,然后使用dubbo:service发布服务。
service是manager的一部分,所以name=e3-manager
address表示zookeeper的地址
然后需要声明需要暴露的服务接口,因为service依赖了interface,所以可以直接使用interface,ref对应接口的实现类id(因为实现类被@Service标注了,所以已经存在容器中了,所以这里可以直接引用)
springmvc.xml
reference表示对应的接口,需要和service两个接口是一致的,那么就和service的接口匹配上了,那么web就可以调用service了,这是因为web调用service的核心是:
这样虽然web没有依赖service,但是由于zookeeper的作用,使用web也可以获取到itemService,这样使用方法就和之前一样了,调用itemService的方法了。
之后启动服务器,先启动manager,然后启动
监控中心
我们可以安装监控中心,具体来说就是将监控中心(war)包,放到tomcat的webapps下就可以了
这个监控中心对应一个war包:
我们将其放到tomcat中
cp dubbo-admin-2.5.4.war usr/local/apache-tomcat-7.0.47/webapps/dubbo-admin.war
复制过去并且改了一个名字,之后启动tomcat
访问http://192.168.25.167:8080/dubbo-admin/
用户名:root
密码:root
如果监控中心和注册中心在同一台服务器上,可以不需要任何配置。
如果不在同一台服务器,需要修改配置文件:
/root/apache-tomcat-7.0.47/webapps/dubbo-admin/WEB-INF/dubbo.properties