HDFS

HDFS 归档存储编程指南

痞子三分冷 提交于 2020-04-16 08:59:24
【推荐阅读】微服务还能火多久?>>> 阿里云智能数据库事业部 OLAP 平台团队现向 2021 届海内外院校应届毕业生(毕业时间在2020年11月-2021年10月之间)招聘大数据系统工程师,有机会转正,有意请加 iteblog 微信内推。 文章目录 1 介绍 2 存储类型和存储策略 2.1 存储类型 2.2 存储策略 2.3 存储策略解析 2.4 配置 3 存储策略命令 3.1 展示存储策略 3.2 设置存储策略 3.3 删除存储策略 3.4 获取存储策略 3.5 应用存储策略 介绍 HDFS 归档存储(Archival Storage)是从 Hadoop 2.6.0 开始引入的(参见 HDFS-6584 )。归档存储是一种将增长的存储容量与计算容量解耦的解决方案。我们可以在集群中部署一些具有更高密度、更便宜的存储且提供更低计算能力的节点,并且可以用作集群中的冷数据存储器。根据我们的设置,可以将热数据移到冷存储介质中。通过添加更多的冷存储节点,可以为集群增加存储能力。 异构存储(Heterogeneous Storage)和归档存储(Archival Storage)提供的框架使得 HDFS 体系结构变得更加通用,使得 Hadoop 集群支持包括 SSD 和内存等存储介质。为了获得更好的性能,用户可以选择将数据存储在 SSD 或内存中。 如果想及时了解Spark、 Hadoop

[转帖]基于kubernetes的Docker Registry的高可用部署

五迷三道 提交于 2020-04-16 07:41:06
【推荐阅读】微服务还能火多久?>>> 基于kubernetes的Docker Registry的高可用部署 https: // blog.lecury.cn/2017/04/14/基于kubernetes的Docker-Registry的高可用部署/ 写在前面 在kubernetes集群中运维生成环境的服务已经长达半年多时间,我们遇到了很多问题,也踩到了很多坑,其中因为 Docker Registry 的故障而导致的不可用事件还是挺多的,这些问题常常被用户埋怨。 Docker Registry 作为镜像仓库、数据中心,在整个服务发布流程中是异常关键的一环。由于之前初期我们搭建的 Docker Registry 是通过 docker run 跑在单机的方式,这种情况下不仅有单点问题,还面临着磁盘损坏和镜像丢失的危险性。 后来为了提高平台的稳定性和可靠性,也为了我的毕业论文,特地的花时间来调研 Docker Registry 的部署和设计方案,这个方案不仅采纳了开源社区和其他公司的部署策略,同时也结合了本公司内部的基础上而设计的一套高可用的 Docker Registry 方案。 调研初期 在2017年3月份时候有幸参加了 ebay 公司举办了 亿贝TechDay 活动,在这次公开技术分享中,我不仅见识了由DaoCloud技术合伙人孙宏亮大神所分享的Docker安全思考

解读Secondary NameNode的功能

北城余情 提交于 2020-04-14 18:52:26
【推荐阅读】微服务还能火多久?>>> 1.概述   最近有朋友问我Secondary NameNode的作用,是不是NameNode的备份?是不是为了防止NameNode的单点问题?确实,刚接触Hadoop,从字面上看,很容易会把Secondary NameNode当作备份节点;其实,这是一个误区,我们不能从字面来理解,阅读官方文档,我们可以知道,其实并不是这么回事,下面就来赘述下Secondary NameNode的作用。 2.Secondary NameNode?   在Hadoop中,有一些命名模块不那么尽人意,Secondary NameNode就是一个典型的例子之一。从它的名字上看,它给人的感觉就像是NameNode的备份节点,但实际上却不是。很多Hadoop的入门者都很疑惑,Secondary NameNode究竟在其中起什么作用,它在HDFS中所扮演的角色是什么。下面,我就来解释下:   从名字来看,它确实与NameNode有点关系;因此,在深入了解Secondary NameNode之前,我们先来看看NameNode是做什么的。 2.1NameNode   NameNode主要是用来保存HDFS的元数据信息,比如命名空间信息,块信息等等。当它运行的时候,这些信息是存在内存中的。但是这些信息也可以持久化到磁盘上。如下图所示:  

