zookeeper的虚拟机部署与demo示例

实用为目的,不深究原理

一、Zookeeper是什么

1、简介

关键词:分布式

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是GoogleChubby一个开源的实现,是HadoopHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

 

2Zookeeper能做什么事情呢,简单的例子:

关键词:自动感知、自动启用备用总服务器

假设我们有20搜索引擎服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个webcgi(向总服务器发出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要让正在提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以提供搜索服务了。使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器

3ZooKeeper的基本运转流程:

A)选举Leader

B)同步数据。

C)选举Leader过程中算法有很多,但要达到的选举标准是一致的。

D)Leader要具有最高的执行ID,类似root权限。

E)集群中大多数的机器得到响应并接受选出的Leader


二、Zookeeper准备

1、Demo需求

一台虚拟机模拟3zkServer集群安装

2、下载

net-toolslrzsz插件

3、工具

VMwareXshell 5

 

三、Zookeeper实例

1. 新建虚拟机

创建新的虚拟机--》典型,下一步--》找到映射文件(我用的是CentOS-7-x86_64-Minimal-1511.iso),下一步--》设置虚拟机名称和保存位置,下一步

--》设置磁盘大小(我一般设置20G)。选择存储为单个文件。下一步--》自定义硬件,虚拟机内存设为2048M --》完成

启动之后,选择语言、设置密码什么的,这里就不赘述了

2. 创建文件目录

 

如图示,先在根目录下创建绿色的目录结构。分别修改文件datamyid123

3. 更改虚拟机联网配置,目的是允许虚拟机联网下载等下要用的插件net-toolslrzsz

cd /etc/sysconfig/network-scripts

vi ifcfg-eno*****(一堆数字),改ONBOOT=yes

修改完后shutdown -r now 立即重启应用配置

 

 

4. 下载和安装插件

1) 下载net-tools

目的:因为使用Xshell连接虚拟机比VMware本身要好用,但是连接条件是虚拟机的ip地址。所以使用它的ifconfig命令查虚拟机的ip

命令:yum install -y net-tools.x86_64

 

下载完成,查询ip

 

2) 下载并安装lrzsz

目的:方便向虚拟机导入宿主机的文件

命令:yum -y install lrzsz

 

5. 使用Xshell 5连接虚拟机

参数:虚拟机ip

步骤:文件--》新建--》填入名称、主机ip(虚拟机的)--》确定--》使用虚拟机的用户、密码登录

 

6. 导入jdk并解压,配置环境变量

命令:

① 导入。rz

 

② 解压。tar -xzvf jdk的压缩包名称

 

 

③ 压缩包已完成使命,删除它。rm

 

④ jdk1.8.0_102名字改简单点。mv

 

⑤ 配置jdk环境变量

命令:vi /etc/profile

在最后加上JAVA_HOMEPATH

 

source /etc/profile 使配置立即生效

 

⑥ Java -version测一下



7. 导入zk,复制3分,创建并配置zoo.cfg

① 进入/root/zk

② rz导入zookeeper-3.4.6.tar.gz

③ 解压。tar -xzvf zookeeper-3.4.6.tar.gz

④ 删除压缩包。rm-xzvf zookeeper-3.4.6.tar.gz

⑤ 重命名。mv zookeeper-3.4.6/ zk1

⑥ 再复制2个。

 

⑦ root/zk/zk1/conf复制zoo_sample.cfg,并重命名为zoo.cfgzk2\zk3同样处理

 

⑧ 分别修改每个zk/conf下的zoo.cfg

如下图所示

dataDir=/tmp/zk1zk2或者zk3

Clientport=21812182或者2183

 

⑨ 至此配置已完成,启动zkServer使用jps查看进程,如果存在QuorumPeerMain就成功了。

a 启动zkServer前,jps查看进程

 

b 启动zk1/2/3bin目录下的zkServer

 

c jps再次查看进程,可见zk已配置成功

 


三、Zookeeper总结

 

本文主要是zookeeperlinux环境下的部署,技术能力要求不算高,能熟练使用linux命令就能部署出来。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值