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” />
 

 


版权声明:本文为dcxmaozi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/dcxmaozi/article/details/102682631