zookeeper命令

Zookeeper-deploy

心已入冬 提交于 2020-04-08 03:21:35
一、概述 1.1、简介 Zookeeper是一个开源的,分布式的,为分布式应用提供协调服务的Apache项目 1.2、工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化Zookeeper就将负责通知已经在Zookeeper.上注册的那些观察者做出相应的反应。 1.3、特点 1) Zookeeper: 一个领导者(Leader) ,多个跟随者(Follower) 组成的集群。 2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。 3)全局数据一致:每个Server保存一份相同的数据副本,Client无论 连接到哪个Server,数据都是一致的。 4)更新请求顺序进行,来自同一个Client的更新请求按其发送顺序依次执行。 5)数据更新原子性,一次数据更新要么成功,要么失败。 6)实时性,在一定时间范围内,Client能读到最新数据。 1.4、数据结构 ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。 znode一共有4种类型:持久的(persistent)、临时的 (ephemeral)、持久有序的

解Bug之路-dubbo应用无法重连zookeeper

ⅰ亾dé卋堺 提交于 2020-04-07 10:40:16
前言 dubbo是一个成熟且被广泛运用的框架。饶是如此,在某些极端条件下基于dubbo的应用还会出现无法重连zookeeper的问题。由于此问题容易导致比较大的故障,所以笔者费了一番功夫去定位,现将排查过程写成博文分享出来。 Bug现场 这是一起在测试环境出现的故障。起因是网工做交换机切换演练,可能由于姿势不对,使得断网的时间从预估的秒级达到了分钟级。等网络恢复后,测试环境就炸开了锅,基本上所有应用再也无法提供服务,在dubbo控制台上也看不到任何提供者,他们和zk的连接都断开而且似乎完全没有重连的迹象。如下图所示: 无法快速恢复 为了不影响测试的进度,运维同学紧急进行了重启,但坑爹的是大部分系统都有启动依赖,盲目的重启只会因为xxx provider不存在而无法启动。只能从最基础的服务开始重启,慢慢恢复。如下图所示: 还好只是测试环境,但为了不让产线出现这种问题,必须一查到底,把这个Bug揪出来。 着手排查 模拟zookeeper连接断开 测试环境的好处是我们可以用各种手段去模拟复现,而不用和处理产线一样到处寻找蛛丝马迹然后进行逻辑推理(推理是一个非常烧脑的过程)。于是笔者联系了SA同学,通过iptables进行线下的断网模拟。命令如下所示: // 禁用本机和zk三台机器的流量进出 iptables -A INPUT -s zk-1-ip/32 -j DROP iptables

CDH使用Solr实现HBase二级索引

五迷三道 提交于 2020-04-06 13:12:22
一、为什么要使用Solr做二级索引 二、实时查询方案 三、部署流程 3.1 安装HBase、Solr 3.2 增加HBase复制功能 3.3创建相应的 SolrCloud 集合 3.4 创建 Lily HBase Indexer 配置 3.5创建 Morphline 配置文件 3.6 注册 Lily HBase Indexer Configuration 和 Lily HBase Indexer Service 3.7 同步数据 3.8批量同步索引 3.9 设置多个indexer 四、数据的增删改查 4.1 增加 4.2更新 4.3删除 4.4 总结 五、 扩展命令 六、F&Q 6.1创建indexer失败,原来indexer已经存在 6.2创建indexer失败 6.3使用自带的indexer工具批量同步索引失败,提示找不到morphlines.conf 6.4使用自带的indexer工具批量同步索引失败,提示找不到solrconfig.xml 6.5使用自带的indexer工具批量同步索引失败,提示找不到Java heap space 6.6 HBaseIndexer启动后一会儿就自动退出 6.7 HBaseIndexer同步的数据与Solr不一致 6.8 出现了6.7的问题之后,修改了read-row="never"后,丢失部分字段 一、为什么要使用Solr做二级索引

面试心得:不会这些,劝你简历不要写 “熟悉” zookeeper

