博客
关于我
zookeeper入门
阅读量:527 次
发布时间:2019-03-09

本文共 1210 字,大约阅读时间需要 4 分钟。

Zookeeper简介

Zookeeper是一个为分布式应用设计的开源协调服务,主要用于简化分布式应用的协调与管理,提供高性能的分布式服务。最初由Yahoo!开发,后来被Apache维护,成为Hadoop、HBase等分布式框架的标准协调服务。Zookeeper通过分布式集群(由一个Leader和多个Follower组成)实现高可用性和稳定性。

Zookeeper集群角色

Zookeeper集群由两种角色组成:Leader(总统)和Follower(议员)。Leader负责发起投票和更新系统状态,Follower负责接收请求并参与投票。只要集群中至少半数以上节点存活,集群就能正常提供服务,确保高可用性。

Zookeeper主要特性

Zookeeper是一个分布式协调服务,为其他分布式程序提供协调功能,支持单机版和集群版运行。自身也是一个分布式程序,保证半数以上节点存活即可正常服务。其服务涵盖主从协调、服务器节点线、统一配置管理、分布式共享锁和统一名称服务等。尽管提供多种服务,但Zookeeper底层仅实现两个核心功能:管理用户程序提交的数据,并为程序提供数据节点监听服务。

Zookeeper集群安装

环境准备

搭建三台虚拟机用于Zookeeper集群,网络地址如下:

hostname ipaddress
master 192.168.146.200
slave1 192.168.146.201
slave2 192.168.146.202

选择三台机器的原因在于确保容错率和防脑裂。三台机器中,至少两台需存活以保证集群可用性,且能防止脑裂导致的多个Leader情况。

集群配置

  • 下载Zookeeper

    • 官网下载地址
  • 安装JDK

    • 安装步骤见文档
  • 解压Zookeeper

    • 在/usr/local/software新建software目录,解压zookeeper-3.3.6.tar.gz
  • 修改配置文件

    • 解压后进入conf目录
    • 复制zoo_sample.cfg为zoo.cfg并修改配置
    • 配置dataDir,创建指定目录并确保myid文件正确配置
  • 创建myid文件

    • 在dataDir下创建myid文件,内容与server.x配置一致
  • 配置环境变量

    • 添加ZK_HOME和PATH变量
    • 使用source命令使环境变量生效
  • 启动Zookeeper

    • 执行zkServer.sh start命令启动集群
    • 查看状态:zkServer.sh status
  • 集群运行验证

    三台机器启动后,slave1作为Leader,其他两台为Follower。若slave1断开,新Leader将自动选举。

    常见问题解决

  • 防火墙关闭

    • 使用chkconfig iptables off关闭防火墙
  • dataDir配置错误

    • 确保dataDir目录已创建且myid文件正确配置
  • 通过以上步骤,可以成功搭建Zookeeper集群并验证其运行状态。

    转载地址:http://dwaiz.baihongyu.com/

    你可能感兴趣的文章
    linux kernel version magic 不一致导致的模块 加载 (insmod) 不上
    查看>>
    centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
    查看>>
    MySQL 1064 You have an error in your SQL syntax 错误解决办法
    查看>>
    【Flink】Flink 底层RPC框架分析
    查看>>
    MySQL错误日志(Error Log)
    查看>>
    oracle使用DBMS_RANDOM包生成随机数据
    查看>>
    C++高精度模板
    查看>>
    解决:angularjs radio默认选中失效问题
    查看>>
    windows环境下安装zookeeper(仅本地使用)
    查看>>
    缓冲区溢出实例(一)--Windows
    查看>>
    Badboy录制脚本时,提示脚本错误的解决方法
    查看>>
    PHP一句话木马小总结与SQL语句写一句话木马
    查看>>
    关于计数排序
    查看>>
    Python中字符串前添加r ,b, u, f前缀的含义
    查看>>
    Hadoop学习笔记—Yarn
    查看>>
    JSONPath小试牛刀之Snack3
    查看>>
    Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
    查看>>
    2017年前端框架、类库、工具大比拼
    查看>>
    wxWidgets源码分析(1) - App启动过程
    查看>>
    wxWidgets源码分析(3) - 消息映射表
    查看>>