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

Zookeeper下载和安装

Zookeeper

1.下载

官方下载地址:https://zookeeper.apache.org/

版本:apache-zookeeper-3.7.1-bin.tar.gz

2. 安装

2.1 本地安装

2.1.1 安装JDK

见:Hadoop集群搭建

2.1.2 上传安装包

使用远程工具拷贝安装包到Linux指定路径

/opt/software

2.1.3 解压到指定目录

将安装包解压到/opt/module中

[li@hadoop102 software]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module/

2.1.4 修改安装包名称

[li@hadoop102 module]$ mv apache-zookeeper-3.7.1 zookeeper-3.7.1

2.1.5 配置修改

(1)将/opt/module/zookeeper-3.7.1/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg;

[li@hadoop102 conf]$ mv zoo_sample.cfg zoo.cfg

(2)打开 zoo.cfg 文件,修改 dataDir 路径:

[li@hadoop102 zookeeper-3.7.1]$ vim zoo.cfg

修改如下内容:

dataDir=/opt/module/zookeeper-3.7.1/zkData

配置参数解读:

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

2)initLimit = 10:LF初始通信时限。Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)

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

4)dataDir:保存Zookeeper中的数据 注意:默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。

5)clientPort = 2181:客户端连接端口,通常不做修改。

(3)在/opt/module/zookeeper-3.7.1/这个目录上创建 zkData 文件夹

[li@hadoop102 zookeeper-3.7.1]$ mkdir zkData

2.1.6 操作Zookeeper

(1)启动 Zookeeper

[li@hadoop102 zookeeper-3.7.1]$ bin/zkServer.sh start

(2)查看进程是否启动

[li@hadoop102 zookeeper-3.7.1]$ jps
4020 Jps
4001 QuorumPeerMain

(3)查看状态

[li@hadoop102 zookeeper-3.7.1]$ bin/zkServer.sh stutas
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.7.1/bin/../conf/zoo.cfg
Usage: /opt/module/zookeeper-3.7.1/bin/zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|version|restart|status|print-cmd}

(4)启动客户端

[li@hadoop102 zookeeper-3.7.1]$ bin/zkCli.sh

(5)退出客户端:

[zk: localhost:2181(CONNECTING) 3] quit

(6)停止 Zookeeper

ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.7.1/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

2.2 集群操作

2.2.1 集群安装

(1)集群规划

在 hadoop102、hadoop103 和 hadoop104 三个节点上都部署 Zookeeper。

(2)解压安装

  1. 在 hadoop102 解压 Zookeeper 安装包到/opt/module/目录下
[li@hadoop102 software]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module/
  1. 修改 apache-zookeeper-3.7.1-bin 名称为 zookeeper-3.7.1
[li@hadoop102 software]$ mv apache-zookeeper-3.7.1-bin/ zookeeper-3.7.1

(3)配置服务器编号

  1. 在/opt/module/zookeeper-3.7.1/这个目录下创建 zkData
[li@hadoop102 software]$ mkdir zkDate
  1. 在/opt/module/zookeeper-3.7.1/zkData 目录下创建一个 myid 的文件
[li@hadoop102 software]$ vim myid

在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)

2
  1. 拷贝配置好的 zookeeper 到其他机器上
[li@hadoop102 software]$ xsync zookeeper-3.7.1

并分别在 hadoop103、hadoop104 上修改 myid 文件中内容为 3、4

(4)配置zoo.cfg文件

  1. 重命名/opt/module/zookeeper-3.7.1/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
[li@hadoop102 software]$ mv zoo_sample.cfg zoo.cfg
  1. 打开zoo.cfg文件
[li@hadoop102 software]$ vim zoo.cfg
# 增加如下配置
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

配置参数解读:

server.A=B:C:D

  • A 是一个数字,表示这个是第几号服务器; 集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比 较从而判断到底是哪个 server;
  • B 是这个服务器的地址;
  • C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
  • D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
  1. 同步 zoo.cfg 配置文件
[li@hadoop102 conf]$ xsync zoo.cfg

2.2.2 集群操作

(1)分别启动Zookeeper

[li@hadoop102 zookeeper-3.7.1]$ bin/zkServer.sh start
[li@hadoop103 zookeeper-3.7.1]$ bin/zkServer.sh start
[li@hadoop104 zookeeper-3.7.1]$ bin/zkServer.sh start

(2) 查看状态

[li@hadoop102 zookeeper-3.7.1]$ bin/zkServer.sh status
[li@hadoop103 zookeeper-3.7.1]$ bin/zkServer.sh status
[li@hadoop104 zookeeper-3.7.1]$ bin/zkServer.sh status

2.2.3 集群启动停止脚本

(1)在 hadoop102 的/home/li/bin 目录下创建脚本

