1.上传zk安装包
2.解压
3.配置(先在一台节点上配置)
3.1添加一个zoo.cfg配置文件
$ZOOKEEPER/conf
mv zoo_sample.cfg zoo.cfg
3.2修改配置文件(zoo.cfg)
dataDir=/itcast/zookeeper-3.4.5/data
server.1=itcast05:2888:3888
server.2=itcast06:2888:3888
server.3=itcast07:2888:3888
3.3在(dataDir=/itcast/zookeeper-3.4.5/data)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)
echo “1” > myid
3.4将配置好的zk拷贝到其他节点
scp -r /itcast/zookeeper-3.4.5/ itcast06:/itcast/
scp -r /itcast/zookeeper-3.4.5/ itcast07:/itcast/
3.5注意:在其他节点上一定要修改myid的内容
在itcast06应该讲myid的内容改为2 (echo “6” > myid)
在itcast07应该讲myid的内容改为3 (echo “7” > myid)
4.启动集群
分别启动zk
./zkServer.sh start
5.常用命令
./zkCli.sh (启动客户端 )
help (帮助 )
ls / (查看根下的节点 )
create /centos08 888 (在根节点下创建节点centos08 并且在创建的节点下 添加数据888 )\
get /centos08 (获取节点下的数据)
6、遇到的错误
一、注意防火墙端口是否开放
二、要等着集群中所有节点都要启动 才可以查看节点状态(不然还以为集群没有启动成功)
——————————————————————————————————————————————————————
添加依赖
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
添加配置:
<!– 使用multicast广播注册中心暴露发现服务地址 –>
<!– <dubbo:registry address=”multicast://224.5.6.7:1234″ /> –>
<!– 使用zookeeper注册中心暴露服务地址 –>
<dubbo:registry address=”zookeeper://127.0.0.1:2181″ register=”false” client=”curator”></dubbo:registry>
dubbo:registry的属性说明:
register是否向此注册中心注册服务,如果设为false,将只订阅,不注册。
check注册中心不存在时,是否报错。当设置为false时,记录失败注册和订阅请求,后台定时重试
subscribe是否向此注册中心订阅服务,如果设为false,将只注册,不订阅。
timeout注册中心请求超时时间(毫秒)。
address可以Zookeeper集群配置,地址可以多个以逗号隔开等。
id用来区分多个注册中心,service可以通过id指定要连接的注册中心
group,用来设置zookeeper的跟节点,缺省为dubbo
protocol显示的指定协议(本位是将协议写在了地址前面)
<dubbo:registry username=”admin” password=”1234″ />设置zookeeper登录信息
dubbo:service
interface服务接口的路径
ref引用对应的实现类的Bean的ID
registry向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A
register 默认true ,该协议的服务是否注册到注册中心。
group:service和reference上也可以配置group,这个用于区分同一个接口的不同实现,只有在reference上指定与service相同的group才会被发现
到此就把multicast的注册中心替换为了zookeeper。如果要运行provider和consumer都必须要先启动zookeeper,并且每次运行都能在zookeeper的日志文件或者终端中看到对应的日志信息。
同一个zookeeper还可以创建多个注册中心:
<dubbo:registry id=”chinaRegistry” protocol=”zookeeper” address=”10.20.153.10:2181″ group=”china” />
<dubbo:registry id=”intlRegistry” protocol=”zookeeper” address=”10.20.153.10:2181″ group=”intl” />