大数据篇:Hbase

社会主义新天地 提交于 2020-04-13 19:42:14
【今日推荐】:为什么一到面试就懵逼!>>> 大数据篇:Hbase Hbase是什么 Hbase是一个分布式、可扩展、支持海量数据存储的NoSQL数据库,物理结构存储结构(K-V)。 如果没有Hbase 如何在大数据场景中,做到上亿数据秒级返回。(有条件:单条数据,范围数据) hbase.apache.org 1 Hbase结构及数据类型 逻辑结构 物理结构 整张表会按照水平方向按照Row Key切割(Region)。再按垂直方向按ColumnFamily切割(Store), Name Space:命名空间 类似于关系型数据库中的database概念,每个命名空间下可以放多个表,默认存在2个命名空间:hbase和default,hbase存放Hbase内置的表,default表是用户默认使用的命名空间。(例如给order表赋予命名空间test,可以写为test:order) Row:行 Hbase中每行数据都由一个RowKey和多个列组成。 Column:列 Hbase中的每个列都由ColumnFamily(列族)和ColumnQualifier(列限定符)进行限定,(例如:personal_info:name,personal_info:city) Cell:单元 由{RowKey,ColumnFamily,ColumnQualifier,TimeStamp}唯一确定的单元

文件系统大目录下的操作性能效率提升

不羁岁月 提交于 2020-04-12 15:08:50
文章目录 前言 现有HDFS大目录文件操作效率 基于哈希分区的多List目录存储结构 HashedArrayList的element的索引查找 HashedArrayList的代码实现 HashedArrayList性能测试 引用 前言 在文件系统的存储中,我们一般不建议是一个目录下存放过多的文件或子目录。因为这会造成后续在此目录下文件或子目录的操作效率。我们宁愿用分散存储的方式,也比用集中在一个目录下的方式要来得效率高。这个大目录下查询文件效率低的现象在其它分布式文件系统中其实也存在,比如HDFS的大目录操作。假设我们HDFS目录下有个超大目录,其下子文件数量达到数十万级别,那么后续在这个文件下进行添加,或删除操作将会变得异常的缓慢。典型的例子比如HDFS删除大目录操作,导致NameNode hung住甚至可能crash的情况。笔者今天来聊聊此类分布式存储系统的大目录下文件操作性能的提升。 现有HDFS大目录文件操作效率 大家如果对HDFS没有很强的背景知识,这里笔者做个简单的介绍。在HDFS中,对于目录来说,它使用的类叫做INodeDirectory。在这个类中,它所有的子文件或子目录都用一个List结构的child列表保存,如下所示: // 这里存储的INode可以是子文件INodeFile或者子目录INodeDirectory private List < INode >

大数据 面试题 知识点

故事扮演 提交于 2020-04-11 19:44:04
目录 一.Hadoop 1.hdfs写流程 2.hdfs读流程 3.hdfs的体系结构 4.一个datanode 宕机,怎么一个流程恢复 5.hadoop 的 namenode 宕机,怎么解决 6.namenode对元数据的管理 7.元数据的checkpoint 8.yarn资源调度流程 9.hadoop中combiner和partition的作用 10.用mapreduce怎么处理数据倾斜问题? 11.shuffle 阶段,你怎么理解的 12.Mapreduce 的 map 数量 和 reduce 数量 怎么确定 ,怎么配置 13.MapReduce优化经验 14.分别举例什么情况要使用 combiner,什么情况不使用? 15.MR运行流程解析 16.简单描述一下HDFS的系统架构,怎么保证数据安全? 17.在通过客户端向hdfs中写数据的时候,如果某一台机器宕机了,会怎么处理 18.Hadoop优化有哪些方面 19.大量数据求topN(写出mapreduce的实现思路) 20.列出正常工作的hadoop集群中hadoop都分别启动哪些进程以及他们的作用 21.Hadoop总job和Tasks之间的区别是什么? 22.Hadoop高可用 23.简要描述安装配置一个hadoop集群的步骤 24.fsimage和edit的区别 二.Hive 1.hive优化 2.Udf udaf