[li@hadoop102 bin]$ vim zk.sh

脚本中编写如下内容:

#!/bin/bashcase $1 in
"start")for i in hadoop102 hadoop103 hadoop104doecho ---------- zookeeper $i 启动 ------------ssh $i "/opt/module/zookeeper-3.7.1/bin/zkServer.sh start"done
;;
"stop")for i in hadoop102 hadoop103 hadoop104doecho ---------- zookeeper $i 停止 ------------ ssh $i "/opt/module/zookeeper-3.7.1/bin/zkServer.sh stop"done
;;
"status")for i in hadoop102 hadoop103 hadoop104doecho ---------- zookeeper $i 状态 ------------ ssh $i "/opt/module/zookeeper-3.7.1/bin/zkServer.sh status"done
;;
esac

(2)增加脚本执行权限

[li@hadoop102 bin]$ chmod u+x zk.sh

(3)Zookeeper 集群启动脚本

[li@hadoop102 bin]$ zk.sh start

(4)Zookeeper 集群停止脚本

[li@hadoop102 bin]$  zk.sh stop

2.3.4 添加环境变量

在my_env.sh中配置Zookeeper环境变量,添加如下内容:

export ZK_HOME=/opt/module/zookeeper-3.7.1
export PATH=$PATH:$ZK_HOME/bin

2.3.5 分发文件

将更改过的文件同步到hadoop103,hadoop104中

[li@hadoop102 profile.d]$ xsync my_env.sh

相关文章:

Zookeeper下载和安装

Zookeeper 1.下载 官方下载地址&#xff1a;https://zookeeper.apache.org/ 版本&#xff1a;apache-zookeeper-3.7.1-bin.tar.gz 2. 安装 2.1 本地安装 2.1.1 安装JDK 见&#xff1a;Hadoop集群搭建 2.1.2 上传安装包 使用远程工具拷贝安装包到Linux指定路径 /opt/s…...

Biomod2 (上):物种分布模型预备知识总结

Biomod11.栅格数据处理1.1 读取一个栅格图片1.2 计算数据间的相关系数1.3 生成多波段的栅格图像1.4 修改变量名称1.4.1 计算多个变量之间的相关性2. 矢量数据处理2.1 提取矢量数据2.2 数据掩膜2.2 栅格计算2.3 拓展插件的使用3. 图表绘制3.1 遥感影像绘制3.2 柱状图分析图绘制3…...

操作指南:如何高效使用Facebook Messenger销售(二)

上一篇文章我们介绍了使用Facebook Messenger作为销售渠道的定义、好处及注意事项&#xff0c;本节我们将详细介绍怎么将Facebook Messenger销售与SaleSmartly&#xff08;ss客服&#xff09;结合&#xff0c;实现一站式管理多主页配图来源&#xff1a;SaleSmartly&#xff08;…...

计算机三级|网络技术|中小型网络系统总体规划与设计方案|IP地址规划技术|2|3

p3 p4一、中小型网络系统总体规划与设计方案网络关键的设备选型路由器技术指标性能指标综述吞吐量背板能力丢包率时延抖动突发处理能力路由表容量服务质量网管能力可靠性和可用性1 吞吐量指路由器的包转发能力&#xff0c;涉及两个内容&#xff1a;端口吞吐量和整机吞吐量&…...

为什么一定要做集成测试?

集成测试&#xff0c;我们都不陌生&#xff0c;几乎我们产品每天都在进行。但是我们真的有好好思考&#xff1a;为什么一定要做集成测试吗&#xff1f;只是为了简单的将“积木”搭起来就行&#xff0c;还是有什么其他的深意&#xff1f; 深意可能不一定会有&#xff0c;但是意…...

前端:CSS

CSS基本语法规则&#xff1a;选择器若干属性声明 style标签&#xff1a;可以放到代码的任意位置处&#xff0c;head/body中都可以 三种写CSS的方式&#xff1a; 1、内部样式&#xff1a;使用style标签&#xff0c;直接把CSS写到html文件中。此时的style标签可以放到任何位置…...

CMMI—组织级过程定义(OPD)

大家好&#xff0c;我是Doker 多克&#xff01;一、目的组织级过程定义&#xff08;Organizational Process Definition&#xff0c; OPD&#xff09;的目的在于建立并维护一套可用的组织级过程资产、工作环境标准以及团队规则与指南二、简介组织级过程资产使得整个组织具有一致…...

华为OD机试真题Python实现【猜字谜】真题+解题思路+代码(20222023)

猜字谜 题目 小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。 猜中的要求如下: 对于某个谜面和谜底单词,满足下面任一条件都表示猜中: 变换顺序以后一样的,比如通过变换w和e的顺序,nwes跟news是可以完全对应的…...

