ZooKeeper安装

安装Zookeeper

1、下载Zookeeper安装包

打开链接选择一个版本进行下载

https://zookeeper.apache.org/releases.html

在这里插入图片描述

2、上传Zookeeper安装包到集群

输入命令

scp apache-zookeeper-3.8.4-bin.tar.gz hadoop@192.168.88.100:/tmp

也可以使用xftp等上传,物理机用u盘或移动硬盘

3、 解压缩Zookeeper安装包

输入命令,将Zookeeper解压缩到/export/server/路径下

tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /export/server/

4、创建软链接

执行命令

ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper

5、修改配置文件

(1)进入到目录

cd /export/server/zookeeper/conf

(2)给配置文件改名

mv zoo_sample.cfg zoo.cfg

(3)编辑zoo.cfg

vim zoo.cfg

1)修改dataDir

dataDir=/export/server/zookeeper/data

2)配置zookeeper集群的服务器编号以及对应的主机名,选举端口号和通信端口号

server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

需要做好主机名和IP映射关系,不放心直接填写主机对应IP

3)保存退出

(4)创建data文件夹

mkdir /export/server/zookeeper/data

6、设置服务器编号

在/export/server/zookeeper/data内,创建文件myid

vim myid

内容输入1后保存退出

7、配置环境变量

切换到root用户

su

编辑环境变量文件

vim /etc/profile

输入内容

export ZK_HOME=/export/server/zookeeper
export PATH=$PATH:$ZK_HOME/bin

使环境变量生效,root用户和hadoop用户都执行

source /etc/profile

8、剩余节点配置

(1)在node2和node3同样配置环境变量,仿照node1

或者用root用户直接发送

scp /etc/profile node2:/etc/
scp /etc/profile node3:/etc/

同样执行

source /etc/profile

(2)分发zookeeper到node2和node3

scp -r apache-zookeeper-3.8.4-bin/ node2:/export/server/
scp -r apache-zookeeper-3.8.4-bin/ node3:/export/server/

在node2和node3上创建软链接

ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper

(3)修改node2和node3的myid分别为2和3

9、运行测试

3台结点上执行,否则本地运行

zkServer.sh start

PS:刚开始旨在node1上执行,查看日志说是node2和node3拒绝连接,然后查解决方案,没有一个说要在所有结点上启动zookeeper的,要么是让你换jdk,要么是ip和主机名映射不对,或者配置文件写错了。当然也有个疑问,虽然zookeeper的leader和follower选举产生,但为什么不能在node1上启动zookeeper后,让其余结点也启动,就像hdfs那样?

查看状态,若各个结点能选举出leader和follower就算成功

zkServer.sh status

在这里插入图片描述

停止可用,也是3个结点执行

zkServer.sh stop

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DINO结构中的exponential moving average (ema)和stop-gradient (sg)

DINO思路介绍 在 DINO 中,教师和学生网络分别预测一个一维的嵌入。为了训练学生模型,我们需要选取一个损失函数,不断地让学生的输出向教师的输出靠近。softmax 结合交叉熵损失函数是一种常用的做法,来让学生模型的输出与教师模型的…

C++学习笔记(19)——模板

目录 模板参数与非类型模板参数 模板参数 类型模板参数——传递类型 非类型模板参数——传递数量 C11希望array替代静态数组,但实际上vector包揽了一切 模板总结 优点: 缺点: 模板特化:针对某些类型进行特殊化处理 特化…

代码随想录算法训练营第五十三天||1143.最长公共子序列、1035.不相交的线、53. 最大子序和

文章目录 一、1143.最长公共子序列 思路 二、1035.不相交的线 思路 三.53. 最大子序和 思路 一、1143.最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原…

mysql中text,longtext,mediumtext区别

文章目录 一.概览二、字节限制不同三、I/O 不同四、行迁移不同 一.概览 在 MySQL 中,text、mediumtext 和 longtext 都是用来存储大量文本数据的数据类型。 TEXT:TEXT 数据类型可以用来存储最大长度为 65,535(2^16-1)个字符的文本数据。如果存储的数据…

stream-实践应用-统计分析

背景 业务部门提供了一个数据,数据甚至不是excel类型的,是data.txt,每一行都是一个数据,需要对此数据进行统计分析 统计各个月份的销量 因为直接获取resources下的data.txt,所以要借助输入流进行获取数据,再…

初识C语言——第二十六天

