热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

集群的各个节点名词解释

zookeeper:主从架构      leader:集群当中的主节点,主要用于处理事务性的操作请求(增删改)      follower:从节点,非事务操作,查询,

zookeeper:主从架构
        leader:集群当中的主节点,主要用于处理事务性的操作请求(增删改)
        follower: 从节点,非事务操作,查询,投票选举
        节点模型: 永久节点  临时节点  序列化节点  可以组合成四类节点 永久节点  临时节点  永久序列化节点  永久临时节点
        临时节点:一旦客户端断开连接,临时节点消失
        znode:zookeeper当中每一个节点称之为一个znode,znode兼具有文件夹和文件的特性
        watch机制:监听器机制,一次性,只能 监听一次节点的变化,如果需要持续的监听,需要监听到之后重新注册监听器
        
HDFS:
        NameNode : 主要用于存储元数据信息  fsImage  edits 
        DataNode : 主要用于出磁盘,存储数据
        secondaryNameNode:辅助namenode管理元数据,合并fsImage和edits文件 。什么时候合并:1.时间长短  2。edits文件的大小
        journalNode:同步多个NameNode之间的元数据信息,保证每个NameNode看到的元数据都是一致的
        zkFailoverController:nameNode高可用的时候的守护进程,监控namenode的进程是否存在
        
maptask的机制:溢写的过程,mapTask处理完成之后的数据,经过一些列的步骤,分区,排序,规约,然后将数据写入到环形缓冲区,
          环型缓冲区就是一个数组,里面用了三个指针来执行我们的数据的写入,环形缓冲区的默认大小100M,默认环形缓冲区的
          阈值默认是0.8,写到80M的时候,重新启动一个线程,将数组当中的数据,写入到磁盘,磁盘当中会落下大量的小文件,
          这些小文件还需要进行合并,去往相同reduce的数据,合并到一起,等着reduce阶段来拉取数据
reduceTask的机制:通过网络拷贝,将所有mapTask属于自己的数据,拷贝到自己的机器上面来(涉及到网络传输),数据拷贝过来之后,
                 加载到内存当中来做全局的排序,排序完成之后,调用reduce逻辑,reduce处理完成之后,继续写出去到磁盘上面去

数据的shuffle阶段: shuffle阶段的步骤:分区,排序,规约,分组都是属于shuffle阶段
            map阶段的shuffle:分区,排序,规约 ,溢写,小文件合并
            reduce阶段的shuffle:分组,网络拷贝,内存当中每一个reduce的内部排序
            
hive:sql语句的简化mapreduce 四种存储格式  大致分为行式存储(常用) 列式存储 查询快 相同的数据存储在一块磁盘
      常用snappy压缩方式 原始数据text 输出  
      元数据信息在mysql上 数据存在hdfs上 是MySQL与hdfs的映射关系
      
      调优 fetch的抓取 避免mr的执行
           本地执行小任务本地执行
           表的优化 开启mp的聚合 join
           group by 尽量在数据端进行聚合 代替 count  distinct  子查询
           任何时候避免笛卡尔积
           分区裁剪 列裁剪
           动态的分区调整 将我们一个分区表的数据查询出来放到另一个分区里去
           尽量避免数据的倾斜 多产生一个mp任务
           ma’ptask和reduce的个数设置
           并行执行
           严格模式 order by 必须带limit
           JVM:的重用 map结束不要释放资源留给reduce
           关闭推测的执行
           储存于压缩的结合
          
azakaban  定时任务的执行 同类 ooize  

sqoop     数据的导入和到出  由hive 到 sql或者oracle  反之也可以  关系型或者非关系型数据库 将表可以导入中间表 在导入mysql可以防止数据的破环

flume : web nginx tomcat  的日志收集 即收集采集数据
      如何检测flume的正常执行
      shell脚本的监控数据源和目的地的检测  高可用
      flume 和canal  如何采集mysql的数据库当中的数据
      sshXcute.jar goole的jar包 在ideal执行控制
    
