当前位置: 首页 > news >正文

网站的百度地图怎么做的做网销做什么网站

网站的百度地图怎么做的,做网销做什么网站,哪有专业做网站,wordpress网站防采集实训笔记7.26 7.26笔记一、Hadoop大数据开发技术1.1 Hadoop的安装部署1.2 Hadoop的分布式文件存储系统HDFS1.2.1 HDFS的组成1.2.2 HDFS的操作方式1.2.3 HDFS的流程原理1.2.4 HDFS核心概念 1.3 Hadoop的分布式资源调度系统YARN1.3.1 YARN的组成1.3.2 YARN的工作流程1.3.3 YARN的… 实训笔记7.26 7.26笔记一、Hadoop大数据开发技术1.1 Hadoop的安装部署1.2 Hadoop的分布式文件存储系统HDFS1.2.1 HDFS的组成1.2.2 HDFS的操作方式1.2.3 HDFS的流程原理1.2.4 HDFS核心概念 1.3 Hadoop的分布式资源调度系统YARN1.3.1 YARN的组成1.3.2 YARN的工作流程1.3.3 YARN的任务调度器 1.4 Hadoop的分布式计算框架MapReduce1.4.1 MapReduce的应用场景1.4.2 MapReduce的运行中核心组件1.4.3 MapReduce的详细工作流程1.4.4 MapReduce中压缩机制问题1.4.5 MapReduce的特殊应用1.4.6 MapReduce中的优化问题 二、Hadoop的生态圈技术三、Hadoop生态圈中的Hive数据仓库技术3.1 Hive数据仓库的基本概念3.1.1 Hive结构3.1.2 Hive是基于Hadoop的因此hive对hadoop的版本是有要求的 3.2 Hive的架构组成3.2.1 Hive整体主要由以下几部分组成 3.3 Hive和数据库的区别3.4 Hive的安装部署3.4.1 Hive的安装分为如下几步3.4.2 【注意事项】 3.5 Hive的基本使用3.5.1 Hive的命令行操作方式 3.6 Hive的元数据库的配置问题3.6.1 Hive实现初始化元数据库到MySQL 7.26笔记 一、Hadoop大数据开发技术 Hadoop是大数据中一个技术框架内置了很多组件解决了很多大数据业务下的数据处理和数据存储的场景。 Hadoop整体四部分组成的HDFS、MapReduce、YARN、Hadoop Common 1.1 Hadoop的安装部署 本地安装模式伪分布安装模式完全分布安装模式HA高可用安装模式借助Zookeeper软件才能实现 修改配置文件: hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-env.sh、mapred-site.xml、yarn-site.xml、yarn-env.sh、workers、log4j.properties、capacity-scheduler.xml、dfs.hosts、dfs.hosts.exclude 1.2 Hadoop的分布式文件存储系统HDFS 1.2.1 HDFS的组成 NameNodeDataNode block块block块的副本数 SecondaryNameNode 1.2.2 HDFS的操作方式 HDFS的命令行操作 HDFS的Java API操作 1.2.3 HDFS的流程原理 HDFS的上传/下载数据的流程和原理HDFS的NameNode和SecondaryNameNode的原理 SNN检查点机制问题两个触发条件edits文件、fsimage文件HDFS的NN节点的数据恢复 HDFS的NameNode和DataNode的工作原理 心跳机制问题默认时间 3sNN认为DN断线的机制掉线超时时长 2心跳的检测时间5分钟10心跳时间 1.2.4 HDFS核心概念 HDFS的安全模式safemode开启的时机、关闭的时机 Hadoop集群的新节点的服役和旧节点的退役HDFS、YARN 1.3 Hadoop的分布式资源调度系统YARN 1.3.1 YARN的组成 ResourceManagerNodeManagerContainerApplicationMasterTask申请资源的操作RM封装为Task 1.3.2 YARN的工作流程 1.3.3 YARN的任务调度器 FIFO调度器容量调度器公平调度器 YARN只负责分配资源不清楚计算程序的运行逻辑程序运算逻辑YARN要求分布式程序必须启动一个AM来具体负责YARN不负责因此只要一个分布式计算程序满足YARN的运行规则都可以在YARN上进行运行。 1.4 Hadoop的分布式计算框架MapReduce 1.4.1 MapReduce的应用场景 离线数据处理的场景下数据对实时性要求不高MR程序运行中涉及到大量的磁盘IO和网络传输因此会导致MR程序计算效率“不是很高”适用于数据量比较庞大的文件小文件操作不占优势处理TB/PB级别规模的数据 1.4.2 MapReduce的运行中核心组件 InputFormat 切片、kv读取常用实现类的切片和KV读取规则如何自定义InputFormat Mapper map方法的执行方式一组kv执行一次一组kv在常用实现类当中都是一行数据为一组kv环形缓冲区的问题maptask的数量和切片的关系 Partitioner组件 负责进行map输出数据的分区 默认分区机制 reduceTask1 reduceTask1 自定义分区机制 WritableComparable 负责对map输出的kv数据进行排序的 mr阶段发生几次排序每次排序的执行时机以及排序使用的算法 Combiner组件 对map阶段输出的数据进行局部汇总Combiner不是所有的MR程序都能添加Combiner的添加不能影响原先MR程序的执行逻辑 WritableComparator组件可选 负责分组排序的reduce在把数据拉取回来以后需要根据key值来进行分组哪些key我们认为是一组相同的key可以通过辅助排序分组排序来决定 Reduce组件 reduce主要对map输出的数据进行全局汇总汇总把相同的key值的value数据聚合起来然后一组相同的key值调用一次reduce方法 reduceTask的数量我们可以手动设置的设置的时候主要和分区的关系 OutputFormat组件 指定了MR程序输出数据时的输出规则 OutputFormat常用实现类 SequenceFile文件的相关概念 自定义OutpoutFormat 1.4.3 MapReduce的详细工作流程 Job提交资源的流程源码 资源提交成功以后剩余的流程按照组件的顺序依次执行 1.4.4 MapReduce中压缩机制问题 MapReduce运行过程中可以在三个位置对数据进行压缩Mapper输入阶段Mapper的输出阶段、Reducer的输出阶段 MR程序中提供的压缩机制有哪些压缩算法 default gzip bzip2 LZ4 Snappy 1~5Hadoop的Linux环境都给提供了 LZO 没有给提供 MR程序中如何对三个位置开启压缩机制 Map的输入 io.compression.codecs map的输出 mapreduce.map.output.compress mapreduce.map.output.compress.codec reduce的输出 FileOutputFormat.xxxxxx 1.4.5 MapReduce的特殊应用 MapReduce中join操作 mapjoinreducejoin MapReduce中计数器的应用MapReduce实现数据清洗特殊应用 1.4.6 MapReduce中的优化问题 MapReduce虽然是大数据中一个分布式计算框架确实可以计算海量的数据但是MR程序在运算过程中涉及到大量的磁盘IO和网络传输所以导致MR程序的运行效率相比于其他大数据计算框架效率不是很高。 因此开发MapReduce程序的时候为了让MR效率提高一点可以对MR程序运行过程中的一些问题进行优化尽可能的提升MR的计算效率。 MpReduce导致计算运行缓慢的原因 硬件受限制 内存、CPU、硬盘的IO读写速度掏钱解决 MR运行机制限制 数据倾斜问题MapTask、ReduceTask的任务数量设置MR运行过程中小文件过多MR运行过程中磁盘溢写磁盘IO次数过多 MapReduce的运行优化解决问题 Mapper输入阶段优化的措施 可能产生的问题小文件过多、数据倾斜、某些大文件不可被切割 小文件过多的问题CombinerTextInputFormat实现小文件的合并减少小切片出现文件不可被切割可以在MR程序处理之前对文件数据重新进行压缩压缩的时候选择可以被切片的压缩机制进行压缩map阶段的数据倾斜问题合理的使用切片机制对输入的数据进行切片合理的使用压缩机制 Mapper阶段优化的措施 可能产生的问题环形缓冲区溢写的次数过多溢写文件的合并次数过多溢写和合并都涉及到磁盘IO 溢写次数过多那么加大环形缓冲区的容量以及溢写的阈值。 //环形缓冲区的容量 mapred-site.xml/Configuration mapreduce.task.io.sort.mb //溢写的比例 小数 mapreduce.map.sort.spill.percent 溢写的小文件并不是只合并一次如果溢写的小文件超过设置的指定数量先进行一次合并 mapreduce.task.io.sort.factor 默认值10 可以合理的利用的Mapper输出压缩减少mapper输出的数据量 在不干扰MR逻辑运行的前提下合理的利用的Combiner组件对Map端的数据进行局部汇总可以减少Mapper输出的数据量 Reduce阶段的优化措施 产生的问题reduce的任务数设置不合理Reduce端的数据倾斜问题、Reduce阶段拉取数据回来之后先写到内存中内存放不下溢写磁盘磁盘IO。 任务书设置和数据倾斜问题可以通过查看MR程序运行的计数器自定义分区机制重新指定分区规则尽量不使用Reduce阶段MR程序中默认如果Map任务运行没有结束那么Reduce任务就无法运行。可以设置map任务和reduce任务共存map任务没有全部运行结束reduce也可以开始运行 mapreduce.job.reduce.slowstart.completedmaps 0.05合理的利用的Reduce端的输出压缩、也可以使用SequenceFile文件格式进行数据输出 MapReduce的重试问题的优化 MapReduce运行过程中如果某一个Map任务或者reduce任务运行失败MR并不会直接终止程序的运行而是会对失败的map任务和reduce任务进行特定次数的重试如果特定次数的重试之后Map和reduce都没有运行成功MR才会认为运行失败。 mapreduce.map.maxattempts 4 mapreduce.reduce.maxattempts 4 mapreduce.task.timeout 600000 Hadoop中历史日志服务器和YARN的日志聚合的配置和使用 二、Hadoop的生态圈技术 Flume、Sqoop、Hive结构化数据的、HBase非结构化数据的等等技术都是基于技术底层都是Hadoop的实现Hadoop技术体系诞生的一系列技术体系。 三、Hadoop生态圈中的Hive数据仓库技术 3.1 Hive数据仓库的基本概念 Hive也是Apache网站开源的一个顶尖项目官网网址hive.apache.org Hive技术通过类SQL语言HiveQL–HQL分布式数据的管理、计算、存储的操作。 3.1.1 Hive结构 Hive是基于Hadoop的数据仓库软件采用了类似于MySQL中数据表的形式进行海量数据的管理和计算。 Hive存储的数据是类似于数据表Table的形式但是Hive本身不存储任何数据只是存储了表格的形式数据表格的数据最终还是在HDFS上进行存放只不过Hive通过一种叫做元数据库的操作手段可以实现将HDFS存储的结构化文件转换成为表格形式进行展示。Hive的表格中数据可以通过类SQL语句DQL语言、DDL语言对数据进行计算只不过Hive表面上使用的是SQL语言进行计算但是底层会把SQL语言转换成为MapReduce程序在YARN上运行。目前Hive1.x版本以后Hive也支持了可以将类SQL语言转换成为Spark、Tez分布式计算程序运行 3.1.2 Hive是基于Hadoop的因此hive对hadoop的版本是有要求的 hive.2.x.x----hadoop2.x.x hive3.x.x----hadoop3.x.x Hive本质上就相当于是Hadoop的一个客户端而且是一种类似于可以通过SQL操作Hadoop的客户端 3.2 Hive的架构组成 Hive相当于Hadoop的一个客户端可以实现将存储到HDFS上的数据转换成为数据表的形式同时还可以借助类SQL语言对Hive数据表的数据进行计算而计算使用的类SQL语句底层又会转换成为MapReduce程序在YARN上运行。 3.2.1 Hive整体主要由以下几部分组成 Hive的只所以可以实现以上功能主要是因为Hive的设计架构Hive整体主要由以下几部分组成 Hive的Clienthive的客户端就是编写类SQL语言进行数据库、数据表创建、查询语句的编写的客户端Hive的客户端有很多种hive的命令行客户端、hive的Java API的客户端等等。 Hive的Driver驱动程序hive的核心hive之所以可以实现将类SQL语句转换成为MR程序主要就是由Driver来负责进行转换的其中hive的Driver又由以下几部分组成 解析器将编写的类SQL语言抽象成为一个语法树检查语法有没有问题编译器将抽象成为的语法树生成逻辑执行计划优化器对执行计划进行优化执行器将优化之后的执行计划转换成为真正的物理执行代码比如Hive支持的计算程序MR、TEZ、Spark程序 Hive的元数据metaStoreHive不负责存储任何的数据包括hive创建的数据库、数据表、表结构等等内存都不是在hive中的存放的还有表数据HDFS上这些信息我们都是在Hive的元数据中进行存放元数据存放到一个关系型数据库中比如MySQL、oracle、SQL Server 、Derby数据库 3.3 Hive和数据库的区别 Hive采用了类SQL语言进行海量数据的计算看上去操作和数据库还挺像的。但是一定要知道Hive和数据库完全不是一回事只不过就是Hive借助数据库中的数据表和SQL的思想简化了处理海量数据的操作除此以外hive的存储机制、执行机制、执行延迟、存储数据量等等和数据库有本质性的区别 3.4 Hive的安装部署 Hive相当于是Hadoop的一个类SQL的客户端底层的存储和计算都是基于Hadoop运行的因此Hive安装之前必须先部署安装Hadoop软件伪分布式、完全分布式、HA高可用 Hive本身不是一个分布式软件依赖于Hadoop的分布式存储和分布式计算Hive就相当于是一个客户端软件因此不管Hadoop软件安装的是哪种模式Hive只需要安装到Hadoop集群的任意的一台节点上即可。 3.4.1 Hive的安装分为如下几步 安装hive之前必须先把JDK、Hadoop安装配置成功 上传、解压、配置环境变量——————安装的大数据软件目录目录名最好只包含软件名版本号即可 修改hive的配置文件 修改hive和hive配置文件的关联 修改hive和Hadoop的关联 hive-env.sh 配置hive的日志输出文件hive-log4j2.properties 初始化hive的元数据库metastore:默认情况下使用derby数据库hive自带的: schematool -dbType derby -initSchema 初始化会报错一个NoSuchMethod异常hive的guava的依赖jar包和hadoop的guava的依赖jar包的版本冲突了 解决方案hive的lib目录把guava,jar包删除了或者重命名了然后把这个${HADOOP_HOME}/share/hadoop/common/lib/guava.xxx.jar 给hive的lib目录复制一份 hive和hadoop还有一个依赖是冲突的但是这个冲突不解决不会影响hive的正常使用给我们报警告hive和Hadoop的日志输出的依赖 hive中的日志依赖版本低于Hadoop的日志依赖 把hive的日志依赖重命名或者删除了 3.4.2 【注意事项】 一定要注意第一次安装hive一定要初始化hive的元数据库以后再启动hive的命令行客户端 初始化元数据库之后再初始化命令执行的工作目录下创建一个metastore_db文件夹文件夹就是derby记录的元数据库的文件位置。 如果初始化失败了一定一定要先把这个创建的目录给删除了再重新初始化。在env.sh文件配置关联路径时路径和之间不要加空格hive和Hadoop有两个依赖包的冲突分别是guava、log4j的guava的依赖需要把hive的删除然后把Hadoop的复制一份给hivelog4j的需要把hive的删除了就行了 3.5 Hive的基本使用 Hive其实就是一个Hadoop的类SQL客户端Hive提供了多种方式可以进行类SQL编程Hive的命令行方式Java的JDBC操作方式等等 如果我们要使用hive的命令行方式操作hive那么我们不需要启动任何的hive相关服务只需要把HDFS和YARN启动即可。 如果我们要使用Java的JDBC方式操作hive,那么必须配置Hive的远程连接服务并且启动hive的远程连接服务同时还得需要启动HDFS和YARN才能进行操作。 3.5.1 Hive的命令行操作方式 启动hive的命令行必须在hive的安装节点上使用 hivehive的HQL查询表数据时设计到聚合函数或者筛选等等操作才会转换成为MR程序运行支持增加和删除表中的所有数据不支持修改或者删除表中的部分数据 3.6 Hive的元数据库的配置问题 hive中有一个很重要的概念就是元数据metastore,元数据中记录了hive中创建了哪些数据库和数据表以及数据表的字段和字段类型、数据表的数据在HDFS上的存储目录等等信息。 而且hive要求元数据hive本身不负责存储它要求必须使用一个关系型数据库进行hive元数据的存储因为hive的元数据其实也是一堆表。hive默认使用的derby数据库进行元数据的存储但是derby存储元数据有一个非常严重的问题无法多客户端使用hive命令行 derby数据库同一时刻只允许有一个客户端连接访问元数据库因此如果hive的元数据初始化到了derby数据库无法实现多客户端操作hive数据仓库 因此我们建议大家包括hive官方也建议大家把hive的元数据库初始化到MySQL或者oracle或者SQL Server等关系型数据库当中。 Hive实现初始化元数据库到MySQL等关系型数据库底层借助了Java的JDBC操作实现如果想要实现把元数据库在MySQL中初始化必须先做三件事情 3.6.1 Hive实现初始化元数据库到MySQL 把以前在derby元数据库上创建、添加的表文件在HDFS上先删除了同时把以前derby的元数据库在Linux的目录移除了。在Linux安装MySQL——————linux安装MySQL需要借助yum仓库进行yum仓库必须先配置阿里云的yum源因为hive初始化元数据到MySQL,使用的是Java的JDBC技术但是hive中并没有MySQL的JDBC驱动因此我们需要把MySQL的jdbc驱动给hive的lib目录下上传一份 Hive连接MySQL的时候还有一个问题MySQL连接需要用户名和密码但是hive默认情况下不知道需要修改hive的一个配置文件指定连接的MySQL的用户名和密码、驱动程序等等 需要在hive的安装目录的conf路径创建一个文件hive-site.xml文件 初始化hive的元数据到MySQL中schematool -initSchema -dbType mysql -verbose
http://www.pierceye.com/news/555202/

