zookeeper集群

zookeeper搭建和脚本编写

☆樱花仙子☆ 提交于 2020-04-03 22:44:57
hadoop: hdfs:分布式存储 MR: 分布式计算 hdfs: ========================= 1、namenode(元数据)、datanode(真实数据)、2nn(检查点) 2、hadoop-daemon.sh start namenode //启动本机进程 hadoop-daemons.sh start datanode //启动slave机器进程 3、namenode:编辑日志(hdfs oev)和镜像文件(oiv) 编辑日志:hdfs对文件的写操作,读取文件不需要修改编辑日志 镜像文件:hdfs文件的元数据,即索引 4、datanode:真实数据、校验和(7字节的头部+每个chunk512字节进行的4字节校验) 5、2nn: 每个3600s对namenode中的数据进行备份 编辑日志和镜像文件的融合: =============================== 1、每进行一次写操作,编辑日志的id都会+1,保存在edits_inprogress中 2、在namenode启动的时候: namenode处于安全模式状态(safemode),此模式下文件只可读不可写 edits_inprogress实例化为编辑日志文件 老镜像文件和比镜像文件id数大的编辑日志文件加载到内存,重新操作编辑日志的所有操作步骤,并产生新镜像文件 融合过后

构建高可用ZooKeeper集群

匆匆过客 提交于 2020-04-03 10:21:27
构建高可用ZooKeeper集群 2017/01/23 | 分类: 技术架构 | 0 条评论 | 标签: ZOOKEEPER 分享到: 9 原文出处: cyfonly ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。 本文的目标读者是对 ZooKeeper 有一定了解的技术人员,将从 ZooKeeper 运行模式、集群组成、容灾和水平扩容四方面逐步深入,最终构建出高可用的 ZooKeeper 集群。 一、运行模式 Zookeeper 有三种运行模式:单机模式、伪集群模式和集群模式。 1.1 单机模式 这种模式一般适用于开发测试环境,一方面我们没有那么多机器资源,另外就是平时的开发调试并不需要极好的稳定性。 在 Linux 环境下运行单机模式需要执行以下步骤: 1. 准备 Java 运行环境 安装 Java 1.6 或更高版本的 JDK,并配置好 Java 相关的环境变量 $JAVA_HOME 。 2. 下载 ZooKeeper 安装包 下载地址: http://zookeeper

Dubbo进阶--zookeeper注册中心

岁酱吖の 提交于 2020-04-02 07:37:55
上篇已经介绍了Dubbo的基本概念,我们知道了Dubbo提供方会将自己的服务注册到注册中心,使服务暴露出来,实现透明化。这节就介绍一下注册中心的搭建 目前常用的注册中心主要有四种,如下: 通过上述四种方法的对比,我选择了第一种zookeeper注册中心。 搭建环境: Linux:CentOS-7.0-1406-x86_64 jdk:jdk-7u76-linux-x64.tar.gz zookeeper:zookeeper-3.4.6.tar.gz 搭建步骤:(jdk环境不再叙述) 1、修改操作系统的/etc/hosts 文件中添加: # zookeeper servers 192.168.91.130 dubbo-zookeeper 注:此处是为了映射自己当前的ip地址,也可不进行设置。(建议设置,这样以后如果ip地址更换之后,只需要修改此文件即可,其他的依赖项不需要修改) 2、上传并解压zookeeper安装包,我的上传路径为/usr/local/dubbo-files 命令:# tar -zxvf zookeeper-3.4.6.tar.gz –C /指定目录 $ tar –zxvf zookeeper-3.4.6.tar.gz –C /usr/local/zookeeper 3、在/usr/local/zookeeper目录下创建以下目录: $ mkdir data $

答应我,不会这些概念,简历不要写 “熟悉” zookeeper