软测入门(三)Selenium(Web自动化测试基础)

Selenium&#xff08;Web端自动测试&#xff09; Selenium是一个用于Web应用程序测试的工具&#xff1a;中文是硒 开源跨平台&#xff1a;linux、windows、mac核心&#xff1a;可以在多个浏览器上进行自动化测试多语言 Selenium WebDriver控制原理 Selenium Client Library…...

备战蓝桥杯——sort函数

备战蓝桥杯——sort函数排列字母lambda匿名函数排列字母 链接: 排列字母 不用多说&#xff0c;很简单的签到题&#xff0c;我们先来了解一下sort函数的用法 list.sort(cmpNone, keyNone, reverseFalse) cmp:进行比较的方法&#xff08;可以自定义排序的方法&#xff0c;通常…...

华为机试题:HJ86 求最大连续bit数(python)

文章目录&#xff08;1&#xff09;题目描述&#xff08;2&#xff09;Python3实现&#xff08;3&#xff09;知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…...

机器学习复习--logistic回归简单的介绍和代码调用

最近需要复习一下机器学习相关知识&#xff0c;记录一下 一、简介 线性回归&#xff1a;h(x)wTxbh(x)w^T x bh(x)wTxb logistic回归就是在线性模型的基础上加上一个sigmoid函数ggg&#xff0c;即h(x)g(wTxb)h(x)g(w^T xb)h(x)g(wTxb)。。。g(z)1/(1e−z)g(z)1/(1e^{-z})g(z)…...

uniapp小程序接入腾讯地图sdk

新建一个项目。配置uniapp配置文件设置小程序的appid注意&#xff1a;匿名用户可能存在地理定位失效。查uniapp官网官网->apiuni.getLocation(OBJECT) 获取当前的地理位置、速度。属性&#xff1a;success匿名函数返回值&#xff1a;uni.getLocation({type: gcj02,success: …...

总结JavaScript中的条件判断与比较运算

一、条件判断 JavaScript 中有三种方法可以用来进行条件判断&#xff1a; 1、使用 if-else 语句。这种方法用于在特定条件为 true 时执行一段代码&#xff0c;否则执行另一段代码。例如&#xff1a; let a 5; if (a > 10) {console.log("a is greater than 10"…...

算法练习-排序(一)

算法练习-排序(一) 文章目录算法练习-排序(一)1 排序算法1.1 冒泡排序1.1.1代码1.2插入排序1.2.1代码1.3 选择排序1.3.1代码1.4归并排序1.4.1代码1.5 快速排序1.5.1 思路1.5.2 代码2 题目2.1 特殊排序2.1.1 题目2.1.2 题解2.2 数组中的第k个最大元素2.2.1 题目2.2.2 题解2.3 对…...

CentOS7.6快速安装Docker

快速安装 官网安装参考手册&#xff1a;https://docs.docker.com/install/linux/docker-ce/centos/ 确定你是CentOS7及以上版本,yum是在线安装! [rootVM-4-5-centos ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)接下来您只管自上向下执行命令即可&#x…...

CentOS 7安装N卡驱动和CUDA和cuDNN

前言系统一开始是CentOS 7.6&#xff0c;安装依赖时yum给的内核文件的版本号和uname -r的结果不一样&#xff0c;这时不能直接装依赖&#xff0c;装上后后面装驱动时会报错找不到内核头文件(最开始我直接装依赖了&#xff0c;以为高版本兼容低版本&#xff0c;然后装驱动时报错…...

Java开发 - 分页查询初体验

前言在上一篇&#xff0c;我们对es进行了深入讲解&#xff0c;相信看过的小伙伴已经能基本掌握es的使用方法&#xff0c;我们知道&#xff0c;es主要针对的是搜索条件&#xff0c;在这方面es具有无可比拟的优势&#xff0c;但我们也会注意到&#xff0c;有时候搜索条件过于宽泛…...

C语言循环语句do while和嵌套循环语句讲解

C do…while 循环 不像 for 和 while 循环&#xff0c;它们是在循环头部测试循环条件。在 C 语言中&#xff0c;do…while 循环是在循环的尾部检查它的条件。 do…while 循环与 while 循环类似&#xff0c;但是 do…while 循环会确保至少执行一次循环。 语法 C 语言中 do…w…...

【计算机视觉】OpenCV 4高级编程与项目实战(Python版)【7】:拼接图像

我们已经知道,图像是通过数组描述的,那么拼接图像其实就是拼接数组。NumPy提供了2个拼接数组的函数,分别是hstack函数和vstack函数,这两个拼接函数可以将两个数组水平和垂直拼接在一起,也就相当于将两幅图像水平和垂直拼接在一起,本节将详细讲解如何使用这两个函数水平拼…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...