Hadoop
木良Duncan
这个作者很懒,什么都没留下…
展开
-
HBase和HDFS各自使用场景
5.业务场景简单,不需要关系数据库中很多特性(例如:交叉列、交叉表、事务、连接等)3.可以部署在许多廉价机器中,通过副本提高可靠性,提高容错和恢复机制。3.HBase不适用于与有join,多级索引,表关系复杂的数据模型。1.瞬间写入大量数据,数据库不好支撑或需要很高成本支撑的场景。2.数据需要长久保存,且量会持久增长到比较大的场景。4.大数据量且有快速随机访问需求。HBase是基于HDFS来存储。1.一次性写入,多次读取。原创 2023-03-28 08:30:58 · 107 阅读 · 0 评论 -
HBase和HDFS各自使用场景
5.业务场景简单,不需要关系数据库中很多特性(例如:交叉列、交叉表、事务、连接等)3.可以部署在许多廉价机器中,通过副本提高可靠性,提高容错和恢复机制。3.HBase不适用于与有join,多级索引,表关系复杂的数据模型。1.瞬间写入大量数据,数据库不好支撑或需要很高成本支撑的场景。2.数据需要长久保存,且量会持久增长到比较大的场景。4.大数据量且有快速随机访问需求。HBase是基于HDFS来存储。1.一次性写入,多次读取。原创 2023-03-28 08:28:11 · 155 阅读 · 0 评论 -
yarn的工作机制
YARN中的任务将其进度和状态(包括counter)返回给应用管理器, 客户端每秒(通过 mapreduce.client.progressmonitor.pollinterval设置)向应用管理器请求进度更新, 展示给用户。(12)MR 向两个接收到任务的 NodeManager 发送程序启动脚本,这两个 NodeManager 分别启动 MapTask,MapTask 对数据分区排序。(13)MrAppMaster 等待所有 MapTask 运行完毕后,向 RM 申请容器,运行 ReduceTask。原创 2023-03-24 10:43:21 · 47 阅读 · 0 评论 -
Yarn对组成结构
Yarn主要有ResourceManager、NodeManager、ApplicationMatster和Container等组件构成。ResourceManager负责整个系统的资源管理和分配,ApplicationMaster负责单个应用程序的的管理。原创 2023-03-24 10:43:52 · 263 阅读 · 0 评论 -
MapReduce程序运行流程
在MapReduce程序读取文件的输入目录上存放相应文件。客户端程序在submit()方法执行之前,获取待处理的数据信息,然后根据集群中参数的配置形成一个任务分配规划。客户端提交job.split、jar包、job.xml等文件给yarn,yarn中的resourcemanager启动MRAppMaster。MRAppMaster启动后根据本次job的描述信息,计算出需要的maptask实例数量,然后向集群申请机器启动相应数量的maptask进程。maptask利用客户指定的inputformat原创 2023-03-23 09:10:32 · 282 阅读 · 0 评论 -
MapReduce工作机制
为了将key相同的数据聚在一起,hadoop采用了基于排序的策略,由于各个MapTask已经实现对自己的处理结果进行了局部排序。因此,ReduceTask只需对所有数据进行一次归并排序即可。1)Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直接放入内存中。2)Merge阶段:在远程拷贝数据的同时,ReduceTask启动两个后台线程对内存和磁盘上的文件进行合并,以防止内存使用过多或磁盘上文件过多。原创 2023-03-23 09:08:52 · 179 阅读 · 0 评论 -
HDFS小文件过多危害与解决方法
Hadoop Archive或者HAR,是一个高效地将小文件放入HDFS块中的文档存储工具,它能够以将多个小文件打包成一个HAR文件,这样在减少namenode内存使用的同时,仍然对文件进行透明的访问。合并小文件,可以选择在客户端上传是执行一定的策略先合并,或者是使用hadoop的CombineFileInputFormat<K,V>实现小文件的合并。sequence file由一系列二进制key/value组成,如果key为小文件名,value为文件内容,则可以将大批小文件合并成一个大文件。原创 2023-03-23 08:55:23 · 1083 阅读 · 0 评论 -
DataNode工作机制
(1)一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据 本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。(2)DataNode 启动后向 NameNode 注册,通过后,周期性(6 小时)的向 NameNode 上 报所有的块信息。(3)心跳是每 3 秒一次,心跳返回结果带有 NameNode 给该 DataNode 的命令如复制块 数据到另一台机器,或删除某个数据块。如果超过 10 分钟没有收到某个 DataNode 的心跳, 则认为该节点不可用。原创 2023-03-23 08:46:34 · 47 阅读 · 0 评论 -
HDFS块大小设置
一、HDFS 块设置的比较小会增加寻址时间,并且每个块在namenode都会存储一份元数据,增加namenode开销。最佳传输损耗理论:在一次传输中,寻址时间占总传输时间的1%,本次传输的损耗最小,为最佳性价比传输。块在传输时,每64K还需要校验一次,因此块大小,必须为2的n次方,最接近100M的就是128M!如果公司使用的是固态硬盘,写的速度是300M/S,将块大小调整到 256M。如果公司使用的是固态硬盘,写的速度是500M/S,将块大小调整到 512M。原创 2023-03-23 08:39:32 · 428 阅读 · 0 评论 -
HDFS的副本机制
1.机架与数据节点2.副本放置策略数据块的第一个副本优先放在写入数据块的客户端所在的节点上,但是如果这个客户端上的数据节点空间不做或者当前负载过重,则应该从该数据节点所在的机架上选择一个合适的数据节点作为本地节点。如果客户端没有数据节点,则从整个集群中随机选择一个合适的数据节点作为此时这个数据块的本地节点。第二个副本放在另一个机架的随机节点第三个副本放在第二个副本所机架的随机节点上。原创 2023-03-23 08:33:59 · 863 阅读 · 0 评论 -
HDFS的存储机制
HDFS对文件分割后进行存放HDFS将要存储的大文件进行分割,分割后存储在既定的存储快中,并通过预先设定的优化处理,一个HDFS集群包括两大部分NameNode与DataNode(一个NameData与多个DataNode)。NameNode是集群的主服务器,主要用于对HDFS中所有文件及内容数据进行维护,并不断读取记录集群中DataNode主机情况与工作状态,并通过读取与写入镜像文件的方式进行存储。DataNode在HDFS集群中担任任务具体执行角色,是集群的工作节点。文件分成若干个大小相同的数原创 2023-03-23 08:25:25 · 489 阅读 · 0 评论 -
HDFS文件写入和读取流程
写入:写出:原创 2023-03-22 21:06:36 · 193 阅读 · 0 评论 -
Hadoop常见压缩算法
压缩格式算法文件扩展名切片说明DEFLATEDEFLATE.deflate否Hadoop自带。与文本处理一样,不需要修改GzipDEFLATE.gz否Hadoop自带。与文本处理一样,不需要修改bzip2bzip2.bz2是Hadoop自带。与文本处理一样,不需要修改LZOLZO.lzo是需要额外安装。建索引,指定输入格式SnappySnappy.snappy否hadoop自带,与文本处理一样,不需要修改原创 2023-03-16 10:29:36 · 113 阅读 · 0 评论 -
Hadoop压缩方式
gzip:应用场景:当每个文件压缩之后在130M以内的(一个块大小内),都可以考虑用gzip压缩格式。优点:压缩效率高,压缩/解压速度快;hadoop支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统自带gzip命令,使用方便。缺点:不支持splitsnappy:应用场景:当mapredcue作业的map输出的数据比较大的时候,作为map到reduce的中间数据的压缩格式;或者作为一个maoreduce作业的输出和另一个mapreduce作原创 2022-06-02 21:14:11 · 392 阅读 · 0 评论 -
Hadoop集群工作时启动那些进程
1.NameNode它时Hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存由metadata.2.SecondaryNameNode它不是NameNode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并EditsLog,减少NN启动时间。3.DataNode负责管理连接到节点的存储(一个集群可以有多个节点),每个存储数据的节点运行一个DataNode守护线程。4.ResourcreManager(Job Tracker),负责调度DataNode上的工作,每个Da原创 2022-05-30 22:01:11 · 2895 阅读 · 0 评论 -
Hadoop特点
Hadoop介绍Hadoop是由Apache基金会开发的分布式系统基础架构主要用于海量数据的存储和海量数据的分析计算广义上来说,Hadoop通常是指一个更广泛的概念—Hadoop生态圈Hadoop特点1.高可靠性:Hadoop底层维持多个副本,即使Hadoop某个计算元素或存储出现故障,也不会导致数据丢失。2.高拓展性:在集群间分配任务数据,可方便的拓展数以千计的节点。3.高效性:在MapReduce的思想下,Hadoop可以并行工作,以加快任务处理速度。4.高容错性:能够自动将失败的任原创 2022-05-30 21:55:58 · 8501 阅读 · 0 评论