【数仓】zookeeper软件安装及集群配置

相关文章

  • 【数仓】基本概念、知识普及、核心技术
  • 【数仓】数据分层概念以及相关逻辑
  • 【数仓】Hadoop软件安装及使用(集群配置)
  • 【数仓】Hadoop集群配置常用参数说明

一、环境准备

准备3台虚拟机

  • Hadoop131:192.168.56.131
  • Hadoop132:192.168.56.132
  • Hadoop133:192.168.56.133

本例系统版本 CentOS-7.8,已安装jdk1.8

关闭防火墙

systemctl stop firewalld

二、zookeeper安装配置

1、zookeeper下载安装

1) 下载解压

# 下载
wget --no-check-certificate https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz
# 解压安装
tar -xzvf apache-zookeeper-3.9.1-bin.tar.gzmv apache-zookeeper-3.9.1-bin/ /data/zookeeper/
#查看zookeeper是否部署成功;
ls -l /data/zookeeper/

2)配置服务器编号

创建数据存储目录 zkdata

mkdir /data/zookeeper/zkdata

在zkdata 目录创建文件 myid,在文件中添加与server对应的编号

131

3)配置zoo.cfg文件

zookeeper/conf目录下有zoo_sample.cfg实例配置文件,复制这个文件,重命名为zoo.cfg,开始配置zoo.cfg的内容

cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

修改数据存储路径

dataDir=/data/zookeeper/zkdata

增加如下集群配置

############### cluster ###############
server.131=hadoop131:2888:3888
server.132=hadoop132:2888:3888
server.133=hadoop133:2888:3888

集群服务配置说明

server.A=B:C:D
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的IP地址(或者是与IP地址做了映射的主机名);
C 第一个端口用来集群成员的信息交换,表示这个服务器与集群中的Leader服务器交换信息的端口;
D 是在leader挂掉时专门用来进行选举leader所用的端口。

2、同步zookeeper到其他服务器

1)同步zookeeper到其他两台服务器 hadoop132、hadoop133

xsync.sh /data/zookeeper/

2)分别修改 hadoop132、hadoop133 上面的 myid 为 132、133

3、集群操作

方式一:分别在各个服务器操作

1)分别启动zookeeper

/data/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

2)查看状态

/data/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

方式二:增加集群操作脚本 zk.sh

1)创建文件zk.sh

vi /usr/bin/zk.sh
# 修改文件权限
chmod 777 /usr/bin/zk.sh

2)复制如下内容

#!/bin/bash#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
ficase $1 in
"start")#遍历集群所有机器for host in hadoop131 hadoop132 hadoop133doecho --------------------  $host zookeeper 启动 --------------------ssh $host "/data/zookeeper/bin/zkServer.sh start"done
;;
"stop")#遍历集群所有机器for host in hadoop131 hadoop132 hadoop133doecho --------------------  $host zookeeper 停止 --------------------ssh $host "/data/zookeeper/bin/zkServer.sh stop"done
;;
"status")#遍历集群所有机器for host in hadoop131 hadoop132 hadoop133doecho --------------------  $host zookeeper 状态 --------------------ssh $host "/data/zookeeper/bin/zkServer.sh status"done
;;
*)echo "Input Args Error..."
;;
esac

3)通过集群脚本 zk.sh 操作

zk.sh start
-------------------- hadoop131 zookeeper 启动 --------------------
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
-------------------- hadoop132 zookeeper 启动 --------------------
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
-------------------- hadoop133 zookeeper 启动 --------------------
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

三、ZooKeeper常见配置参数

