zoukankan      html  css  js  c++  java
  • Zookeeper 入门,看这篇就够了

    Zookeeper 简介 与 集群配置

    【Storm的各个组件间是通过这个组件进行通信】
    简介:
    Zookeeper是一个开源的分布式协调服务的框架,使各个机器进行之间进行通信

    1.1核心功能:
    • 文件系统
    • 通知机制

    文件系统:

    类似于linux的文件系统目录结构,从根目录(/)开始

    1.每一个目录都是一个znode节点

    2.每一个znode节点可直接存储数据

    3.类型:持久化,持久化顺序,临时,临时顺序

    通知机制:

    • 客户端监听关心的znode节点
    • Znode节点有变化(数据改变、删除、子目录添加删除),通知客户端处理
    1.2 zookeeper的安装

    下载:直接去官网:zookeeper.apache.org或CDH5进行下载
    /opt/soft [下载位置]
    /opt/module 【解压位置】
    下载 *.tar.gz
    解压 tar –zxvf *tar.gz –C /apps

    解压后的主要目录结构:
    bin:包含

    • zkCli.sh 【命令行客户端,可以去连接到这个文件系统,类似于hadoop fs】
    • zkCleanup.sh [zk是一个小型文件系统,用于清理数据信息,保证各个节点的数据一致]
    • zkEnv.sh [环境变量的一些东西]
    • zkServer.sh 【zk服务器的启动停止等操作】

    conf:包含

    • log4j.properties 日志输出级别
    • zoo_sample.cfg mv zoo_sample.cfg zoo.cfg
    • [tickTime:客户端与zk服务器的心跳时间,各个znode节点也要保持心跳]
    • InitLimit 启动集群时候,选举Nimbus节点的最大时间 tickTime* InitLimit
    • SyncLimit 集群中各个znode节点进行数据同步时候,保持数据一致性,进行数据同步的最大时间,超过这个时间,数据会同步失败
    • dataDir zookeeper是一个小型的文件系统,将数据存放在哪里配置
    • clientPort 客户端访问zk服务器的端口号2181去连接到这个服务器

    在解压后的目录新建一个data的目录用于存放zk的数据
    将$ZK_HOME/data 替换conf/zoo.cfg 中的dataDir

    启动bin/zkServer.sh start
    Jps
    Or
    bin/zkServer.sh status

    • standalone状态
    1.3 zk的命令行客户端

    去连接zk服务器
    bin/zkCli.sh
    这样会连接本地的zk服务器‘
    里面的操作类似于linux的操作
    输入ls
    查看根目录有什么 ls /
    查看目录下面的数据 get /
    创建目录 create /test 111
    查看数据 get /test 得到111
    修改数据 set /test 222
    再次查看: get /test 得到222
    删除数据rmr /test
    再次查看 ls / 无test目录

    1.4 zookeeper的集群搭建

    (推荐1,3,5这样的节点数,在进行节点选举的时候,保证能选举一个主节点出来)

    启动三个机器
    配置第一台
    步骤一:在单机的基础(解压后修改dataDir的目录)上,添加配置项
    server. 这个id是唯一的
    2888端口 服务器之间是需要进行数据的同步的
    3888端口 集群在启动的时候进行选举Nimbus节点

    server.1=192.168.1.1:2888:3888
    server.2=192.168.1.2:2888:3888
    server.3=192.168.1.3:2888:3888
    

    步骤二: 在什么地方进行存储,当前机器是哪一个ID
    在$ZK_HOME/data 目录下 新建文件myid 用于存储这个id
    Vim $ZK_HOME/data/myid 写入1 :wq即可
    步骤三:拷贝第一台服务器到其余两台服务器上面去

    scp -r zookeeper-3.4.5/ root@192.168.1.2:/opt/module
    即可
    在这之前可以配置ssh的免密码登录

    拓展:

    1.HOSTNAME主机名:vim /etc/sysconfig/network

    2.配置ip与主机名之间的映射关系
    Vim /etc/hosts
    192.168.1.1 hadoop001
    192.168.1.2 hadoop002
    192.168.1.3 hadoop003

    启动zk集群
    在每一台上面都要进行启动,bin/zkServer.sh start
    Bin/zkServer.sh status 状态为:leader 主节点
    Bin/zkServer.sh status 状态为:follower 从节点

    ZKcli从1-2-3
    192.168.1.1可以使用bin/zkCli.sh -server 192.168.1.2:2181
    进入之后,connect 192.168.1.3:2181

  • 相关阅读:
    Markdown 简明语法手册
    linuxmint
    添加 Windows 8.1 无虚拟机启动项 解决极品飞车的不支持虚拟机报错
    工作室案例在线展示
    流风ASP.NET框架商业版-工作流1.0简介
    GNS3的使用2
    再见
    JSR303结合切面校验参数
    统一异常处理
    分布式会话
  • 原文地址:https://www.cnblogs.com/liuge36/p/12614767.html
Copyright © 2011-2022 走看看