Zookeeper 安装与部署

Zookeeper官网

目录

  • 1 配置文件参数解读
  • 2 Zookeeper 单点安装
  • 3 Zookeeper 分布式安装

1 配置文件参数解读


Zookeeper 中的配置文件 zoo.cfg 中参数含义解读如下:

(1)tickTime =2000:通信心跳数,Zookeeper 服务器与客户端心跳时间,单位毫秒。

Zookeeper 使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳,时间单位为毫秒。

它用于心跳机制,并且设置 最小的 session 超时时间为两倍心跳时间。(session 的最小超时时间是2*tickTime)

(2)initLimit =10:LF初始通信时限

集群中的 Follower 跟随者服务器与 Leader 领导者服务器之间 初始连接 时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。

(3)syncLimit =5:LF同步通信时限

集群中 Leader 与 Follower 之间的最大响应时间单位,假如响应超过 syncLimit * tickTime,Leader 认为 Follwer 死掉,从服务器列表中删除 Follwer。

(4)dataDir:数据文件目录+数据持久化路径

主要用于保存 Zookeeper 中的数据。

(5)clientPort =2181:客户端连接端口

监听客户端连接的端口。

2 Zookeeper 单点安装


(1)把软件包上传的 Linux 的 /opt/software

(2)解压 Zookeeper 到 /opt/module

[huwei@hadoop101 ~]$ tar -zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

(3)将解压后的目录名称修改一下(选做)

[huwei@hadoop101 ~]$ cd /opt/module/
[huwei@hadoop101 module]$ mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7

(4) 将 Zookeeper 的安装目录下 conf/zoo_sample.cfg 文件改名为 zoo.cfg

[huwei@hadoop101 module]$ cd zookeeper-3.5.7/conf/
[huwei@hadoop101 conf]$ mv zoo_sample.cfg zoo.cfg

(5) 在 Zookeeper 的安装目录下创建一个新的目录,作为 Zookeeper 的数据持久化目录

[huwei@hadoop101 conf]$ cd /opt/module/zookeeper-3.5.7/
[huwei@hadoop101 zookeeper-3.5.7]$ mkdir zkData

复制 zkData 的绝对路径以备用

[huwei@hadoop101 zookeeper-3.5.7]$ cd zkData/
[huwei@hadoop101 zkData]$ pwd
/opt/module/zookeeper-3.5.7/zkData

(6)修改 zoo.cfg 配置文件

[huwei@hadoop101 zkData]$ cd ../conf/
[huwei@hadoop101 conf]$ vim zoo.cfg

将刚刚复制的 zkData 的绝对路径粘贴在下方位置处

在这里插入图片描述

ESC+:wq,保存退出。

(7)启动 Zookeeper

启动 Zookeeper 服务端

[huwei@hadoop101 conf]$ cd ..
[huwei@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh start

查看状态

[huwei@hadoop101 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

启动 Zookeeper 客户端

[huwei@hadoop101 zookeeper-3.5.7]$ bin/zkCli.sh

在这里插入图片描述

Zookeeper 服务的默认端口号:2181,不指定主机时默认连接本地,退出客户端命令:quit

指定本机 hadoop101

[huwei@hadoop101 zookeeper-3.5.7]$ bin/zkCli.sh -server hadoop101:2181

查看一下 Zookeeper 的服务端和客户端对应的进程

在这里插入图片描述

(8)停止 Zookeeper

[huwei@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh stop

3 Zookeeper 分布式安装


在 hadoop101、hadoop102 和 hadoop103 三个节点上部署Zookeeper。接下来,我将在我上述单点安装的基础上进行集群搭建。

注意:如果不是第一次搭建集群,那么就把 Zookeeper 安装目录下的 zkData目录删除,并且把 logs 目录也删除。

(1)修改配置文件 zoo.cfg

增加如下配置

#######################cluster##########################
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888

在这里插入图片描述

ESC+:wq,保存退出。

配置参数 server.A=B:C:D 解读

  • A:是一个数字,表示这个是第几号服务器;
  • B:是这个服务器的地址;
  • C:是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
  • D:是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

(2)配置服务器编号

在 Zookeeper 的安装目录的 zkData 目录下创建一个 myid 的文件,

[huwei@hadoop101 zookeeper-3.5.7]$ cd zkData/
[huwei@hadoop101 zkData]$ touch myid

编辑 myid 文件

[huwei@hadoop101 zkData]$ vim myid

在文件中添加与 server 对应的编号

1

那么现在 Zookeeper 分布式安装中的hadoop101就配置好了

(3)将hadoop101 整个 Zookeeper 的安装目录分发到其他机器

这里我使用前面写好的分发脚本,具体参见 大数据技术学习笔记(三)—— Hadoop 的运行模式

[huwei@hadoop101 module]$ cd /opt/module/
[huwei@hadoop101 module]$ xsync zookeeper-3.5.7/

(4)在不同机器上修改 myid 文件中的值

(5)自定义群启群停 Zookeeper服务的脚本

[huwei@hadoop101 zookeeper-3.5.7]$ cd /home/huwei/bin
[huwei@hadoop101 bin]$ touch zk_cluster.sh

对该文件赋予执行权限

[huwei@hadoop101 bin]$ chmod 744 zk_cluster.sh

编写脚本内容

[huwei@hadoop101 bin]$ vim zk_cluster.sh
#!/bin/bash#检验参数
if [ $# -lt 1 ]
thenecho '参数不能为空!!!'exit 
fi#循环遍历每一台机器,分别启动或者停止ZK服务for host in hadoop101 hadoop102 hadoop103
docase $1 in"start")echo "*****************start $host zookeeper****************"ssh $host /opt/module/zookeeper-3.5.7/bin/zkServer.sh $1;;"stop")echo "*****************stop $host zookeeper****************"ssh $host /opt/module/zookeeper-3.5.7/bin/zkServer.sh $1;;"status")echo "*****************status $host zookeeper****************"ssh $host /opt/module/zookeeper-3.5.7/bin/zkServer.sh $1;;*)echo '参数有误!!!'exit;;esac
done