ZooKeeper的配置参数主要包括以下几项:

  1. tickTime:ZooKeeper中的一个时间单元,用于服务器之间或客户端与服务器之间维持心跳。它是以毫秒为单位的,并且ZooKeeper中所有的时间都是以这个为基础进行整数倍的配置。例如,session的最小超时时间是2倍的tickTime。

  2. dataDir:存储快照的目录。这也是ZooKeeper服务器用来存储事务日志的默认位置(如果没有特别配置dataLogDir的话)。考虑到事务日志的写入性能会直接影响到ZooKeeper的整体性能,因此建议将事务日志存储在一个专门的、拥有良好I/O性能的磁盘上。

  3. dataLogDir:这个参数用于配置事务日志的存储目录。如果配置了这个参数,那么事务日志就会被存储在这个指定的目录中,而不是在dataDir中。这有助于优化磁盘I/O性能。

  4. clientPort:这是客户端连接ZooKeeper服务器的端口。一般来说,这个端口被设置为2181。

  5. initLimit:这是ZooKeeper集群中的Follower服务器与Leader服务器之间初始连接时能容忍的最多心跳数(以tickTime为单位)。这个参数用于控制ZooKeeper集群的初始化过程。

  6. syncLimit:这是ZooKeeper集群中的Follower服务器与Leader服务器之间请求和应答之间能容忍的最多心跳数(以tickTime为单位)。这个参数用于控制Follower和Leader之间的同步过程。

  7. maxClientCnxns:这是一个客户端连接到单个ZooKeeper服务器的最大连接数限制。这个参数可以防止ZooKeeper服务器因为过多的客户端连接而耗尽资源。

这些参数都可以在ZooKeeper的配置文件(zoo.cfg)中进行设置。在配置ZooKeeper集群时,还需要设置一些其他的参数,如server.x配置项,用于指定ZooKeeper集群中的服务器地址和端口等信息。

参考

  • https://zookeeper.apache.org/doc/current/index.html

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

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

相关文章

【Spring连载】使用Spring Data访问 MongoDB----对象映射之基于类型的转换器

【Spring连载】使用Spring Data访问 MongoDB----对象映射之基于类型的转换器 一、自定义转换二、转换器消歧(Disambiguation)三、基于类型的转换器3.1 写转换3.2 读转换3.3 注册转换器 一、自定义转换 下面的Spring Converter实现示例将String对象转换为自定义Email值对象: R…

蓝桥杯_定时器的综合应用实例

一 工程 代码 在单片机训练平台上,利用定时器T0,数码管模块和2个独立按键(J5的2,3短接),设计一个秒表,具有清零,暂停,启动功能。 显示模式:分-秒-0.05秒&…

Linux进程——信号详解(上)

文章目录 信号入门生活角度的信号技术应用角度的信号用kill -l命令可以察看系统定义的信号列表信号处理常见方式概述 产生信号通过键盘进行信号的产生,ctrlc向前台发送2号信号通过系统调用异常软件条件 信号入门 生活角度的信号 你在网上买了很多件商品&#xff0…

前端面试练习24.3.2-3.3

HTMLCSS部分 一.说一说HTML的语义化 在我看来,它的语义化其实是为了便于机器来看的,当然,程序员在使用语义化标签时也可以使得代码更加易读,对于用户来说,这样有利于构建良好的网页结构,可以在优化用户体…

vue3项目中如何一个vue组件中的一个div里面的图片铺满整个屏幕样式如何设置

在Vue 3项目中,要使一个div内的图片铺满整个屏幕,你需要确保几个关键点:div元素和图片元素的样式设置正确,以及确保它们能够覆盖整个视口(viewport)。以下是一个简单的步骤和代码示例,帮助你实现…

代码随想录算法训练营第四八天 | 买股票

目录 只买卖一次可买卖多次 LeetCode 121. 买卖股票的最佳时机 LeetCode 122. 买卖股票的最佳时机II 只买卖一次 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某…

浏览器输入URL到页面渲染经历了哪些过程?

浏览器输入URL到页面渲染的过程可以分为以下几个步骤: 解析URL:当用户在浏览器的地址栏输入URL后,浏览器会首先解析这个URL,判断其是否合法。查找缓存:浏览器会查看自己的缓存,判断是否有之前访问过的这个U…

论文阅读--Diffusion Models for Reinforcement Learning: A Survey

一、论文概述 本文主要内容是关于在强化学习中应用扩散模型的综述。文章首先介绍了强化学习面临的挑战,以及扩散模型如何解决这些挑战。接着介绍了扩散模型的基础知识和在强化学习中的应用方法。然后讨论了扩散模型在强化学习中的不同角色,并对其在多个…