How to process new files in HDFS directory once their writing has eventually finished?

丶灬走出姿态 提交于 2020-04-11 11:41:48
问题 In my scenario I have CSV files continuously uploaded to HDFS. As soon as a new file gets uploaded I'd like to process the new file with Spark SQL (e.g., compute the maximum of a field in the file, transform the file into parquet ). i.e. I have a one-to-one mapping between each input file and a transformed/processed output file. I was evaluating Spark Streaming to listen to the HDFS directory, then to process the "streamed file" with Spark. However, in order to process the whole file I would

How to process new files in HDFS directory once their writing has eventually finished?

半世苍凉 提交于 2020-04-11 11:41:09
问题 In my scenario I have CSV files continuously uploaded to HDFS. As soon as a new file gets uploaded I'd like to process the new file with Spark SQL (e.g., compute the maximum of a field in the file, transform the file into parquet ). i.e. I have a one-to-one mapping between each input file and a transformed/processed output file. I was evaluating Spark Streaming to listen to the HDFS directory, then to process the "streamed file" with Spark. However, in order to process the whole file I would

大数据入门之hadoop相关概念知识点整理

青春壹個敷衍的年華 提交于 2020-04-10 09:39:26
Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它的设计是从单个服务器扩展到数千个机器,每个都提供本地计算和存储。今天整理了一些关于hadoop相关概念的知识点,觉得文章有用的小伙伴可以直接收藏~ Hadoop介绍: Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。 HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 1)HDFS HDFS自动保存多个副本,移动计算。缺点是小文件存取占用namenode内存,写入只支持追加,不能随机修改。它存储的逻辑空间称为block,文件的权限类似linux。整体架构分三种节点,NN,SNN,DN NN 负责读写操作保存metadata(Ownership Permission blockinfo) SNN 负责辅助NN合并fsimage和edits,减少nn启动时间 DN 负责存数据,每个数据(文件)分割成若干block,每个block默认3个副本。启动后像NN发送心跳保持联系

大型分布式文件系统HDFS的整体架构

北城以北 提交于 2020-04-10 09:12:42
1 概述 HDFS是分布式文件系统,具有高度容错能力,运行在廉价的机器上。HDFS提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。 2 HDFS特性 (1)可用于存储超大文件,如(GB,TB,PB)级别的文件。 (2)可运行在廉价的硬件之上,HDFS通过自身的容错机制来保证数据的安全性 (3)流式数据访问,支持一次写入、多次读取的高效访问模式。 (4)适合数据访问高吞吐量的应用场景,不适合要求低延时数据访问的应用场景。 (5)为了保证数据访问的高效性,HDFS不支持多个写入操作,也不支持在文件的任意位置进行修改,但不排除后续会支持这些操作。 本文讲解的是Hadoop2.x发行版 3 HDFS数据块 HDFS的数据块默认大小为128MB,之所以设置这么大的块占用空间,主要是为了减少磁盘的最小化寻址开销,HDFS上的文件会被切割为以块大小为单位的多个分块,为了保证数据的安全性,每个数据块都会被复制到多个服务节点中进行备份(默认为3个),通过应用程序也可以指定每个文件的副本数。如果发现一个块不可用,系统会从其他地方读取另一个副本块。 4 NameNode 和 DataNodes HDFS属于master/slave架构,由一个名称节点(NameNode)与多个数据节点(DataNodes)构成。 (1)NameNode:存放元数据(名称,副本数、权限、块列表......