扶醉桌前 提交于 2020-03-31 21:34:02
整理了一些Java方面的架构、面试资料(微服务、集群、分布式、中间件等),有需要的小伙伴可以关注公众号【程序员内点事】,无套路自行领取 一口气说出 9种 分布式ID生成方式,面试官有点懵了 面试总被问分库分表怎么办?你可以这样怼他 一口气说出 6种 @Transactional 注解失效场景 基于 Java 实现的人脸识别功能(附源码) 9种分布式ID生成之美团(Leaf)实战 唠唠叨叨 本文主要分享一下 zookeeper 的一些基本概念,在正式进入正题前,和大家聊一聊刚入行时我的面试经验,可以说是耿直的有些可爱。 面试官 :用过 zookeeper 吗? 我 :用过啊,给 dubbo 提供服务的注册与发现嘛 面试官 :知道 zookeeper 是什么吗? 我 :知道啊,注册中心嘛 面试官 :那你们项目中都是怎么用 zookeeper 的? 我 :就在 springboot 的 application.properties 配置文件里添加一个 zookeeper 服务地址就行了。。。 . 上边的对话好像也没什么毛病,但似乎又感觉哪里有点不太对,结果就是每次我如此回答面试都被pass。 为什么会被问zookeeper?因为我的简历项目上写着熟练使用zookeeper,可面试官理解的 “熟练” 使用可不是会配置,工程启动不报错那么简单

Linux下安装Zookeeper

删除回忆录丶 提交于 2020-03-30 18:51:42
Linux下安装Zookeeper Zookeeper简介 中间件,提供协调服务 作用于分布式系统,发挥其优势,可以为大数据服务 支持java,提供了java和c语言的客户端API zookeeper,中文意思就是动物园管理员,通过zookeeper(群)来管理协调各个集群的分布式组件。 官网: https://zookeeper.apache.org/ Zookeeper特性 一致性: 数据一致性,数据按照顺序分批入库 原子性: 事务要么成功要么失败,不会局部化 单一视图: 客户端连接集群中的任一zk节点,数据都是一致的 可靠性: 每次对zk的操作状态都会保存在服务端 实时性: 客户端可以读取到zk服务端的最新数据 安装步骤: 1: 首先确保已经安装好了jdk,因为zookeeper是需要依赖java来进行编译的。 下载zookeeper: 进入官网,点击导航菜单 Project-->Releases ,可以选择指定版本进行下载。 也可以使用命令直接下载: # 直接使用命令下载 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz # 解压缩 tar -zxvf zookeeper-3.4.11.tar.gz 环境变量配置: 编辑环境变量配置文件: vi

02-Zookeeper介绍及安装

不打扰是莪最后的温柔 提交于 2020-03-30 14:02:11
1 Zookeeper介绍 ZooKeeper是为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务: 分布式锁服务。分布式应用可以基于它实现更高级的服务,实现诸如同步服务、配置维护和集群管理或者命名的服务。 Zookeeper服务自身组成一个集群,2n+1个(奇数)服务允许n个失效,集群内一半以上机器可用,Zookeeper就可用。 1.1 数据模型 1)ZooKeeper本质上是一个 分布式的小文件存储系统; 2)Zookeeper表现为一个分层的文件系统目录树结构(不同于文件系统的是,节点可以有自己的数据,而文件系统中的目录节点只有子节点), 每个节点可以存少量的数据(1M左右)。 3)每个节点称做一个ZNode。 每个ZNode都可以通过其路径唯一标识。 4)ZooKeeper中的每个节点存储的数据要被原子性的操作。也就是说 读操作将获取该节点相关的所有数据,写操作也将替换掉节点的所有数据。 5)在zookeeper创建顺序节点(create -s ),节点路径后加编号,这个计数对于此节点的父节点来说是唯一的。 /app/ /s100000000001 /s100000000002 6)ZooKeeper中的节点有两种,分别为临时节点和永久节点。节点的类型在创建时即被确定,并且不能改变。 ① 临时节点 :在客户端用 create -e创建

java架构师学习讲解