【JavaSE】实用类——String、日期等

目录 String类常用方法String类的equals()方法String中equals()源码展示 “”和equals()有什么区别呢? StringBuffer类常用构造方法常用方法代码示例 面试题:String类、StringBuffer类和StringBuilder类的区别?日期类Date类Calendar类代码示例…

leetcode169. 多数元素的四种解法

leetcode169. 多数元素 题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 1.哈希 class Solution { public:int majority…

【vue3】命令式组件封装,message封装示例;(函数式组件?)

仅做代码示例;当然改进的地方还是不少的,仅作为该类组件封装方式的初步启发; 理想大成肯定是想要像 饿了么 这些组件库一样。 有的人叫这函数式组件,有的人叫这命令式组件,我个人还是偏向于命令式组件的称呼。因为以vu…

Django配置静态文件

Django配置静态文件 目录 Django配置静态文件静态文件配置调用方法 一般我们将html文件都放在默认templates目录下 静态文件放在static目录下 static目录大致分为 js文件夹css文件夹img文件夹plugins文件夹 在浏览器输入url能够看到对应的静态资源,如果看不到说明…

向爬虫而生---Redis 探究篇4<Redis主从复制(2)>

前言: 继续上一篇向爬虫而生---Redis 探究篇4<Redis主从复制(1)>-CSDN博客 正文: 读写操作和一致性保证 主节点和从节点对读写操作的不同处理方式 在Redis主从复制中,主节点和从节点对读写操作有不同的处理方式: 主节点&…

vim文本编辑器 的命令及快捷键

vim文本编辑器常用的命令及快捷键 vim文本编辑器功能命令 命令功能i从光标当前位置进入插入模式a从光标下一位进入插入模式ESC键退出编辑模式dd删除2dd删除两行u撤销上一步操作wq保存并退出0光标移动至文本开头G光标移至文本末尾$光标移动至行尾^光标移动至行首q或q!退出不保…

支持向量机算法(带你了解原理 实践)

引言 在机器学习和数据科学中,分类问题是一种常见的任务。支持向量机(Support Vector Machine, SVM)是一种广泛使用的分类算法,因其出色的性能和高效的计算效率而受到广泛关注。本文将深入探讨支持向量机算法的原理、特点、应用&…

13. Springboot集成Protobuf

目录 1、前言 2、Protobuf简介 2.1、核心思想 2.2、Protobuf是如何工作的? 2.3、如何使用 Protoc 生成代码? 3、Springboot集成 3.1、引入依赖 3.2、定义Proto文件 3.3、Protobuf生成Java代码 3.4、配置Protobuf的序列化和反序列化 3.5、定义…

【中英对照】【自译】【精华】麻省理工学院MIT技术双月刊(Bimonthly MIT Technology Review)2024年3/4月刊内容概览

一、说明 Notation 仅供学习、参考,请勿用于商业行为。 二、本期封面、封底 Covers 本期杂志购于新加坡樟宜机场Changi Airport Singapore,售价为20.50新元。 本期仍然关注伦敦的AI大会。(笔者十分想去,在伦敦和MIT校园均设有会…

IDEA的安装教程

1、下载软件安装包 官网下载:https://www.jetbrains.com/idea/ 2、开始安装IDEA软件 解压安装包,找到对应的idea可执行文件,右键选择以管理员身份运行,执行安装操作 3、运行之后,点击NEXT,进入下一步 4、…

手动、半自动、全自动探针台有何区别

手动探针台、半自动探针台和全自动探针台是三种不同类型的探针台,它们在使用类型、功能、操作方式和价格等方面都有所不同。 手动探针台是一种手动控制的探针台,通常用于没有很多待测器件需要测量或数据需要收集的情况下。该类探针台的优点是灵活、可变…

python difflib --- 计算差异的辅助工具

此模块提供用于比较序列的类和函数。 例如,它可被用于比较文件,并可产生多种格式的不同文件差异信息,包括 HTML 和上下文以及统一的 diff 数据。 有关比较目录和文件,另请参阅 filecmp 模块。 class difflib.SequenceMatcher 这…