当前位置: 首页 > news >正文

广西高端网站建设门户网站集群建设方案

广西高端网站建设,门户网站集群建设方案,商城类网站备案,江苏宜兴做网站的电话目录 下载地址 本地模式安装 1)安装前准备 2)配置修改 3)操作 Zookeeper 配置参数解读 Zookeeper 集群操作 集群规划 解压安装 配置服务器编号 配置 zoo.cfg 文件 集群操作 Zookeeper 集群启动停止脚本 创建脚本 增加脚本执行权限 …

目录

下载地址

 本地模式安装

1)安装前准备

2)配置修改

3)操作 Zookeeper

 配置参数解读

 Zookeeper 集群操作

集群规划

解压安装

配置服务器编号

配置 zoo.cfg 文件

集群操作

 Zookeeper 集群启动停止脚本

创建脚本

增加脚本执行权限

Zookeeper 集群启动脚本

Zookeeper 集群停止脚本

Zookeeper 选举机制(面试重点)

首次启动选举

非首次启动选举

关键术语解释


下载地址

官网首页:

Apache ZooKeeper

 本地模式安装

1)安装前准备

1 )安装 JDK
Linux环境安装 JDKicon-default.png?t=N7T8https://blog.csdn.net/qq_45115959/article/details/141403400?spm=1001.2014.3001.5502
2 )拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下
3 )解压到指定目录
[lzl@hadoop12 software]$ tar -zxvf apache-zookeeper-3.5.7-
bin.tar.gz -C /opt/module/
4 )修改名称
[lzl@hadoop12 module]$ mv apache-zookeeper-3.5.7 -bin/
zookeeper-3.5.7

2)配置修改

1 )将 /opt/module/zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg
[lzl@hadoop12 conf]$ mv zoo_sample.cfg zoo.cfg
2 )打开 zoo.cfg 文件,修改 dataDir 路径:
[lzl@hadoop12 zookeeper-3.5.7]$ vim zoo.cfg修改如下内容:
dataDir=/opt/module/zookeeper-3.5.7/zkData
3 )在 /opt/module/zookeeper-3.5.7/ 这个目录上创建 zkData 文件夹
[lzl@hadoop12 zookeeper-3.5.7]$ mkdir zkData

3)操作 Zookeeper

1 )启动 Zookeeper
[lzl@hadoop12 zookeeper-3.5.7]$ bin/zkServer.sh start
2 )查看进程是否启动
[lzl@hadoop12 zookeeper-3.5.7]$ jps
4020 Jps
4001 QuorumPeerMain
3 )查看状态
[lzl@hadoop12 zookeeper-3.5.7]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: standalone
4 )启动客户端
[lzl@hadoop12 zookeeper-3.5.7]$ bin/zkCli.sh
5 )退出客户端:
[zk: localhost:2181(CONNECTED) 0] quit
6 )停止 Zookeeper
[lzl@hadoop12 zookeeper-3.5.7]$ bin/zkServer.sh stop

 配置参数解读

