姓名:何热;学号:20021210616; 学院:电子工程学院
转自https://blog.csdn.net/qq_52137951/article/details/115441112
【嵌牛导读】本文介绍了如何从零搭建zookeeper环境
【嵌牛鼻子】zookeeper 大数据
【嵌牛提问】如何使用zookeeper开始大数据学习之路?
【嵌牛正文】
前言
我事先创建好了opt文件,该文件里包含data,modules,software,tools,一般我把安装包存放在sofeware解压生成在modules。可以按照我这个方式去做,后期以便文件好找。java环境自行先安装建议使用1.8版本的,这里我就不示范了。过程使用的软件Notepad++(在这里修改配置文件比较方便)MobaXterm_Personal_20.2(远程登录linux)FlashFPX(把文件发送到linux上)。
一、zookeeper简介
ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos做了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,那么Zookeeper能做什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的cgi(向总服务器发出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要让正在提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以提供搜索服务了。使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器。
ZooKeeper的基本运转流程:
1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的执行ID,类似root权限。
5、集群中大多数的机器得到响应并接受选出的Leader。
Zookeeper 的存储结构
二、分布式集群配置及参数介绍
1.下载地址
https://archive.apache.org/dist/zookeeper/
2.解压
chmod u+x zookeeper-3.4.5.tar.gz 给压缩包权限
tar -zxf zookeeper-3.4.5.tar.gz -C /opt/modules/ 解压
3.关于zoo.cfg文件参数讲解
1、tickTime:这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。
2、initLimit:这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper 服务器的客户端,而是Zookeeper服务器集群中连接到Leader 的Follower服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过10个心跳的时间(也就是tickTime)长度后Zookeeper服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是5*2000=10秒。
3、dataDir:顾名思义就是Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
4、clientPort:这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求。
4.配置zoo.cfg
进入解压后zookeeper文件,创建一个zkData(文件名可以自拟)文件,进入zkData文件
mkdir -p zkData 第一步
cd zkData 第二步
pwd 第三步
pwd命令后获取路径复制,然后粘贴在zoo.cfg中dataDir后面
以上为单个虚拟机上的配置,若多台虚拟机还要继续配置如下:
继续在zoo.cfg加入:
server.1=panda-pro01.xiong.com:2888:3888
server.2=panda-pro02.xiong.com:2888:3888
server.3=panda-pro03.xiong.com:2888:3888
然后在zkData目录下创建一个文档,填写内容为1:
touch myid
vi myid
完成一台机器配置要分发给其他机器:
scp -r zookeeper-3.4.5/ xiong@10.34.102.252:/opt/modules/ 有几台机器发送几台
分发完后,注意要修改myid文件里的内容,第几台机器就填入几,比如:第二台机器填入2,第三台机器填入3,以此类推。
5.启动服务
进入解压好的zookeeper文件
单台机器启动
bin/zkServer.sh start
bin/zkCli.sh
多台机器启动
bin/zkCli.sh 第一台命令
bin/zkServer.sh start 第二台,第三台。。。。
启动一台机器,后启动bin/zkCli.sh会发现链接不上,这是必须启动第二台机器后才链接成功。
6.基本命令
这里我就不一一示范命令了,找了好久感觉下面这位博主写的比较详细,可以去康康:
zkCli命令,点击
————————————————
版权声明:本文为CSDN博主「Panda°」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_52137951/article/details/115441112