元数据

Hadoop学习笔记和总结(七)

走远了吗. 提交于 2020-01-25 09:41:11
目录 第七章 HDFS的四个机制与两个核心功能 7.1 HDFS 机制 7.1.1 心跳机制 7.1.2 安全模式 7.1.3 机架策略 7.1.4 负载均衡 7.2 HDFS文件上传流程 7.3 HDFS文件下载流程 第七章 HDFS的四个机制与两个核心功能 HDFS提供的是高容错性的分布式数据存储方案,其包括 四个主要的机制 :(1) 心跳机制 (2) 安全模式 (3) 机架策略 (4) 负载均衡 ;并作为一个文件系统 两大核心功能 包括:(1) 文件上传 (2) 文件下载 (3) 元数据的管理 当Hadoop集群启动时,各个进程启动的顺序如下: NameNode --> DataNode --> SecondaryNameNode 7.1 HDFS 机制 HDFS机制中需要重点掌握心跳机制、安全模式和机架策略并理解负载均衡。 7.1.1 心跳机制 集群节点必须做时间同步。 NameNode是集群的Boss,负责集群中任务的分工。如果要进行分工,则必须知道各个DataNode的存活状况。NameNode是如何知道各DataNode的存活状态的呢? 利用心跳机制,即:DataNode定期向NameNode发送心跳报告所确定的。 具体实现: DataNode会每隔3秒(默认)向NameNode发送一次心跳报告,目的是告诉NameNode自己的存活状况。 可以通过修改 hdfs

大数据hive,storm小知识(干货)

你离开我真会死。 提交于 2020-01-25 08:36:58
Hive简介 定义 Facebook为了解决海量日志数据的分析而开发了hive,后来开源给了Apache基金会组织。 hive是一种用SQL语句来协助读写、管理存储在HDFS上的大数据集的数据仓库软件。 为什么要使用Hive? 1) 从SQL角度,简单、容易上手、使用方便。 2) 从Hadoop角度,可以操作大规模的数据集,可以作为大数据的引擎。 3) 从MetaStore角度:有了这个之后,这些框架Pig/Impala/Presto/SparkSQL跟Hive可以共享元数据信息, 共享元数据即他们之间的元数据可以互通访问的,比如在Hive创建一张表,可以在SparkSQL能用,也可以在 Presto,Impala,Pig用。相反,在SparkSQL创建的表,在HIVE,Pig,Impala,Presto也能用。因为他们底层都是共享MetaStore。 Hive原理: hive内核: hive 的内核是驱动引擎,驱动引擎由四部分组成,这四部分分别是: ▪解释器:解释器的作用是将hiveSQL语句转换为语法树(AST)。 ▪编译器:编译器是将语法树编译为逻辑执行计划。 ▪优化器:优化器是对逻辑执行计划进行优化。 ▪执行器:执行器是调用底层的运行框架执行逻辑执行计划。 hive底层存储: hive的数据是存储在HDFS上,hive中的库和表可以看做是对HDFS上数据做的一个映射

nacos原理

南楼画角 提交于 2020-01-24 12:47:39
1.什么是Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 是Spring Cloud A 中的服务注册发现组件,类似于Consul、Eureka,同时它又提供了分布式配置中心的功能,这点和Consul的config类似,支持热加载。 2.Nacos原理 Nacos注册中心分为server与client,server采用Java编写,为client提供注册发现服务与配置服务。而client可以用多语言实现,client与微服务嵌套在一起,nacos提供sdk和openApi,如果没有sdk也可以根据openApi手动写服务注册与发现和配置拉取的逻辑 服务领域模型 Nacos服务领域模型主要分为命名空间、集群、服务。在下图的分级存储模型可以看到,在服务级别,保存了健康检查开关、元数据、路由机制、保护阈值等设置,而集群保存了健康检查模式、元数据、同步机制等数据,实例保存了该实例的ip、端口、权重、健康检查状态、下线状态、元数据、响应时间。 3.注册中心原理 服务注册方法:以Java nacos client v1.0.1 为例子,服务注册的策略的是每5秒向nacos server发送一次心跳,心跳带上了服务名,服务ip,服务端口等信息。同时 nacos

医学图像了解