那年仲夏 提交于 2020-04-05 23:00:43
唠唠叨叨 本文主要分享一下 zookeeper 的一些基本概念,在正式进入正题前,和大家聊一聊刚入行时我的面试经验,可以说是耿直的有些可爱。 面试官 :用过 zookeeper 吗? 我 :用过啊,给 dubbo 提供服务的注册与发现嘛 面试官 :知道 zookeeper 是什么吗? 我 :知道啊,注册中心嘛 面试官 :那你们项目中都是怎么用 zookeeper 的? 我 :就在 springboot 的 application.properties 配置文件里添加一个 zookeeper 服务地址就行了。。。 . 上边的对话好像也没什么毛病,但似乎又感觉哪里有点不太对,结果就是每次我如此回答面试都被pass。 为什么会被问zookeeper?因为我的简历项目上写着熟练使用zookeeper,可面试官理解的 “熟练” 使用可不是会配置,工程启动不报错那么简单。所以还是有必要全面了解一下zookeeper的相关知识。 一、zookeeper初识? Zookeeper 它作为 Hadoop 项目中的一个开源子项目,是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。 1、zookeeper数据模型 zookeeper 维护了一个类似文件系统的数据结构,每个子目录(/微信、/微信/公众号)都被称作为 znode

zookeeper(单机、伪集群、集群)部署

柔情痞子 提交于 2020-04-05 00:35:07
ZooKeeper是一个分布式的、开源的分布式应用程序协调服务,可以在分布 式环境中实现应用配置管理、统一命名服务、状态同步服务等功能。 ZooKeeper是一种为分布式应用所设计的高可用、高性能的开源协调服务,它提供了一项基本服务:分布式锁 服务。由于ZooKeeper开源的特性,在其分布式锁实现的基础上,又被摸索出了其它的功用,譬如:配置维 护、组服务、分布式消息队列等等。 ZooKeeper维护了一个类似文件系统的数据结构,其内部每个子目录都被 称作znode(目录节点),与文件系统一样,我们可以自由的增删改查znode。ZooKeeper集群适合搭建在奇数 台机器上。只要集群中半数以上主机处于存活,那么服务就是可用的。 ZooKeeper在配置文件中并没有指定 master和slave,但是,ZooKeeper在工作时,只有一个节点为leader,其余节点为follower,leader是通过内部 的选举机制临时产生的。 ZooKeeper特点 1、顺序一致性:以zxid来保证事务的顺序性。 2、原子性:以zab保证原子操作,要么成功,要么失败。 3、单一视图:客户获取到的数据始终是一致的。 4、可靠:以版本实现"写入校验",保证了数据写入的正确性。 ZooKeeper有三种安装方式:单机模式 & 伪集群模式 & 集群模式 单机模式: 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-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创建

分布式协调服务-Zookeeper

丶灬走出姿态 提交于 2020-03-23 01:08:45
什么是 zookeeper? Zookeeper 是google的chubby一个开源实现,是hadoop的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 在Hbase中会用到。 Zk(zookeeper简称)可以用来保证数据在zk集群之间的数据的事物性一致。 Zk默认数据2M以下。 zookeeper架构图 如何搭建Zookeeper服务器集群 zk服务器集群规模不小于3节点,要求服务器之间系统时间要保持一致。 将下载的zookeeper复制到/usr/local 里,解压: tar –zxvf zookeeper-3.4.5.tar.gz 重命名: mv zookeeper-3.4.5.tar.gz zk 在hadoop的/usr/local目录下,解压缩zk….tar.gz,设置环境变量 设置环境变量: 加入: export ZOOKEEPER_HOME=/usr/local/zk 在PATH 后面追加: :$ZOOKEEPER_HOME/bin 使环境变量生效: source /etc/profile 在conf目录下,修改文件 mv zoo_sample.cfg zoo.cfg [root@hadoop zk]# cd conf [root@hadoop conf]# ls configuration.xsl