zookeeper集群搭建

    xiaoxiao2021-03-25  59

    准备工作

    安装zookeeper之前需要先安装jdk, 然后准备zookeeper的安装包, 下面在三台机器上进行zookeeper集群搭建 .


    开始动手

    注 : 为了方便下面zookeeper统一用zk代替.

    解压安装包到指定目录下, 然后重命名

    修改环境变量(vi /etc/profile), 然后进行刷新(. /etc/profile)

    进入zk下的conf更改配置文件

    修改zoo.cfg配置文件 (1) 修改dataDir路径 : 修改路径之后, 需要在zk目录下创建data目录 (2) 配置集群中节点信息, 关于这种配置方式后面会说明 .

    服务器标示配置 进入刚刚创建的data目录下, 然后创建文件myid, 并填写内容(内容为服务标示:0/1/2…). 这里一共三台机器, 所以各自目录下的myid不相同, 分别是0,1,2 . 这样集群的配置其实已经差不多.


    zoo.cfg文件

    大致了解下zoo.cfg配置文件中参数含义 :

    tickTime : zk服务器之间或者客户端和服务器之间维持心跳的时间间隔, 也就是每个tickTime时间就会发送一个心跳 .dataDir : 保存数据的位置 . clientPort : 客户端连接zk服务器端口 , initLimit : zk接收客户端初始化连接时最长容忍多少心跳时间间隔 . server.A = B:C:D : A表示这是第几号服务器 . B 表示这个服务器ip地址 C表示这个服务器和集群的Leader服务器交换信息端口 D表示万一集群中Leader服务器挂了, 需要一个端口进行重新选举, 选出一个新的leader .

    出现问题

    出现java.net.NoRouteToHostException: No route to host 以后做分布式集群相关学习, 都把防火墙关掉 . 由于本人使用centos7, 默认使用的是firewalld, 这是基于iptables的, 虽然有iptables核心, 但是iptables的服务没有安装,所以只要停掉firewalld服务即可 . systemctl stop firewalld.service && sudo systemctl disable firewalld.service 如果要改用iptables的话需要安装iptables服务. 安装:yum install iptables 关闭 : chkconfig iptables off

    启动并使用

    进入bin目录下,执行”./zkServer.sh start”. 启动服务器 执行zkCli.sh, 启动客户端 . 命令 : 查找 : ls /zookeeper 创建并赋值 : create /zhangyan mayuan (/zhangyan相当于key, mayuan相当于value) 获取 : get /zhangyan 设值 : set /zhangyan mayuan 递归删除 : rmr /path 删除指定节点 : delete /path/child

    转载请注明原文地址: https://ju.6miu.com/read-37044.html

    最新回复(0)