Zookeeper 中的配置文件 zoo.cfg 中参数含义解读如下:
1 tickTime = 2000 :通信心跳时间, Zookeeper 服务器与客户端心跳时间,单位毫秒
2 initLimit = 10 LF 初始通信时限
Leader Follower 初始连接 时能容忍的最多心跳数( tickTime 的数量)
3 syncLimit = 5 LF 同步通信时限
Leader Follower 之间通信时间如果超过 syncLimit * tickTime Leader 认为 Follwer
掉,从服务器列表中删除 Follwer
4 dataDir 保存 Zookeeper 中的数据
注意:默认的 tmp 目录,容易被 Linux 系统定期删除,所以一般不用默认的 tmp 目录。
5 clientPort = 2181 :客户端连接端口,通常不做修改。

 Zookeeper 集群操作

  1. 集群规划
    • 在 hadoop12、hadoop13 和 hadoop14 三个节点上部署 Zookeeper。
    • 思考:如果是 10 台服务器,建议部署奇数台 Zookeeper,如 3 或 5 台,以确保选举机制的有效性。
  2. 解压安装
    1. 在 hadoop12 解压 Zookeeper 安装包至 /opt/module/ 目录。
    [lzl@hadoop12 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
    1. 修改 apache-zookeeper-3.5.7-bin 目录名为 zookeeper-3.5.7
    [lzl@hadoop12 module]$ mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
  3. 配置服务器编号
    1. 在 /opt/module/zookeeper-3.5.7/ 创建 zkData 目录。
    [lzl@hadoop12 zookeeper-3.5.7]$ mkdir zkData
    1. 在 /opt/module/zookeeper-3.5.7/zkData 目录下创建 myid 文件。
    [lzl@hadoop12 zkData]$ vi myid
    • 在文件中添加与 server 对应的编号(注意不要有多余的空白字符)。
      2
    1. 拷贝配置好的 Zookeeper 到其他机器上,并在 hadoop13、hadoop14 上修改 myid 文件的内容为 3、4。
    [lzl@hadoop12 module ]$ xsync zookeeper-3.5.7
  4. 配置 zoo.cfg 文件
    1. 重命名 /opt/module/zookeeper-3.5.7/conf/ 目录下的 zoo_sample.cfg 为 zoo.cfg
    [lzl@hadoop12 conf]$ mv zoo_sample.cfg zoo.cfg
    1. 打开 zoo.cfg 文件并配置数据存储路径及集群信息。
    [lzl@hadoop12 conf]$ vim zoo.cfg
    • 修改数据存储路径配置。
      dataDir=/opt/module/zookeeper-3.5.7/zkData
    • 增加集群配置。
      server.2=hadoop12:2888:3888
      server.3=hadoop13:2888:3888
      server.4=hadoop14:2888:3888
    1. 同步 zoo.cfg 配置文件至其他节点。
    [lzl@hadoop12 conf]$ xsync zoo.cfg
  5. 集群操作
    1. 分别启动 Zookeeper。
    [lzl@hadoop12 zookeeper-3.5.7]$ bin/zkServer.sh start
    [lzl@hadoop13 zookeeper-3.5.7]$ bin/zkServer.sh start
    [lzl@hadoop14 zookeeper-3.5.7]$ bin/zkServer.sh start
    1. 查看状态。
    [lzl@hadoop12 zookeeper-3.5.7]# bin/zkServer.sh status
    JMX enabled by default
    Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
    Mode: follower
    [lzl@hadoop13 zookeeper-3.5.7]# bin/zkServer.sh status
    JMX enabled by default
    Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
    Mode: leader
    [lzl@hadoop14 zookeeper-3.5.7]# bin/zkServer.sh status
    JMX enabled by default
    Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
    Mode: follower

 Zookeeper 集群启动停止脚本

  1. 创建脚本

    • 在 hadoop12 的 /home/lzl/bin 目录下创建脚本。
      [lzl@hadoop12 bin]$ vim zk.sh
    • 编写脚本内容。
      #!/bin/bash
      case $1 in
      "start"){for i in hadoop12 hadoop13 hadoop14doecho "---------- zookeeper $i 启动 ------------"ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"done};;
      "stop"){for i in hadoop12 hadoop13 hadoop14doecho "---------- zookeeper $i 停止 ------------"ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"done};;
      "status"){for i in hadoop12 hadoop13 hadoop14doecho "---------- zookeeper $i 状态 ------------"ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"done};;
      esac
  2. 增加脚本执行权限

    [lzl@hadoop12 bin]$ chmod u+x zk.sh
  3. Zookeeper 集群启动脚本

    [lzl@hadoop12 module]$ zk.sh start
  4. Zookeeper 集群停止脚本

    [lzl@hadoop12 module]$ zk.sh stop

Zookeeper 选举机制(面试重点)

Zookeeper 的选举机制是为了确保集群中始终有一个 Leader 存在,以便进行数据更新和协调工作。下面是 Zookeeper 的选举机制详解,分为首次启动选举和非首次启动选举两种情况。

首次启动选举

  1. 服务器1启动

    • 发起一次选举。服务器1投自己一票。此时服务器1票数为1票,由于不足半数以上(3票),选举无法完成,服务器1状态保持为 LOOKING。
  2. 服务器2启动

    • 再发起一次选举。服务器1和2分别投自己一票并交换选票信息。
    • 此时服务器1发现服务器2的 myid 比自己目前投票推举的(服务器1)大,更改选票为推举服务器2。
    • 此时服务器1票数为0票,服务器2票数为2票,没有半数以上结果,选举无法完成,服务器1,2状态保持 LOOKING。
  3. 服务器3启动

    • 发起一次选举。此时服务器1和2都会更改选票为服务器3。
    • 此次投票结果:服务器1为0票,服务器2为0票,服务器3为3票。
    • 此时服务器3的票数已经超过半数,服务器3当选 Leader。服务器1,2更改状态为 FOLLOWING,服务器3更改状态为 LEADING。
  4. 服务器4启动

    • 发起一次选举。此时服务器1,2,3已经不是 LOOKING 状态,不会更改选票信息。
    • 交换选票信息结果:服务器3为3票,服务器4为1票。
    • 此时服务器4服从多数,更改选票信息为服务器3,并更改状态为 FOLLOWING。
  5. 服务器5启动

    • 同服务器4一样,成为 FOLLOWER。

非首次启动选举

  1. 触发条件

    • 服务器初始化启动。
    • 服务器运行期间无法和 Leader 保持连接。
  2. 现有 Leader 场景

    • 如果集群中本来就存在一个 Leader,则新加入的服务器会直接和当前 Leader 进行连接,并同步状态,然后成为 FOLLOWER。
  3. 无 Leader 场景

    • 假设 Zookeeper 由5台服务器组成,SID 分别为 1、2、3、4、5,ZXID 分别为 8、8、8、7、7,并且此时 SID 为 3 的服务器是 Leader。某一时刻,3 和 5 服务器出现故障,因此开始进行 Leader 选举。
    • (EPOCH,ZXID,SID )
      • SID 为 1、2、4 的机器投票情况:(1,8,1)、(1,8,2)、(1,7,4)
    • 选举 Leader 规则:
      • EPOCH 大的直接胜出
      • EPOCH 相同,事务 ID 大的胜出
      • 事务 ID 相同,服务器 ID 大的胜出

关键术语解释

  • SID (Server ID):用来唯一标识一台 ZooKeeper 集群中的机器,每台机器不能重复,与 myid 一致。
  • ZXID (Zxid):是一个事务 ID,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的 ZXID 值不一定完全一致,这和 ZooKeeper 服务器对于客户端“更新请求”的处理逻辑有关。
  • EPOCH:每个 Leader 任期的代号。没有 Leader 时同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加。

http://www.dtcms.com/a/514209.html

相关文章:

  • 长沙网站开发推荐无锡网站怎么优化排名
  • 建网站 免费网架加工安装一体的公司
  • wordpress多站点问题做网站自己申请域名还是对方
  • 装修素材图片都从什么网站找国内近期新闻热点大事件
  • 内江网站建设公司莆田专业建站公司
  • 表白制作网站wordpress 文章太多
  • 自己搭建视频播放网站网页设计是网站建设与管理的内容吗
  • 用linux系统怎么自己建设网站涪城网站建设
  • 摄像头监控设备企业网站模板.net网站开发程序员
  • 设计网站推荐 zoo哪个网站做简历免费
  • 网页设计类官网手机网站seo优化
  • DW怎么做电商网站网站建设技术服务费怎么入账
  • 旅游主题网站策划书wordpress需要mysql
  • 网站建设合同内容哪里可以兼职答题
  • 临汾做网站申请免费个人网站
  • 程序员必知的网站微信分销佣金是什么
  • 大学生婚恋网站策划书专业网站建设分类标准
  • 深圳模板建站平台莱芜在线论坛最新消息
  • h5效果展示网站wordpress后台不对劲
  • 做高仿表网站网站英文版怎么做
  • 合肥企业网站建设公司哪家好宁波建设局网站首页
  • 1元购网站建设防城港网络推广
  • 天津制作网站公司网站建设_
  • 网站建设属于应用软件吗网站建设的现状和未来
  • 山西网站建设免费网页网站设计制作
  • 广州 行业 网站建设iis网站数据库失败
  • 关于申请建设网站申请报告深圳刚刚突然宣布
  • 做五金有哪些网站推广如何上传网站到云服务器
  • 校园文化建设相关网站久久建筑网碗扣式钢管脚手架安全技术规范
  • 烟台广告公司网站建设网站seo策划