孤街浪徒 提交于 2020-01-24 07:48:02
医学图像 医学图像是反映解剖区域内部结构或内部功能的图像,它是由一组图像元素——像素(2D)或立体像素(3D)组成的。医学图像是由采样或重建产生的离散性图像表征,它能将数值映射到不同的空间位置上。像素的数量是用来描述某一成像设备下的医学成像的,同时也是描述解剖及其功能细节的一种表达方式。像素所表达的具体数值是由成像设备、成像协议、影像重建以及后期加工所决定的 医学图像有四个关键成分——像素深度、光度表示、元数据和像素数据。这些成分与图像大小和图像分辨率有关 图像深度 (又称比特深度或颜色深度)是用来编码每个像素信息的比特数。比如说,一个8比特的光栅可以有256个从0到255数值不等的图像深度 光度表示 解释了像素数据如何以正确的图像格式(单色或彩色图片)显示。为了说明像素数值中是否存在色彩信息,我们将引入“每像素采样数”的概念。单色图像只有一个“每像素采样”,而且图像中没有色彩信息。图像是依靠由黑到白的灰阶来显示的,灰阶的数目很明显取决于用来储存样本的比特数。在这里,灰阶数与像素深度是一致的。医疗放射图像,比如CT图像和磁共振(MR)图像,是一个灰阶的“光度表示”。而核医学图像,比如正电子发射断层图像(PET)和单光子发射断层图像(SPECT),通常都是以彩色映射或调色板来显示的 元数据 是用于描述图像的信息。它可能看起来会比较奇怪,但是在任何一个文件格式中,除了像素数据之外

块存储,文件存储及对象存储 比较

徘徊边缘 提交于 2020-01-23 07:05:35
本质是一样的,底层都是块存储,只是在对外接口上表现不一致,分别应用于不同的业务场景。 通常来讲,磁盘阵列都是基于Block块的存储,而所有的NAS产品都是文件级存储。 一. 块存储:DAS,SAN 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。 架构: 1. DAS(Direct Attach Storage): 是直接连接于主机服务器的一种存储方式,每台服务器有独立的存储设备,每台主机服务器的存储设备无法互通,需要跨主机存取资料室,必须经过相对复杂的设定,若主机分属不同的操作系统,则更复杂。 应用:单一网络环境下且数据交换量不大,性能要求不高的环境,技术实现较早。 2. SAN(Storage Area Network): 是一种高速(光纤)网络联接专业主机服务器的一种存储方式,此系统会位于主机群的后端,它使用高速I/O联接方式,如:SCSI,ESCON及Fibre-Channels.特点是,代价高、性能好。但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。 应用:对网速要求高、对数据可靠性和安全性要求高、对数据共享的性能要求高的应用环境中。 典型设备: 磁盘阵列,硬盘,虚拟硬盘 使用角度:

CLR via C# 属性 无参属性

纵饮孤独 提交于 2020-01-23 01:28:49
许多类型都定义了能被获取或更改的状态信息。这个状态信息一般作为类型的字段成员实现。 如下代码,我们为这个类型定义两个字段: 创建该类型的实例后,可以使用以下形式的代码轻松获取或者设置它的状态信息: 这种查询和设置对象状态信息的做法十分常见。但是,永远不应该像这样实现。 面向对象设计和编程的重要原则之一就是数据封装,意味着类型的字段永远不应该公开,否则很容易因为不恰当使用字段而破坏对象的状态。 如下代码,我们可以很容易地破坏一个Employee对象: //-- 还有其他原因促使我们封装类型中的数据字段的访问。 1.你可能希望访问字段来执行一些副作用(即side effect;在计算机编程中,如果一个函数或表达式除了生成一个值,还会造成状态的改变,就说它会造成副作用;或者说会执行一个副作用)、缓存某些值或者推迟创建一些内部对象(推迟创建对象是指在对象第一次需要时才真正创建它)。 2.你可能希望以线程安全的方式访问字段。 3.字段可能是一个逻辑字段,它的值不由内存中的字节表示,而是通过某个算法来计算获得。 //-- 基于上述原因,强烈建议将所有字段都设为private。要允许用户或类型获取或设置状态信息,就公开一个针对该用途的方法。封装字段访问的方法通常称为访问器(accessor)方法。 访问器方法可选择对数据的合理性进行检查,确保对象的状态永远不被破坏。 虽然这是个简单地例子

hadoop namenode的工作机制

