大数据 Zookeeper选主

目录

1.CAP原则 

2.Paxos算法 

2.1无主模式

2.2有主模式

3.Raft算法

4.ZAB协议(Zookeeoer源子广播)

    4.1简介

4.2原理

4.3协议内容


1.CAP原则
 

定义
        C:一致性
            更新操作完成后并且返回客户端,所有的节点数据保持一致
        A:可用性
            服务一直可用,而且是正常的访问
        P:分区容错性
            应用虽然是分布式系统,当一个或则几个节点出现错误剩下的还可以满足一致性和可用性
    取舍策略
        只能满足定义中的2个

2.Paxos算法
 

2.1无主模式

每一个议员都有自己的想法


2.2有主模式

  • 只有一个主发送指令
  •         当主存在故障的时候重新选主
  •             确保数字编号(议员的ID),为了重新选主
  •             确保事务编号,有点议员数字没有更新,则不参数选主,保持数据的一直性
  •         如果存在多个主就会产生脑裂问题
  •             遵循过半原则
  •             只有超过半数的议员同意才可以成为新的主

3.Raft算法

适用于一个管理日志一致性的协议
    将一致性算法分为了几个部分,包括领导选取(leader selection)、日志复制(log replication)、安全(safety)
    Raft将service划分为3种状态
        leader(领导者)
        Follower(跟随者)
        Candidate(存在选leader阶段,想变成leader先成为Candidate)

4.ZAB协议(Zookeeoer源子广播)


   
4.1简介

Zab协议借鉴了Paxos算法
Zookeeper是通过Zab协议来保证数据的一致性


4.2原理

发现
            zookeeper集群必须有一个leader进程,leader会维护所有的follower可用的列表
 同步
            leader将自身的数据与所有的follower的数据完成同步,体现了CAP原则中CP
传播
            leader接收客户的新的请求,进而广播到所有的follower


4.3协议内容

崩溃恢复之数据恢复
            当leader出现网络中断就会重新选leader,当主选择出来后,并且集群中有超过半数的机器跟leader完成数据的 同步就会退出ZAB协议
            这时如果有一台新的机器加入集群就会从leader同步数据
            在消息广播事务中中,leader每次会将事务分配唯一的标识,Zab协议将原则按照严格的先后顺序进行广播
        消息广播之原子广播
            在zookeeper集群中,等待所有的议员反馈ACK确认消息后,在发送commit
            在Zab协议中,leader进行广播只需要follower超过半数的ACK反馈就可以了,不需要收到全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