spring的配置:
           包扫描 数据库链接池 事务管理 spring于mybaties
springMVC: 
           包扫描 处理器映射器 《mvc:annotation—》 处理器适配器    资源试图解析器 (前后缀)
web.xml: 
           监听器tomcat启动 加载  前端视图控制器
mybatis:   只是一个表头
测试写入速度
向HDFS文件系统中写入数据,10个文件,每个文件10MB,文件存放到/benchmarks/TestDFSIO中
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO  -write -nrFiles 10 -fileSize 10MB
完成之后查看写入速度结果   一般在20M左右

清除测试数据
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO -clean

1 客户端往liunx系统存文件  硬盘不够用  加服务器
2 文件存放在哪里                       记录元数据,确定我们的数据存放在那台的服务器
3 文件太大读取,复制,上传下载很慢     分块存储 将一个大的文件划分block块
4 如何保证所有的块都是好用的           备份存储 实现数据的高可用 进行一个或者多个备份    
hadoop 元数据的存储 内存:操作快 容易丢失 和硬盘:数据库 操作速度慢 采用磁盘阵列 保证数据的不会丢失
  元数据信息的磁盘保护  1 定期备份 2 磁盘阵列

mapReduce 的编程八部
map阶段:    
1 读取文件 解析成key value对 k1 v1
2 自定义的map类 接受读取的k1 v1对,通过自定义的逻辑进行转换 新的k2 v2 
shuffle:调优
3 分区
4 排序
5 规约
6 分组
reduce:
7 自定义reduce逻辑,接受k2 v2 (集合)定义的业务逻辑转换成k3 v3 主备输出
8 输出文件,将我们reduce处理完成之后的数据输出 
 matask 的机制: 溢写 经过三到六步写到缓冲区  即 :数组  三个指针组成  默认100M
                 阈值0.8  数据带到 硬盘
reduceTask 的机制:网络拷贝,将所有的lmapTask的数据拷到reduce 网络拷  带到内存

impala :号称大数据领域最快的sql工具)(短路读取) 是查询工具 基于内存 最少128G (不在硬盘读写)
        实时计算及批量计算   支持hive的语法 (大多数) 
        与hive是紧耦合 依赖hive的metastore(hive的数据库和表)服务向impala发送信息 共享
        两部分实现 :c++核心  java 底层 
impala核心的进程 impala-server:从节点执行所有的查询 建议于所有的datanode安装在一起(方便读取)
                 impala-state-store:负责存储
                 impala-catalog:主节点保存元数据信息        

hue:   大数据生态圈一个用户的接口框架,集成各式各样的框架 并且可以操作框架
        hue==hadoop  使用hadoop的webhdfs
ooize: 类似azkaban 功能更强大 azkaban、中一个串联的出错,剩下的不能运行。ooize可以继续执行
        所由的任务执行  都是通过 maptask来启动
        workflow: 工作流 里面分多个action(开发语言xml) 一个acttion是一个工作任务调度
        运行在tomcat里通过sqlDB 储存调度任务所有的任务调度 都是通过mapreduce执行
        Coordinator:协作器 即 定时器
        Bundle  多个Coorinators
kafka: 具有高的吞吐量,内部采用消息的批量处理,
        zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,
        具有O(1)的复杂度,消息处理的效率很高。
Hive中的 metastore 用来做什么的? 在impala中启动时执行
    答:metastore是一套映射工具,将sql语句转换成对应的job任务去进行执行。
HadoopHA 集群中各个服务的启动和关闭的顺序?
    答:zookerper , dfs , yarn , hbase .


推荐阅读
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • java类名的作用_java下Class.forName的作用是什么,为什么要使用它?
    湖上湖返回与带有给定字符串名的类或接口相关联的Class对象。调用此方法等效于:Class.forName(className,true,currentLoader) ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的Redo Log和Undo Log,探讨了它们的工作原理、存储方式及其在事务处理中的关键作用。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
author-avatar
tannn2502886701
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有