你离开我真会死。 提交于 2020-03-29 07:32:22
一:并发编程 + activemq + 实战案例并发编程基础篇 第一天 1、课程大纲简要介绍 2、线程基础概念、线程安全概念、多个线程多个锁概念 3、对象锁的同步和异步 4、脏读概念、脏读业务场景、Synchronized概念、Synchronized代码块、Synchronized其他细节 微云学习地址:文件分享 网盘学习地址:https://pan.baidu.com/s/1CTx5SqUeM-ZKtDYLeovODQ 提取码:iclq 微云学习地址:文件分享 致学者:不论你在什么时候开始,重要的是开始之后请不要停止。 第二天 1、Volatile关键字概念、线程优化执行流程、内部原理讲解 2、Volatile关键字的非原子性 3、并发编程下的多线程间通信概念wait、notify,线程经典面试题讲解 4、模拟底层阻塞队列(queue)实现讲解 5、单例和多线程如何结合使用并发编程中级篇 第三天 1、同步类容器讲解 2、并发类容器讲解 3、Concurrent集合类讲解与底层原理实现 4、CopyOnWrite集合类讲解与底层原理实现 5、各类并发Queue详细讲解 第四天 1、多线程设计模式之Future模式讲解与模拟实现 2、多线程设计模式之Master-Worker模式讲解与模拟实现 3、多线程设计模式之生产消费者模型讲解与模拟实现并发编程高级篇 第五天 1

Java面试之Zookeeper

本小妞迷上赌 提交于 2020-03-27 15:34:52
157. zookeeper 是什么? zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 158. zookeeper 都有哪些功能? 集群管理:监控节点存活状态、运行请求等。 主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可以协助完成这个过程。 分布式锁:zookeeper 提供两种锁:独占锁、共享锁。独占锁即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线线程同时读同一个资源,如果要使用写锁也只能有一个线程使用。zookeeper可以对分布式锁进行控制。 命名服务:在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务的地址,提供者等信息。 159. zookeeper 有几种部署模式? zookeeper 有三种部署模式: 单机部署:一台集群上运行; 集群部署:多台集群运行; 伪集群部署:一台集群启动多个 zookeeper 实例运行。 160. zookeeper 怎么保证主从节点的状态同步? zookeeper 的核心是原子广播,这个机制保证了各个

solrCloud+tomcat+zookeeper集群配置

笑着哭i 提交于 2020-03-27 12:19:14
solrcolud安装 solrCloud+tomcat+zookeeper部署 转载请出自出处: http://eksliang.iteye.com/blog/2107002 http://eksliang.iteye.com/ 概述: SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。 它有几个特色功能: 1)集中式的配置信息 2)自动容错 3)近实时搜索 4)查询时自动负载均衡 安装zookeeper 上面也说了 SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,所有要部署solrCloud+tomcat+zookeeper的集群,必须先安装zookeeper 安装环境: Liux: CentOS release 6.4 JDK:1.7.0_55 因为我研究的是solr最新的版本,所以研究的是solr4.8.0然后solr4.8.0必须跑在jdk1.7以上的版本 1、zookeeper是个什么玩意? 答:顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象)、Hive(蜜蜂)、pig(小猪)的管理员, Apache Hbase和 Apache Solr 的分布式集群都用到了zookeeper;Zookeeper:是一个分布式的、开源的程序协调服务

HBase-1.2.1集群搭建

筅森魡賤 提交于 2020-03-27 11:36:13
3 月,跳不动了?>>> 1.hbase是一个分布式系统,需要依赖HDFS作为存储介质,并依靠zookeeper来完成监控主从节点上下线。 2.安装准备如下: 1.HBase角色 HMaster(主节点,一台Active,一台StandBy) HReginServer(数据节点,多台) 2.依赖 HDFS集群、zookeeper集群【启动】 3.上传安装包解压 tar -zxvf hbase-1.2.1.bin.tar.gz -C apps/ 4.进入conf目录修改配置文件如下 1.vi hbase-env.sh export JAVA_HOME=/usr/local/java/jdk1.8.0_231 export HBASE_MANAGES_ZK=false #自己的zookeeper,不启动它内置的 2.vi hbase-site.xml <configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop01:9000/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true<