zookeeper集群

zookpeeper简单的描述

匆匆过客 提交于 2019-12-05 14:40:50
一 、 什么是 Zookeeper Zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。 1、zookeeper是为别的分布式程序服务的 2、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务) 3、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统> 一名称服务等 4、虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能: 管理 (存储,读取)用户程序提交的数据(类似namenode中存放的metadata); 并为用户程序提供数据节点监听服务; 1.1 Zookeeper 集群 机制 Zookeeper集群的角色: Leader 和 follower 只要集群中有半数以上节点存活

zookeeper

↘锁芯ラ 提交于 2019-12-05 14:29:39
Zookeeper是什么 官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 上面的解释有点抽象,简单来说zookeeper=文件系统+监听通知机制。 1、 文件系统 Zookeeper维护一个类似文件系统的数据结构: 每个子目录项如 NameService 都被称作为 znode(目录节点),和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。 有四种类型的znode: PERSISTENT-持久化目录节点 客户端与zookeeper断开连接后,该节点依旧存在 PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号 EPHEMERAL-临时目录节点 客户端与zookeeper断开连接后,该节点被删除 EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点 客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号 2、 监听通知机制

Zookeeper安装

泪湿孤枕 提交于 2019-12-05 13:59:48
Zookeeper windows环境 安装 环境要求:必须要有jdk环境 1.安装jdk 2.安装Zookeeper. 在官网 http://zookeeper.apache.org/ 下载zookeeper.我下载的是zookeeper-3.4.6版本。 解压zookeeper-3.4.6至D:\machine\zookeeper-3.4.6. 在D:\machine 新建data及log目录。 3.ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。ZooKeeper 单机模式的安装相对比较简单,如果第一次接触ZooKeeper的话,建议安装ZooKeeper单机模式或者集群伪分布模式。 安装单机模式。D:\machine\zookeeper-3.4.6\conf中 复制 zoo_sample.cfg 并粘贴到当前目录下,命名zoo.cfg。 Zookeeper 集群环境 搭建 ( linux ) 环境要求:必须要有jdk环境 结构 一共三个节点(zk服务器集群规模不小于3个节点),要求服务器之间系统时间保持一致。 上传zk并且解压 进行解压: tar -zxvf zookeeper-3.4.6.tar.gz 重命名: mv zookeeper-3.4.6 zookeeper 修改zookeeper环境变量 vi

ZooKeeper

筅森魡賤 提交于 2019-12-05 08:45:39
一、简介 Zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务 1、zk原理 1、数据结构类似于xml的树状结构 2、每个节点称为znode,包含节点名称(唯一),节点数据,子节点 2、znode类型   临时节点:连接关闭后失效   临时顺序节点:   持久节点:节点信息持久化   持久顺序节点: 二、zk环境搭建 1、windows环境 1、启动   问题:点击zkServer.cmd后一闪而过   原因:conf目录下不存在zoo.cfg文件,将实例文件改名      3.5.5版本启动一闪而过问题,除了上述那个,需下载带bin的tar包,否则只是源码 2、客户端连接   点击zkCli.cmd 3、客户端常用命令   ls /:查看根节点信息   create /mytest znode_content:创建mytest节点,节点内容为znode_content ,默认创建的是持久节点   set /mytest test_content_other:修改mytest节点内容 来源: https://www

阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)

本秂侑毒 提交于 2019-12-05 08:43:31
本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 的基础上搭建,多添加了一个 datanode 节点 。 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统: CentOS 7.3 Hadoop: hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色分配 master: NameNode、SecondaryNameNode、QuorumPeerMain slave1: DataNode、QuorumPeerMain slave2: DataNode、QuorumPeerMain 2 ZooKeeper 下载 下载 zookeeper-3.4.14.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为: /usr/local/ 将解压得到的目录改名为 zookeeper 。 cd /usr/local mv zookeeper-3.4.14 zookeeper 3 添加 ZooKeeper 环境变量 在"/etc/profile"中添加内容: 1 export ZOOKEEPER_HOME=/usr/local

阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建

徘徊边缘 提交于 2019-12-05 08:43:23
本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 的基础上搭建,多添加了一个 datanode 节点 。 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统: CentOS 7.3 Hadoop: hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz HBase: hbase-1.2.6-bin.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色分配 master: NameNode、SecondaryNameNode、HMaster、QuorumPeerMain slave1: DataNode、HMaster(候补节点)、HRegionServer、QuorumPeerMain slave2: DataNode、HRegionServer、QuorumPeerMain 2 HBase 下载 下载 hbase-1.2.6-bin.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为: /usr/local 将解压得到的目录改名为 hbase 1 cd /usr/local 2 mv hbase-1.2.6/ hbase/ 3 添加 HBase 环境变量 在"

