游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服电话

    020-85534346

    电子邮件

    81058337@qq.com
  • 码云社APP

    随时掌握码云社动态

  • 扫描二维码

    关注砺锋微信公众号

zookeeper+dubbo入门搭建+dubbo的管理后台使用

发布时期:2019-5-24 15:54
阅读:983 回复:20

一、zookeepr安装首先下载zookeeper-3.4.14。下载地址http://www.apache.org/dist/zookeeper/下载好之后创建几个目录,然后每个目录里面解压一份,我没那么多机器只能做成伪分布式。然后在每个目录里面创建一个data ...

一、zookeepr安装

首先下载zookeeper-3.4.14。

下载地址 http://www.apache.org/dist/zookeeper/

下载好之后 创建几个目录,然后每个目录里面解压一份,我没那么多机器只能做成伪分布式。

然后在每个目录里面创建一个data文件夹,里面创建一个文件myid写着每个文件对应的server ID.

比如我创建了三个目录,分别是server1、server2、server3,三个目录下都创建了data文件夹,data文件夹里面创建了myid文件,各自对应的写了 id在里面,也就是server1里面的data 的myid 写的是1 ,server2写的2。然后修改zookeepr 的启动配置,将解压出来的zookeepr里面的conf/zoo_sample.cfg 复制一份,重命名为zoo.cfg

然后修改

dataDir=D:/Program_Files/zookeeper/server1/data --data目录的配置,我放在D盘

clientPort=2181 --端口 每个server 都要不一样

server.1=127.0.0.1:8881:7771

server.2=127.0.0.1:8882:7772

server.3=127.0.0.1:8883:7773

最后几行唯一需要注意的地方就 是 server.X 这个数字就是对应 data/myid中的数字。你在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配 server.1,server.2,server.3就OK了。因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其 中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。

进 入zookeeper-3.3.2/bin 目录中,./zkServer.sh start启动一个server,这时会报大量错误?其实没什么关系,因为现在集群只起了1台server,zookeeper服务器端起来会根据 zoo.cfg的服务器列表发起选举leader的请求,因为连不上其他机器而报错,那么当我们起第二个zookeeper实例后,leader将会被选 出,从而一致性服务开始可以使用,这是因为3台机器只要有2台可用就可以选出leader并且对外提供服务(2n+1台机器,可以容n台机器挂掉)。

每个zookeepr 都要对应的配置,然后点击zkServer.cmd 启动,前面启动的都会报错,不用理会。

随便找其中的一个server1/bin/zkCli.cmd 文件启动,测试下是否启动成功,

zookeeper+dubbo入门搭建+dubbo的管理后台使用

那么,首先我们随便打个命令,因为zookeeper不认识,他会给出命令的help,如下图

zookeeper+dubbo入门搭建+dubbo的管理后台使用

ls(查看当前节点数据),

ls2(查看当前节点数据并能看到更新次数等数据) ,

create(创建一个节点) ,

get(得到一个节点,包含数据和更新次数等数据),

set(修改节点)

delete(删除一个节点)

这个时候证明zookeepr 的服务已经正常启动了。

注意:JDK1.7最佳。

二、duboo搭建

1.新建一个web项目,我是用的maven创建的,另外必须的两个包有duboo和zookeepr的client包,还有些log包就自己看着加。

com.alibaba

dubbo

2.5.3

org.springframework

spring

com.101tec

zkclient

0.4

2.创建一个接口,一个实体类,一个接口实现类。

package com.midou.provider.entity;

import java.io.Serializable;

public class User implements Serializable{

private static final long serialVersionUID = 7559583273912099291L;

private String name;

private String sex;

private Integer age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

}

package com.midou.provider.server;

import java.util.List;

public interface DemoServer {

public String sayHello(String name);

public List getUsers();

}

package com.midou.provider.server.impl;

import com.midou.provider.entity.User;

import com.midou.provider.server.DemoServer;

import org.springframework.stereotype.Service;

import java.util.ArrayList;

import java.util.List;

//@Service

public class DemoServiceImpl implements DemoServer {

public String sayHello(String name) {

return "hello," + name;

}

public List getUsers() {

List list = new ArrayList();

User u1 = new User();

u1.setName("jack");

u1.setAge(20);

u1.setSex("男");

User u2 = new User();

u2.setName("tom");

u2.setAge(21);

u2.setSex("女");

User u3 = new User();

u3.setName("rose");

u3.setAge(19);

u3.setSex("女");

list.add(u1);

list.add(u2);

list.add(u3);

return list;

}

}

3.然后配置spring.xml

4.然后将项目运行起来就完成了服务的提供,然后实现服务的使用方法。这里提供一个main方法

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Provider {

public static void main(String[] args) throws Exception {

//读取配置文件

new ClassPathXmlApplicationContext(new String[]{"spring.xml"});

System.out.println("provider服务已注册");

//使线程阻塞

System.in.read();

}

}

以上是服务提供者的配置,至于消费者,只需将服务提供者拷贝过来,然后写个和提供服务一样的接口,另外把实体类也拷贝过来。至于具体是什么,大家可以参考一下代码。不参考就自己揣测一下。

然后把这两个服务都起来,就OK了。

三、dubbo的管理后台使用

管理平台可以查看自己的dubbo服务,查看使用状态什么的。

需要下载dubbo-admin-2.4.1.war 包,下载地址http://download.csdn.net/detail/wangzhi291/9558577

新找一个Tomcat tomcat/webapps/ROOT/目录下的东西必须删除干净,然后将war包解压到这个目录下来,

是ROOT目录下,然后配置解压后的dubbo.properties 文件,直接修改就可以;

文件地址为 webapps/ROOT/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.admin.root.password=root

dubbo.admin.guest.password=guest

将红色的修改为你的地址和端口就行。然后启动tomcat

在浏览器上输入自己的IP和端口就行,然后提示用户名和密码 root/root就行

zookeeper+dubbo入门搭建+dubbo的管理后台使用

zookeeper+dubbo入门搭建+dubbo的管理后台使用

zookeeper+dubbo入门搭建+dubbo的管理后台使用

1341313635(未知职业)-本文作者
这个人很懒,什么也没有留下。
983 20 2019-5-24 15:54
该文章已有20人参与评论

请发表评论

全部评论

查看全部评论>>

扫一扫关注官方微信号

最前沿的技术信息一手掌握

滚动新闻
CODESEEDING(码云社)一家致力于程序员成长、以内容为核心、以提问为引导的多元化成长社区。我们在线上为技术爱好者提供了一个优质的交流氛围环境,在线下同样和众多高校联合开办了技术沙龙品牌。
020-85534346
关注我们
  • 访问移动H5版
  • 官方微信公众号

码云社 - CODESEEDING 2.0© 2018-2019 码云社. TOOBUG ( 粤ICP备16114193号-3 )