单项择题 1. 下面哪个程序负责 HDFS 数据存储。   a)NameNode   b)Jobtracker   c)Datanode   d)secondaryNameNode   e)tasktracker 2. HDfS 中的 block 默认保存几份?   a)3 份   b)2 份   c)1 份   d)不确定 3. 下列哪个程序通常与 NameNode 在一个节点启动?   a)SecondaryNameNode   b)DataNode   c)TaskTracker   d)Jobtracker 4. Hadoop 作者 大数据面试题-全文共15页,当前为第1页。  a)Martin Fowler 大数据面试题-全文共15页,当前为第1页。   b)Kent Beck   c)Doug cutting 5. HDFS 默认 Block Size   a)32MB   b)64MB   c)128MB 6. 下列哪项通常是集群的最要瓶颈   a)CPU   b)网络   c)磁盘   d)内存 7. 关于 SecondaryNameNode 哪项是正确的?   a)它是 NameNode 的热备   b)它对内存没有要求   c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间   d)SecondaryNameNode 应与 NameNode 部署到一个节点 多题 8. 下列哪项可以作为集群的管理工具 大数据面试题-全文共15页,当前为第2页。  a)Puppet 大数据面试题-全文共15页,当前为第2页。   b)Pdsh   c)Cloudera Manager   d)d)Zookeeper 9. 配置机架感知的下面哪项正确   a)如果一个机架出问题,不会影响数据读写   b)写入数据的时候会写到不同机架的 DataNode 中   c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确   a)数据经过 NameNode 传递给 DataNode   b)Client 端将文件切分为 Block,依次上传   c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作 11. 下列哪个是 Hadoop 运行的模式   a)单机版   b)伪分布式   c)分布式 12. Cloudera 提供哪几种安装 CDH 的方法   a)Cloudera manager   b)Tar ball 大数据面试题-全文共15页,当前为第3页。  c)Yum d)Rpm 大数据面试题-全文共15页,当前为第3页。 判断题 13. Ganglia 不仅可以进行监控,也可以进行告警。( ) 14. Block Size 是不可以修改的。( ) 15. Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。( ) 16. 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。( ) 17. Cloudera CDH 是需要付费使用的。( ) 18. Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。( ) 19. Hadoop 支持数据的随机读写。( ) 20. NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。( ) 21. NameNode 本地磁盘保存了 Block 的位置信息。( ) 22. DataNode 通过长连接与 NameNode 保持通信。( ) 23. Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。( ) 24. Slave 节点要存储数据,所以它的磁盘越大越好。( ) 25. hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。( ) 26. Hadoop 默认调度器策略为 FIFO( ) 大数据面试题-全文共15页,当前为第4页。27. 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。( ) 大数据面试题-全文共15页,当前为第4页。 28. 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。( ) 29. 每个 map 槽就是一个线程。( ) 30. Mapreduce 的 input split 就是一个 block。( ) 31. NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。( ) 32. Ha
⼤数据平台常见⾯试题 第1部分 申请ID.. 3 第2部分 部署kafka. 4 2.1 部署86节点kafka. 4 2.2 配置86节点zookeeper. 5 2.3 部署87节点kafka. 5 2.4 配置87节点zookeeper. 5 第3部分 启动zookeeper. 5 3.1 启动86节点启动zookeeper-1服务... 5 3.2 启动87节点启动zookeeper-2、zookeeper-3服务... 6 第4部分 启动kafka. 6 4.1 启动86节点kafka服务... 6 4.2 启动87节点kafka服务... 6 第5部分 创建topic. 7 5.1 测试Topic(可)... 7 5.2 创建⽣产的topic. 7 第1部分 择题 1.1 Hadoop择题 1.1.1 Hdfs 1. 下⾯哪个程序负责 HDFS 数据存储? a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker 2. HDfS 中的 block 默认保存⼏份? a)3份 b)2份 c)1份 d)不确定 3. 下列哪个程序通常与NameNode 在⼀个节点启动? a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker 注:haoop1.X 分析: hadoop 的集群是基于 master/slave 模式,namenode 和 jobtracker 属于 master,datanode 和 tasktracker属于 slave,master 只 有⼀个,⽽ slave 有多个。SecondaryNameNode 内存需求和 NameNode 在⼀个数量级上,所以通常 secondary NameNode(运⾏在 单独的物理机器上)和 NameNode 运⾏在不同的机器上。 JobTracker 和 TaskTracker JobTracker 对应于 NameNode TaskTracker 对应于 DataNode DataNode 和 NameNode 是针对数据存放来⽽⾔的 JobTracker 和 TaskTracker 是对于 MapReduce 执⾏⽽⾔的 mapreduce 中⼏个要概念,mapreduce 整体上可以分为这么⼏条执⾏线索: jobclient,JobTracker 与 TaskTracker。 1、JobClient 会在⽤户端通过 JobClient 类将应⽤已经配置参数打包成 jar ⽂件存储到 hdfs,并把路径提交到 Jobtracker,然后由 JobTracker 创建每⼀个 Task(即 MapTask 和 ReduceTask)并将它们分发到各个 TaskTracker 服务中去执⾏ 2、JobTracker 是⼀个 master 服务,软件启动之后 JobTracker 接收 Job,负责调度 Job 的每⼀个⼦任务 task运⾏于 TaskTracker 上,并监控它们,如果发现有失败的 task 就重新运⾏它。⼀般情况应该把 JobTracker 部署在单独的机器上。 3、TaskTracker 是运⾏在多个节点上的 slaver 服务。TaskTracker 动与 JobTracker 通信,接收作业,并负责直接执⾏每⼀个任务。 TaskTracker 都需要运⾏在 HDFS 的 DataNode 上 4. HDFS 默认 Block Size a)32MB b)64MB c)128MB 注:旧版本是64MB 5. Client 端上传⽂件的时候下列哪项正确 a)数据经过 NameNode 传递给 DataNode b)Client 端将⽂件切分为 Block,依次上传 c)Client 只上传数据到⼀台 DataNode,然后由 NameNode 负责 Block 复制⼯作 分析: Client 向 NameNode 发起⽂件写⼊的请求。 NameNode 根据⽂件⼤⼩和⽂件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。 Client 将⽂件划分为多个 Block,根据 DataNode 的地址信息,按顺序写⼊到每⼀个 DataNode 块中。 6. 下⾯与 HDFS 类似的框架是?C A NTFS B FAT32 C GFS D EXT3 7. 的 8. 的 1.1.2 集群管理 1. 下列哪项通常是集群的最要瓶颈 a)CPU b)⽹络 c)磁盘 IO d)内存 解析: 由于⼤数据⾯临海量数据,读写数据都需要 io,然后还要冗余数据,hadoop ⼀般备 3 份数据,所以 IO
单项择题 1. 下面哪个程序负责 HDFS 数据存储。   a)NameNode   b)Jobtracker   c)Datanode   d)secondaryNameNode   e)tasktracker 2. HDfS 中的 block 默认保存几份?   a)3 份   b)2 份   c)1 份   d)不确定 3. 下列哪个程序通常与 NameNode 在一个节点启动?   a)SecondaryNameNode   b)DataNode   c)TaskTracker   d)Jobtracker 4. Hadoop 作者   a)Martin Fowler   b)Kent Beck   c)Doug cutting 5. HDFS 默认 Block Size   a)32MB   b)64MB   c)128MB 6. 下列哪项通常是集群的最要瓶颈   a)CPU   b)网络   c)磁盘   d)内存 7. 关于 SecondaryNameNode 哪项是正确的?   a)它是 NameNode 的热备   b)它对内存没有要求   c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间   d)SecondaryNameNode 应与 NameNode 部署到一个节点 多题 8. 下列哪项可以作为集群的管理工具   a)Puppet   b)Pdsh   c)Cloudera Manager   d)d)Zookeeper 9. 配置机架感知的下面哪项正确   a)如果一个机架出问题,不会影响数据读写   b)写入数据的时候会写到不同机架的 DataNode 中   c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确   a)数据经过 NameNode 传递给 DataNode   b)Client 端将文件切分为 Block,依次上传   c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作 11. 下列哪个是 Hadoop 运行的模式   a)单机版   b)伪分布式   c)分布式 12. Cloudera 提供哪几种安装 CDH 的方法   a)Cloudera manager   b)Tar ball   c)Yum d)Rpm 判断题 13. Ganglia 不仅可以进行监控,也可以进行告警。( ) 14. Block Size 是不可以修改的。( ) 15. Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。( ) 16. 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。( ) 17. Cloudera CDH 是需要付费使用的。( ) 18. Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。( ) 19. Hadoop 支持数据的随机读写。( ) 20. NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。( ) 21. NameNode 本地磁盘保存了 Block 的位置信息。( ) 22. DataNode 通过长连接与 NameNode 保持通信。( ) 23. Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。( ) 24. Slave 节点要存储数据,所以它的磁盘越大越好。( ) 25. hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。( ) 26. Hadoop 默认调度器策略为 FIFO( ) 27. 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。( ) 28. 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。( ) 29. 每个 map 槽就是一个线程。( ) 30. Mapreduce 的 input split 就是一个 block。( ) 31. NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。( ) 32. Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程的内存。它默认是 200 GB。( ) 33. DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,那需要 NameNode执行"Hadoop namenode -format"操作格式化磁盘。( ) 别走开,答案在后
单项择题 1. 下面哪个程序负责 HDFS 数据存储。   a)NameNode   b)Jobtracker   c)Datanode   d)secondaryNameNode   e)tasktracker 2. HDfS 中的 block 默认保存几份?   a)3 份   b)2 份   c)1 份   d)不确定 3. 下列哪个程序通常与 NameNode 在一个节点启动?   a)SecondaryNameNode   b)DataNode   c)TaskTracker   d)Jobtracker 大数据面试题全文共16页,当前为第1页。4. Hadoop 作者 大数据面试题全文共16页,当前为第1页。   a)Martin Fowler   b)Kent Beck   c)Doug cutting 5. HDFS 默认 Block Size   a)32MB   b)64MB   c)128MB 6. 下列哪项通常是集群的最要瓶颈   a)CPU   b)网络   c)磁盘   d)内存 7. 关于 SecondaryNameNode 哪项是正确的?   a)它是 NameNode 的热备   b)它对内存没有要求   c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间   d)SecondaryNameNode 应与 NameNode 部署到一个节点 大数据面试题全文共16页,当前为第2页。多大数据面试题全文共16页,当前为第2页。 8. 下列哪项可以作为集群的管理工具   a)Puppet   b)Pdsh   c)Cloudera Manager   d)d)Zookeeper 9. 配置机架感知的下面哪项正确   a)如果一个机架出问题,不会影响数据读写   b)写入数据的时候会写到不同机架的 DataNode 中   c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确   a)数据经过 NameNode 传递给 DataNode   b)Client 端将文件切分为 Block,依次上传   c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作 11. 下列哪个是 Hadoop 运行的模式   a)单机版   b)伪分布式   c)分布式 大数据面试题全文共16页,当前为第3页。12. Cloudera 提供哪几种安装 CDH 的方法 大数据面试题全文共16页,当前为第3页。   a)Cloudera manager   b)Tar ball   c)Yum d)Rpm 判断题 13. Ganglia 不仅可以进行监控,也可以进行告警。( ) 14. Block Size 是不可以修改的。( ) 15. Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。( ) 16. 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。( ) 17. Cloudera CDH 是需要付费使用的。( ) 18. Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。( ) 19. Hadoop 支持数据的随机读写。( ) 20. NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。( ) 21. NameNode 本地磁盘保存了 Block 的位置信息。( ) 22. DataNode 通过长连接与 NameNode 保持通信。( ) 大数据面试题全文共16页,当前为第4页。23. Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。( ) 大数据面试题全文共16页,当前为第4页。 24. Slave 节点要存储数据,所以它的磁盘越大越好。( ) 25. hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。( ) 26. Hadoop 默认调度器策略为 FIFO( ) 27. 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。( ) 28. 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。( ) 29. 每个 map 槽就是一个线程。( ) 30. Mapreduce 的 input split 就是一个 block。( ) 31. NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。( ) 32. Hadoop 环境变
⼤数据技术概述 ⼤数据的概念 4V:⼤量化volume、价值密度低value、快速化velocity、多样化variety。⼤量化每两年增长⼀倍,到了2020年,全球就会有35ZB数据 量,Byte->KB->MB->GB->TB->PB->EB->ZB。多样化,结构化数据,保存在关系数据库中,具有规范的⾏和列的结构数据,只占⼈类数据 量10%不到。90%是⾮结构化数据,存储在⾮关系数据库中。快速化,数据有价值必须快速处理,⼀秒定律,数据从⽣成到决策响应仅需 要⼀秒,时间延长不会有商业价值,例如推荐系统。价值密度低,⼤量数据中有价值的⽐较少,但是单点价值⽐较⾼ ⼤数据影响 数据库专家jim gray,⼈类从诞⽣以来,经历了四种研究范式。2010年后,进⼊⼤数据时代以后,是以数据为中⼼的研究范式。第⼀种实 验,⼀开始科研就是做实验观察;第⼆种理论,发明了⽜顿定律、⼏何理论由理论去研究科学问题;第三阶段,⼀九四⼏年计算机开始发明 以后,进⼊以计算为中⼼的时代,靠计算可以帮助我们解决相关的科学问题。以计算为中⼼,事先已经知道问题是什么,以数据为中⼼事先 问题不知,只有⼀堆数据,从⼤量数据中去发现问题,再靠数据去解决问题,全部靠数据去驱动。我们思维⽅式⾃从⼤数据时代到来后,发 ⽣了值的变迁。全样⽽⾮抽样,以前采⽤统计学抽样⽅式(存储设备贵、存储数据少、CPU和技术能⼒不强、⽆法短时间迅速计算),⼤数 据时代有⾜够能⼒存储⾜够算例去计算。效率⽽⾮精确,不苛求精确度,全样数据不存在误差放⼤问题,追求速度。相关⽽⾮因果,追求相 关性,⽐如相关性是推荐系统的核⼼,有相关性⾜够带来商业价值。 ⼤数据的关键技术 数据流程包括数据采集、数据存储与管理、数据处理与分析、数据隐私与安全。⼤数据的关键技术两⼤核⼼,分布式存储和分布式处理,解 决数据存储和数据⾼校计算问题。分布式存储:⾕歌GFS和开源实现HDFS->⾕歌Big Table和开源版本Hase->NoSQL(键值、列族、图 形、⽂档数据库)->NewSQL。分布式处理:MapReduce->Spark->Flink。 ⼤数据计算模式 不同的计算模式需要使⽤不同的产品。第⼀个批处理,MapReduce和Spark⾯向批处理。第⼆个流计算,流数据像溪⽔⼀样不断到达,每 次量可能不⼤,但是会连续不断的到达。流数据要求实时处理,给出实时响应(秒级或毫秒级),否则分析结果会失去商业价值。流计算代 表产品有S4、Storm、Flume、Puma、DStream、银河流数据处理平台。第三种模式是图计算,有些应⽤场景⽐较适合图来建模,⽐如 地理信息系统(快递)、微博微信社交群体,⽹友是点,点赞就建⽴边,会发现哪些⼩朋友圈⽐较紧密。图计算代表软件:Google Pregel、GraphX、Giraph、Hma、PowerGraph、GoldenOrb。第四种场景是查询分析计算,代表产品:Google Dremel、Hive、 Cassandra、Impala。 ⼤数据技术之Hadoop Hadoop⽣态系统图 HDFS存储⾮结构化数据,⾯向批处理,YARN资源调度和管理框架,计算所需要底层内部CPU资源。MapReduce数据的计算。数据仓库 Hive本⾝不保存数据,数据保存在底层HDFS,本⾝是编程接⼝,把你写的SQL语句⾃动转换对HDFS查询分析,得到结果。Pig数据流处 理,数据清洗转换。Mahout数据挖掘的算法库,实现常⽤数据挖掘算法(分类、聚类、回归等),调⽤接⼝,传⼊参数,减少⼯作量,针 对海量数据进⾏数据挖掘分析。Ambari⾃动化的安装部署配置管理Hadoop集群的。Zookeeper分布式协作服务,管家等,专门做分布 式协调⼀致性⼯作。HBase实时性计算,分布式数据库。Flume⽇志采集,Sqoop数据库ETL(抽取、转换、加载),完成Hadoop系统组 件之间的互通,Hadoop系统组件当中数据和关系数据库当中数据之间相互导⼊导出(HDFS数据可以导⼊MySql当中去)。 MapReduce,Map函数和Reduce函数,编程容易,屏蔽底层分布式并⾏编程细节。采⽤分⽽治之思想,并⾮所有任务都可以分⽽治之。 YARN实现⼀个集群多个框架,例如⼀千台机器,同时部署了三个框架(MapReduce、Storm、Impala),会产⽣打架,有三个管家去底 层强CPU资源。如果三个产品只接受⼀个管家,就不会打架。出现了YARN资源调度和管理框架。 ⼤数据技术之Spark Spark架构图 Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core 之上的。 Spark SQL:提供通过Apache Hi

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈喽沃德小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值