相关文章:

  • 舟山市建设信息港网站打不开如何建设一个收费的影视图文网站
  • 内蒙建设信息网站网页制作作品阐述
  • 天津网站seo策划服装定制项目计划书
  • 常州网站建设大全买奢侈品代工厂做的产品的网站名
  • 建设网站如入什么费网站建设体会doc
  • 不备案怎么做淘宝客网站吗深圳华强北新闻最新消息今天
  • 梅兰商贸网站开发设计外国网站在中国做推广
  • 有无专门做网站会员人数迅速增加的方法北京单页营销型网站
  • 岳阳网站开发网站运营怎么做建设网站设计
  • 能打开各种网站的浏览器下载合集建设农产品网络营销网站
  • 陕西网站建设方案优化如何做网站挂qq
  • 无锡市网站WordPress分类id在哪
  • 网站建设金网站建设 需求模板
  • 提高网站转化率营销网站制作都选ls15227
  • 一级页面的网站怎么做爱疯卷网站怎么做
  • 网站企业快速备案大气的企业网站
  • 一个好的网站建设微网站手机制作
  • 广州市做民宿什么网站比较好图盛网站建设
  • 深圳做网站佰达科技二十七易语言做网站源码
  • 水禾田网站建设公司南沙区做网站
  • 江西赣州网站上海企业服务云电话
  • 洱源网站建设品牌名字大全
  • 网站建设阶段要做什么帝国cms对比WordPress
  • 盐城做企业网站多少钱网页设计个人总结800
  • 北京做兼职网站温州网站建设模板下载免费
  • 推进门户网站建设方案wordpress插件自动更新
  • 学院网站建设成效做网站需要什么功能
  • o2o手机网站建设技术网站设计师专业
  • 传媒网站建设方案wordpress开源博客系统最新版
  • 三合一网站一般多少钱浙江省和住房建设厅网站