前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper在Linux虚拟机下的安装部署

Zookeeper在Linux虚拟机下的安装部署

作者头像
火之高兴
发布2024-07-25 15:51:50
560
发布2024-07-25 15:51:50
举报
文章被收录于专栏:大数据应用技术

Apache ZooKeeper是Apache软件基金会的一个开源分布式软件项目,大数据集群服务器的管理者协调者。 简言:ZK就是一个管理多个服务(集群分布式环境下)的通知机制 Watcher+文件系统 ZNode 文件系统:保存少量,服务器相关的配置文件信息。 Watcher 监听通知机制:注册监听服务器的上下线以及配置信息变更。


image.png
image.png

特点

  1. 全局数据一致性:当客户端(client)对zookeeper集群中的数据进行读取时,无论从哪个节点进行读取,所获得的数据都是一致的。
  2. 半数机制,动态选举:zookeeper集群的运行遵循着半数机制(N=2F+1),即只要一半的服务器节点正常运行,那么zookeeper就可以正常的运转;zookeeper集群是一主(leader)多从(follower)的架构,其主节点有可能是任何一台机器,通过选举完成主节点的确认。
  3. 数据实时性:由多台服务器构成的zookeeper集群,在数据被写入或者更新时,客户端在一定的时间范围内(极短的时间)可以实时获取到最新的数据。

集群安装

image.png
image.png
1.准备三台服务器

(hadoop11/hadoop12/hadoop13) 安装环境 zookeeper3.4.6 hadoop3.1.4 jdk8 centOS7

代码语言:javascript
复制
0. 设置ip
1. 安装jdk
2. 配置java环境变量
3. 关闭防火墙
4. 设置hostname
5. 设置hosts(3台彼此之间集群互通)

2.安装

代码语言:javascript
复制
# 1. 解压
[root@hadoop11 modules]# tar zxvf zookeeper-3.4.6.tar.gz -C /opt/installs/
# 2. 修改文件名
[root@hadoop11 installs]# mv zookeeper-3.4.6/ zookeeper3.4.6
# 3. 编辑环境变量配置文件
[root@hadoop11 zookeeper3.4.6]# vim /etc/profile

# ------------------下面是添加的内容------
# zookeeper
export ZOOKEEPER_HOME=/opt/installs/zookeeper3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin:

# 4. 重新加载profile配置
source /etc/profile
3.标记主机号
代码语言:javascript
复制
# 1. zk目录下新建一个data目录
  作为后续zk的数据存放位置
  [root@hadoop11 zookeeper3.4.6]# mkdir /opt/installs/zookeeper3.4.6/data
# 2. 在data下,新建一个myid文件。
  [root@hadoop11 zookeeper3.4.6]# cd data
# 3. 里面内容填写当前zk节点的编号
  [root@hadoop11 data]# echo 11 > myid 
4.初始化配置文件
image.png
image.png
代码语言:javascript
复制
# 1. 拷贝zoo.cfg文件
[root@hadoop11 conf]# cp zoo_sample.cfg zoo.cfg
# 2. 配置zoo.cfg
#-------------以下是内容-------------- 
# 通信心跳时间, ,Zookeeper服务器与客户端心跳时间,单位毫秒
tickTime=2000 
#Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)
initLimit=10 
# Leader和Follower之间通信时间如果超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
syncLimit=5 
# zk的数据存储位置
# 注意:默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。
dataDir=/opt/installs/zookeeper3.4.6/data/
# zk的客户端访问zk的端口号
clientPort=2181 

# server.myid=zk的ip:2888:3888
# 2888(内部数据通信的端口)  #3888(选举投票使用的端口)
server.11=hadoop11:2888:3888
server.12=hadoop12:2888:3888
server.13=hadoop13:2888:3888

中文注释最好也删掉

5.同步配置文件
代码语言:javascript
复制
# 分发资源
[root@hadoop11 conf]# myscp.sh /opt/installs/zookeeper3.4.6
[root@hadoop11 conf]# myscp.sh /etc/profile
# source环境变量
[root@hadoop11 conf]# xcall.sh source /etc/profile
# 修改hadoop12和hadoop13的myid
echo 12 > myid
echo 13 > myid
# 先修改myid之后,在启动zookeeper
6.zk命令
代码语言:javascript
复制
# 1. 启动
    zkServer.sh start
    [root@hadoop11 data]# jps
    2610 QuorumPeerMain # zk节点的进程。
    3500 Jps
# 2. 查看状态
    zkServer.sh status
    集群环境下: Leader  Follower

# 3. 停止
 	 zkServer.sh stop

# 4. 客户端
  	zkCli.sh 登录本机的zk
  	zkCli.sh -server ip:2181 登录指定ip的zk主机
代码语言:javascript
复制
[root@hadoop11 ~]# xcall.sh  zkServer.sh start
----------------- hadoop11 -----------------
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
----------------- hadoop12 -----------------
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
----------------- hadoop13 -----------------
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@hadoop11 ~]# xcall.sh zkServer.sh status
----------------- hadoop11 -----------------
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Mode: follower
----------------- hadoop12 -----------------
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Mode: leader
----------------- hadoop13 -----------------
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Mode: follower
代码语言:javascript
复制
# 注意!需要启动所有hadoop上的zk服务,否则会在状态里显示Error,如下报错
[root@hadoop11 conf]# zkServer.sh status
JMX enabled by default
Using config: /opt/installs/zookeeper3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特点
  • 集群安装
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档