函数的递归1 什么是递归呢? 递归的两个必要条件 void print(unsigned int n) {if (n > 9){print(n / 10);}printf("%d ", n % 10); }int main() {unsigned int num 0;scanf("%u", &num);//123//递归-函数自己调用自己print(num);//pr…

Scrapy框架简单介绍及Scrapy项目编写详细步骤(Scrapy框架爬取豆瓣网站示例)

引言 Scrapy是一个用Python编写的开源、功能强大的网络爬虫框架,专为网页抓取和数据提取设计。它允许开发者高效地从网站上抓取所需的数据,并通过一系列可扩展和可配置的组件来处理这些数据。Scrapy框架的核心组成部分包括: Scrapy Engine&…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据,可以体现出一个文本中词频的使用情况,有利于文本分析,通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章,分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

用手机做客服的吐槽点客服亲们有同感吗

聊天宝手机版很好的解决了,客服手机快速回复客户的需求,不论微信,企业微信,千牛或其他手机APP回复客户,都可以用聊天宝APP实现图文一键发送,非常方便 前言 做客服工作,除了电脑上回复客户咨询&…

一文读懂Maven的安装与配置

一、前言【可忽略】 Maven本质是一个项目管理工具,类似于JDK是java开发工具。 我们需要管理什么呢?首先各种各样的依赖,比如SpringFramwork、Mybatis。 简单点做,我们新建个目录,就能管理这些jar包。然而,缺…

第 8 章 机器人平台设计之传感器(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 8.6.1 传感器_激光雷达简介 激光雷达是现今机器人尤其是无人车领域及最重要、最关键也是最常见的传感器之一&…

转型先锋!G7易流的数字化到底有多牛?

在供应链全球一体化进程中,国内外局势的改变,使得物流行业运力供大于求趋势愈加明显,国内供应链参与者面对内外发展需求和激烈的市场竞争,需要打破同质化竞争的局面,提供具有特色的服务,形成专业、高效、灵…

Hexo最新实战:(一)Hexo7.0+GitHub Pages博客搭建

前言 很多平台都能写博客还有创作激励,为什么我又要搭一个?为什么这次要选择用Hexo框架? 对应的原因是流量自由和省钱,第一个,很多平台能写但不是都有收益,而且平台有自身的规则,比如会屏蔽一…

2024第三届AIGC开发者大会圆桌论坛:AI Agent中国落地发展现状及多模态结合具身智能的发展展望

在2024年第三届AIGC开发者大会上,多位业内专家齐聚一堂,共同探讨了AI Agent在中国的落地发展现状以及多模态结合具身智能的发展前景。本次圆桌论坛的嘉宾包括: Fast JP作者于金龙Agent创始人莫西莫必胜作者秦瑞January Agent创始人李晨 多模…

C++编程函数中switch实例用法

switch语法 switch (func_cb.sta) switch后续跟随多个成对的case和break,分别包含if/endif判断语句 每个 case 后跟一个要比较的值和一个冒号,当被测试的变量等于 case 中的常量时,case下一行的语句将被执行 switch 语句可以嵌套。 嵌套时&am…

爬虫逆向实例小记——某数据知识管理网站-DES-ECB模式

aHR0cHM6Ly9rZC5uc2ZjLmNuL2ZpbmFsUHJvamVjdEluaXQ 注意:本文是逆向部分比较少,主要为了流程走通,限于代码搬运工。 第一步:分析页面 此网站经过请求响应,可以看出响应内容为加密内容。 第二步:判断加密类型 在XHR …

【Linux】解决误操作libc.so.6导致的问题,补充:升级glibc注意事项

千万不要轻易动/usr/lib64/libc.so.6。 glibc是Linux系统中最底层的api,Linux几乎所有运行库都依赖glibc。/usr/lib64/libc.so.6属于glibc,在centos7中是个软链接。 一旦误删或误操作libc.so.6,或者glibc新版本不兼容等原因,都可…

c++编程(13)——vector的模拟实现

欢迎来到博主的专栏——c编程 博主ID:代码小豪 文章目录 前言vector的模拟实现vector的成员对象插入、删除、扩容访问vector元素构造函数 填坑:为什么拷贝vector类元素的时候不能用浅拷贝末尾源代码: 前言 博主目前的水平还不能很明确的描述…

CV之Nougat:Nougat(一种基于神经网络实现OCR功能的视觉转换器模型)的简介、安装和使用方法、案例应用之详细攻略

CV之Nougat:Nougat(一种基于神经网络实现OCR功能的视觉转换器模型)的简介、安装和使用方法、案例应用之详细攻略 目录 相关论文 《Nougat: Neural Optical Understanding for Academic Documents》的翻译与解读 Nougat的简介 Nougat的安装和使用方法 1、安装 …

短视频拍摄方式有哪些:四川鑫悦里文化传媒有限公司

​短视频拍摄方式有哪些 在数字化时代,短视频以其短小精悍、传播迅速的特点,成为了人们表达自我、分享生活的重要工具。然而,想要制作出引人入胜的短视频,除了创意和构思,拍摄方式的选择也至关重要。四川鑫悦里文化传…