安装  Dubbo  注 册中心(Zookeeper-3.4.6)(一)

亡梦爱人 提交于 2019-12-05 06:42:29
基于 Dubbo 的分布式系统架构视频教程 作者:(原著)吴水成,840765167@qq.com,wu-sc@foxmail.com 只是通过大神经验可以学到一些牛逼的技术。绝无商业用途。哭哭哭......... 节点角色说明: Provider: 暴露服务的 服务提供方——暴漏的服务也是需要容器环境运行。( Container:服务运行环境 ) •Consumer: 调用远程服务的 服务消费方 •Registry: 服务注册与发现的 注册中心————服务在服务运行环境中需要往注册中心去注册,供服务消费方去调用。 •Monitor: 统计服务的调用次数和调用时间的 监控中心 —— 统计服务的调用信息 •Container: 服务运行容器 调用关系说明: 0. 服务容器负责启动,加载,运行服务提供者。 1. 服务提供者在启动时,向注册中心注册自己提供的服务。 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。 3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败, 再选另一台调用。 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。 注册中心:超级重要 方案:以zookeeper

zookeeper启动失败报错分析

删除回忆录丶 提交于 2019-12-05 05:45:14
在查看zookeeper启动状态时,会遇到这样一个情况 [root@master bin]# zkServer.sh status JMX enabled by default Using config: /usr/local/zk/bin/../conf/zoo.cfg Error contacting service. It is probably not running. 而其他两个节点却是现实正常时,分析原因并解决: 1.原因一 其原因是在编辑zoo.cfg配置文件时,指定了log的输出目录,但是却未创建, 因此需要按照里面指定的目录进行创建。 mkdir /tmp/zookeeper/log 2.原因二 最后检查配置zoo.cfg配置发现是该节点的主机名写错了;先停止三个节点zookeeper服务,逐一的修改节点上zoo.cfg配置文件,在逐一的启动 ,结果显示正常 3.原因三 配置集群时在zoo.cfg里的dataDir的数据目录下的myid文件写错,或者没有myid文件,修改或创建myid在重新启动即可。 [root@rabbitmq2 bin]# ./zkServer.sh status JMX enabled by default Using config: /opt/websuite/zookeeper-3.3.6/bin/../conf/zoo.cfg

zookeeper安装,启动失败,解决问题,并成功启动

梦想与她 提交于 2019-12-05 05:43:00
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain 对于zookeeper的安装, 下载安装包http://zookeeper.apache.org/ 解压到你的安装位置,这里 apache-zookeeper-3.5.5.tar.gz 是我下载的最新安装包,/opt/module/是我的安装目录 [root@host-10-75-169-14 zookeeper]# tar -zxvf apache-zookeeper-3.5.5.tar.gz -C /opt/module/ 修改配置文件,根据自己需求,修改zookeeper的数据存储位置,也是官方建议的修改: [root@host-10-75-169-14 apache-zookeeper-3.5.5]# vi conf/zoo_sample.cfg 将 dataDir=/tmp/zookeeper 修改为 dataDir=/opt/module/apache-zookeeper-3.5.5/zkData 保存之后,将文件重命名为zoo.cfg: [root@host-10-75-169-14 apache-zookeeper-3.5.5]# mv conf/zoo_sample.cfg conf

关于zookeeper启动失败,个人解决经验

天大地大妈咪最大 提交于 2019-12-05 05:30:00
打开日志 zookeeper.out 查看错误信息,根据错误信息进行百度。 日志文件如果不知道在哪里可以 find -name "zookeeper.out"查找 个人配置及解决方案: 解压完毕后,在zookeer下创建文件夹zkData 将zookeeper/conf 下 zoo* 文件修改为 zoo.cfg vi zoo.cfg 设置 dataDir=/home/hadoop/apps/zookeeper/zkData 本地模式测试 bin/zkServer.sh start 查看状态 bin/zkServer.sh status 提示:关闭防火墙 集群配置 在 zoo.cfg 文件下 加入 server.1=mini1:2888:3888 server.2=mini3:2888:3888 server.3=mini2:2888:3888 提示:mini1,mini2,mini3 对应个人机群ip 在 zkData文件夹下打开myid 在不同的机器上设置对应myid mini1下myid 设置为1 mini2 下myid设置为2 mini3下myid设置为3 依次在3台机器上启动zookeeper bin/zkServer.sh start 查看状态 bin/zkServer.sh status 若启动不成功,可以试试: /etc/hosts 中地址和名称 与 zoo.cfg