单机版--
1.下载zookeeper,解压
2.进入解压文件下的conf下
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
编译:数据和日志存储位置(如果用默认位置,注意权限问题)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/services/zookeeper/zookeeper1/data 数据存储位置
dataLogDir=/usr/local/services/zookeeper/zookeeper1/logs 日志
clientPort=2181
命令:
./zkServer.sh start 启动
./zkServer.sh stop 停
./zkServer.sh restart 重启
./zkServer.sh status 状态
admin管理界面:
下载地址:https://github.com/apache/incubator-dubbo ,如果找不到dubbo-admin,可以修改Branch来查找。
文件下下来,进入 dubbo-admin\src\main\webapp\WEB-INF下修改dubbo.properties.
添加(一般是自带的,直接修改即可)
dubbo.registry.address=zookeeper://192.168.12.122:2181 把IP地址改成自己的
dubbo.admin.root.password=root 账号/密码 都是 root
dubbo.admin.guest.password=guest 账号/密码 都是 guest
然后在/dubbo-admin下 打开PowerShell命令行模式 打包:
一般用此命令: mvn package -Dmaven.skip.test=true
win10下用此命令: mvn clean install package '-Dmaven.test.skip=true'
整个tomcat,将war 包扔到webapps下,运行tomcat,访问管理界面地址:http://ip:端口/dubbo-admin-2.6.0
集群---(3个)
解压文件copy两份:
cp -r zookeeper-3.4.13 自定名
1.编译zoo.cfg区别:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/services/zookeeper/zookeeper1/data 存储在各自zoo下的data
dataLogDir=/usr/local/services/zookeeper/zookeeper1/logs 存储在各自zoo下的logs
clientPort=2181 根据需求修改
添加(本机搭建的是伪集群,具体改为个zoo所在ip)
server.1=192.168.12.122:2887:3887
server.2=192.168.12.122:2888:3888
server.3=192.168.12.122:2889:3889
解释:
server.A=B:C:D:
A是一个数字,表示这个是第几号服务器,B是这个服务器的ip地址
C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口
D是在leader挂掉时专门用来进行选举leader所用
2.在各自zoo下data文件夹下配置一个文件myid,这个文件在dataDir目录下,这个文件里面就有一个数据就是A的值,在上面配置文件中zoo.cfg中配置的dataDir路径中创建myid文件
echo "1" > myid 其中的数字看自己给那个zoo分配
springboot2.0测试(yml)--
提供方:
1.pom.xml下添加
com.alibaba.spring.boot
dubbo-spring-boot-starter
2.0.0
com.github.sgroschupf
zkclient
0.1
2.接口
public interface DubboDemo {
String getMessage(String message);
}
3.实现
@Service (注意:此注解是dubbo的Service,不是spring的)
@Component
public class DubboDemoImpl implements DubboDemo {
@Override
public String getMessage(String message) {
return message;
}
}
4.yml添加
dubbo:
server: true
application:
name: provider
registry:
address: zookeeper://192.168.12.122:2181
# 集群版只修改address :zookeeper://192.168.12.122:2181?
# backup=192.168.12.122:2182,192.168.12.122:2183
protocol:
name: dubbo
port: 20880
scan: com.bootdo.demo.dubbo.service
5.启动app上添加注解:
@EnableDubboConfiguration
消费方:依赖一样,启动app注释一样,接口一样(接口必须同包同名:可以抽出来做消费方/提供方公用的api)
yml修改为:
spring:
dubbo:
application:
name: consumer
registry:
address: zookeeper://192.168.12.122:2181
protocol:
name: dubbo
调用:
@Component
public class DuDemo {
@Reference
private DubboDemo dubboDemo;
public String getMess(String message){
return dubboDemo.getMessage(message);
}