zoukankan      html  css  js  c++  java
  • 搭建ZooKeeper集群环境

    准备环境 : 至少3个hadoop节点.

    zookeeper概念
    1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致。数据不能太大,默认为2mb以下.

    安装zookeeper
    2. 如何搭建ZooKeeper服务器集群
     2.1 zk服务器机群规模不小于3个节点,要求各服务器之间系统时间要保持一致(保证方法?)。
      

    1 date -s 01/04/2015
    2 date -s 12:04:20
    3 clock -w

     2.2 在hadoop的/opt/目录下,解压缩 tar -zxvf zookeeper-3.4.5.tar.gz。并且设置环境变量 /etc/profile。
     2.3 在zk目录下的conf目录下,修改文件cp zoo_sample.cfg zoo.cfg
     2.4 编辑该文件,执行vi zoo.cfg
     

    1 修改 dataDir=/opt/zk/data
    2 在末尾添加
    3  server.0=hadoop0:2888:3888
    4  server.1=hadoop1:2888:3888
    5  server.2=hadoop2:2888:3888

     2.5 创建文件夹mkdir /opt/zk/data
     2.6 在该data目录下,创建文件myid,并且赋值为0
     2.7 把zk目录复制到hadoop1和hadoop2中。

    1 scp -r /opt/zk hadoop1:/opt/zk
    2 scp -r /opt/zk hadoop2:/opt/zk

     2.8 把hadoop1中对应的myid的值修改为1
           把hadoop2中对应的myid的值修改为2
     2.9 启动,在三个节点上分别执行命令zkServer.sh start
     2.10 验证,在三个节点上分别执行命令zkServer.sh status
     

    实验: 启动后可以查看日至zookeeper.out文件 tail -f zookeeper.out日志文件
    -----------------------------总结---------------------------------------------

    参与election(选举)的节点的模式:
     model:
        follower
        leader
     结论: 一个节点的伪分布与实际脱离太远. 真实环境中肯定是集群分布.
           运行中当zk Leader节点挂了话,zk会选举一个节点作为Leader节点.
     
     模拟zk保证数据一致问题操作方式:
      命令行操作
      Java API操作(很少用到)
     zkCli.sh
      其中zk相当于文件系统的目录结构,保证数据的一致性。
      java 和 shell 脚本都可以操作
     分布式应用
     
     补充:zk的节点类型:
      短暂型:ephemeral
      持久型:persistent

    关于更详细的ZooKeeper内容请参考网上更详细的讲解,此内容为以后学习Hadoop基础上的HBase作准备.

  • 相关阅读:
    创建者模式 -- 单例模式(反射&序列化)
    设计模式(总)
    并不是static final 修饰的变量都是编译期常量
    内部类和静态内部类的加载顺序
    所有的Java虚拟机必须实现在每个类或接口被Java程序 “ 首次主动使用 ” 时才初始化他们
    24 shell 管道命令与过滤器
    26 bash shell中的信号
    25 Linux中的信号
    23 shell 进程替换
    22 shell组命令与子进程
  • 原文地址:https://www.cnblogs.com/hnxubin/p/4398773.html
Copyright © 2011-2022 走看看