zookeeper集群搭建

来源:互联网 发布:tensorflow things 编辑:程序博客网 时间:2024/05/29 07:22

准备工作

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


开始动手

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

  1. 解压安装包到指定目录下, 然后重命名
    这里写图片描述
  2. 修改环境变量(vi /etc/profile), 然后进行刷新(. /etc/profile)
    这里写图片描述

  3. 进入zk下的conf更改配置文件
    这里写图片描述

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

  5. 服务器标示配置
    进入刚刚创建的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

0 0
原创粉丝点击