启动集群

[huwei@hadoop101 bin]$ zk_cluster.sh start

查看集群状态

[huwei@hadoop101 bin]$ zk_cluster.sh status

停止集群

[huwei@hadoop101 bin]$ zk_cluster.sh stop

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IdleStateHandler 心跳机制源码详解

优质博文:IT-BLOG-CN 一、心跳机制 Netty支持心跳机制,可以检测远程服务端是否存活或者活跃。心跳是在TCP长连接中,客户端和服务端定时向对方发送数据包通知对方自己还在线,保证连接的有效性的一种机制。在服务器和客户端之间一…

再谈项目管理中的效率问题

一、把事情做对。 敏捷的核心理念追求的就是把事情做对,这样的效率是最高的。中国古代就有南辕北辙的故事,方向错了再怎么努力都是白搭。那什么才是对的事情?这里分成了两派:1、瀑布方式认为一开始提的合同、需求就是对的事情&am…

嵌入式常用滤波算法

在嵌入式系统中,信号处理是一个关键的方面,特别是在处理来自各种传感器的数据时。滤波算法在这方面发挥着重要作用,用于去除噪声、平滑数据或提取有用的信号。以下是一些在嵌入式系统中常用的滤波算法: 1 低通滤波器(…

bean依赖属性配置

bean依赖属性配置 文章目录 bean依赖属性配置 Data ConfigurationProperties(prefix "cartoon") public class CartoonProperties {private Cat cat;private Mouse mouse; }cartoon:cat:name: whatage: 5mouse:name: howage: 6这样的话,业务bean无需在读…

FPC和PCB有哪些区别?

现在电子技术越来越先进,CPU可以做到5nm工艺,电路板可以做到几十层,可折叠屏应用多款手机中。 什么是FPC? FPC:Flexible Printed Circuit,柔性电路板,又被称为“软板” FPC 以聚酰亚胺或聚酯薄…

Active Stereo Without Pattern Projector论文精读

1.背景补充 主动立体相机和被动立体相机的主要区别在于它们获取立体视觉信息的方式 主动立体相机12: 主动立体视觉是指寻找最佳的视角去重建目标或者场景1。主动视觉的实现方式通常有:改变环境中的光照条件、改变相机的视角、移动相机自身位置等&…

利用 LD_PRELOAD劫持动态链接库,绕过 disable_function

目录 LD_PRELOAD 简介 程序的链接 动态链接库的搜索路径搜索的先后顺序: 利用LD_PRELOAD 简单的劫持 执行id命令 反弹shell 引申至 PHP 绕过disable_function 方法1:使用蚁剑的扩展工具绕过disable_function 方法2:利用 mail 函数…

Python批量图像处理--图片重命名、图片旋转

图像批量重命名: 使用batch_rename_images函数实现对多个文件夹下面的图片进行重命名操作 先检查文件名的后缀,使用了.endswith()方法来判断文件名是否以.jpg、.png或.JPG结尾,判断是否为图片文件 然后构造新的文件路径new_filepath&#…

电磁兼容EMC理论基础汇总

目录 0. 序言 1. EMC的基础介绍 1.1 EMC电磁兼容的定义 1.2 EMC的重要性 1.3 EMC的三要素 2. 库仑定律 3. 趋肤效应与趋肤深度 4. 电阻抗公式 4.1 电阻 4.2 容抗 4.3 感抗 4.4 电路元件的非理想性 5. 麦克斯韦方程组 5.1 高斯磁定律 5.2 高斯定律 5.3 法拉…

Appwidget开发基本介绍

本篇主要对appwidget开发进行简单介绍,为后续漏洞挖掘相关做前置铺垫 appwidget简介 官方解释如下: 应用微件是可以嵌入其他应用(如主屏幕)并接收定期更新的微型应用视图。这些视图称为界面中的微件,您可以使用应用微…

MySQL学习day04(一)

DQL学习(Data Query Language数据查询语言) DQL-语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件别表 order by 排序字段列表 limit 分页参数 基本查询条件查询(where)…

打板选股的方法

打板选股是一种短线投资策略,主要通过观察和分析股票的涨停板情况来进行选股。以下是一些常用的打板选股方法: 首板选股:在市场开盘后,迅速查看所有股票的涨停情况,找出第一个涨停的股票。这种方法需要投资者有较强的市…

软件工程精品课程教学网站的设计与实现

系统功能需求分析 本系统要求采用Browser/Server模式设计开发,可以作为一般高等院校的网络学堂;可以为教师的辅助教学或者网络教学提供一个完善的教学网站;学生可以利用本教学网站来完成一些课程的学习任务。 2.2.1 功能划分 《软件工程》教学…

Sakila数据库和World数据库

Sakila数据库和World数据库 安装MySQL8.2的时候多出两个样例数据库 Sakila数据库和World数据库 Sakila数据库是一个关于DVD租赁的样例数据库,用于展示MySQL的各种功能和特性。Sakila数据库中包含了多个表,包括电影、演员、客户、租赁记录等,可…

二叉树k层的叶子结点个数

文章目录 1 题目2 思路2.1 思路12.2 思路2 3 代码实现3.1 思路13.2 思路23.3 完整的代码案例 1 题目 假设二叉树采用二叉链表存储结构,设计一个算法求其指定的第k层(k>1,跟是第1层)的叶子结点个数。 2 思路 2.1 思路1 设置…

Oracle(2-6) Backup and Recovery Overview

文章目录 一、基础知识1、Categories of Failures 故障类别2、Causes of Statement Failures 语句失败的原因故障情况Resolutions 决议 3、User Process Failures 用户进程失败故障情况Resolutions 决议 4、Possible User Errors 用户错误类型故障情况Resolutions 决议 5、Inst…

实验6 二叉树操作

0x01 实验目的 掌握二叉树的基本概念,二叉树的存储结构使用链表。 0x02 实验内容 输入一个完全二叉树的层次遍历字符串,创建这个二叉树,输出这个二叉树的前序遍历字符串、中序遍历字符串、后序遍历字符串、结点数目、二叉树高度(上述每一个…

什么是缓存雪崩、缓存击穿、缓存穿透?

一、缓存雪崩 当某一个时刻出现大规模的缓存失效的情况,那么就会导致大量的请求直接打在数据库上面,导致数据库压力巨大,如果在高并发的情况下,可能瞬间就会导致数据库宕机。这时候如果运维马上又重启数据库,马上又会…

计算UDP报文CRC校验的总结

概述 因公司项目需求,遇到需要发送带UDP/IP头数据包的功能,经过多次尝试顺利完成,博文记录以备忘。 环境信息 操作系统 ARM64平台的中标麒麟Kylin V10 工具 tcpdump、wireshark、vscode 原理 请查看大佬的博文 UDP伪包头定义&#x…

关于Maxscript你了解多少?

MAXScript是Autodesk 3dMax的内置脚本语言。MAXScript为3dMax用户提供了以下功能: 编写程序使用的大部分方面的脚本,如建模、动画、材质、渲染等。 通过命令行侦听器窗口以交互方式控制程序。 在自定义实用工具面板卷展栏或无模式窗口中打包脚本&…