青春壹個敷衍的年華 提交于 2020-01-22 12:03:12
hadoop 集群中有两种节点,一种是namenode,还有一种是datanode。 其中datanode主要负责数据的存储,namenode主要负责三个功能,分别是(1)管理元数据 (2)维护目录树 (3)响应客户请求 首先介绍下,元数据格式 hdfs在外界看来就是普通的文件系统,可以通过路径进行数据的访问等操作,但在实际过程存储中,却是分布在各个节点上。如上图所示,是一条元数据,/test/a.log 是在hdfs文件系统中的路径,3是这个文件的副本数(副本数可以通过在配置文件中的配置来修改的)。在hdfs中,文件是进行分块存储的,如果文件过大,就要分成多块存储,每个块在文件系统中存储3个副本,以上图为例,就是分成blk_1和blk_2两个块,每个块在实际的节点中有3个副本,比如blk_1的3个副本分别存储在h0,h1,h3中。 现在由此引出一个问题,namenode中的元数据是存储在哪里的?首先,我们做个假设,如果存储在namenode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断点,元数据丢失,整个集群就无法工作了!!!因此必须在磁盘中有备份,在磁盘中的备份就是fsImage,存放在namenode节点对应的磁盘中。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新fsImage

MFS分布式存储搭建过程

不羁的心 提交于 2020-01-22 00:24:45
1.MFS是什么? mooseFS(moose 驼鹿)是一款网络分布式文件系统。它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源。MFS也像其他类unix文件系统一样,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修改时间),可以创建特殊的文件(块设备,字符设备,管道,套接字),符号链接,硬链接。 2.MFS的特征 1:层析结构(目录树) 2:存储文件属性(权限,访问和修改时间) 3:支持特殊文件(块设备,字符设备,管道) 4:符号链接,软硬链接 5:对文件系统访问可以通过IP地址或者密码进行访问限制 6:高可靠(数据的多个拷贝存储在不同的计算机上) 7:通过附加新的计算机或者硬盘可以实现容量的动态拓展 8:删除文件可以根据一个可配置的时间周期进行保留 9:不受访问和写入影响的文件连贯快照 3.MFS的应用场景 谈及MooseFS的应用场景,其实就是去谈分布式文件系统的应用场景。 1)大规模高并发的数据存储及访问(小文件、大文件), 2)大规模的数据处理,如日志分析 4.MFS官网 http://www.moosefs.com/是MFS官网,上面写了高可用性,低成本数据安全和可扩展性已经高性能等MFS的优点 5.MFS分布式文件系统部署方案 MooseFS 是一种分布式文件系统,MooseFS 文件系统结构包括以下四种角色: 1 管理服务器 managing

如何制作一个 RPM 文件

白昼怎懂夜的黑 提交于 2020-01-20 16:44:40
它们是包含文件和元数据的档案文件。当安装或卸载 RPM 时,此元数据告诉 RPM 在哪里创建或删除文件。正如你将在上一篇文章中记住的,元数据还包含有关“依赖项”的信息,它可以是“运行时”或“构建时”的依赖信息。 例如,让我们来看看 fpaste。你可以使用 dnf 下载该 RPM。这将下载 Fedora 存储库中可用的 fpaste 最新版本。在 Fedora 30 上,当前版本为 0.3.9.2: $ dnf download fpaste ... fpaste-0.3.9.2-2.fc30.noarch.rpm 由于这是个构建 RPM,因此它仅包含使用 fpaste 所需的文件: $ rpm -qpl ./fpaste-0.3.9.2-2.fc30.noarch.rpm /usr/bin/fpaste /usr/share/doc/fpaste /usr/share/doc/fpaste/README.rst /usr/share/doc/fpaste/TODO /usr/share/licenses/fpaste /usr/share/licenses/fpaste/COPYING /usr/share/man/man1/fpaste.1.gz 源 RPM 在此链条中的下一个环节是源 RPM。Fedora 中的所有软件都必须从其源代码构建。我们不包括预构建的二进制文件。因此

第1章 HBase简介

人盡茶涼 提交于 2020-01-20 01:13:30
1、什么是HBase HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。 官方网站: http://hbase.apache.org – 2006年Google发表BigTable白皮书 – 2006年开始开发HBase – 2008年北京成功开奥运会,程序员默默地将HBase弄成了Hadoop的子项目 – 2010年HBase成为Apache顶级项目 – 现在很多公司二次开发出了很多发行版本,你也开始使用了。 HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。 HBase是Google Bigtable的开源实现,但是也有很多不同之处。比如:Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MAPREDUCE来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用Chubby作为协同服务