博客
关于我
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/

    你可能感兴趣的文章
    搭建Vue项目步骤
    查看>>
    oracle查看字符集后修改oracle服务端和客户端字符集的步骤
    查看>>
    Oracle闪回查询总结
    查看>>
    HDU——3374 String Problem (最大最小表示法+循环节+kmp)
    查看>>
    求1-n中x(0-9)的个数
    查看>>
    SQL server 2016安装
    查看>>
    Excuses, Excuses! map的应用
    查看>>
    搭建nfs服务器练习
    查看>>
    linux 编译出现的错误
    查看>>
    如何保证消息队列的高可用?
    查看>>
    Flutter-Dart version solving failed
    查看>>
    常见状态码
    查看>>
    MYISAM存储引擎
    查看>>
    什么情况必须使用 statement
    查看>>
    账号转账演示事务
    查看>>
    idea创建工程时错误提醒的是architectCatalog=internal
    查看>>
    E - Another Postman Problem FZU - 2038
    查看>>
    【JavaLearn】 # 培训(一)—— JavaSE查漏补缺
    查看>>
    SpringBoot找不到@EnableRety注解
    查看>>
    简易计算器案例
    查看>>