HDFS

大数据和区块链之间的比较分析!

橙三吉。 提交于 2020-11-25 06:31:51
  大数据和区块链之间的比较分析!   大数据和区块链两者之间有个共同的关键词:分布式,代表了一种从技术权威垄断到去中心化的转变。   分布式存储:HDFS vs.区块   大数据,需要应对海量化和快增长的存储,这要求底层硬件架构和文件系统在性价比上要大大高于传统技术,能够弹性扩张存储容量。谷歌的GFS和Hadoop的HDFS奠定了大数据存储技术的基础。   另外,大数据对存储技术提出的另一个挑战是多种数据格式的适应能力,因此现在大数据底层的存储层不只是HDFS,还有HBase和Kudu等存储架构。   区块链,是比特币的底层技术架构,它在本质上是一种去中心化的分布式账本。区块链技术作为一种持续增长的、按序整理成区块的链式数据结构,通过网络中多个节点共同参与数据的计算和记录,并且互相验证其信息的有效性。   从这一点来说,区块链技术也是一种特定的数据库技术。由于去中心化数据库在安全、便捷方面的特性,很多业内人士看好其发展,认为它是对现有互联网技术的升级与补充。   分布式计算:MapReduce vs.共识机制   大数据的分析挖掘是数据密集型计算,需要巨大的分布式计算能力。节点管理、任务调度、容错和高可靠性是关键技术。   Google和Hadoop的MapReduce是这种分布式计算技术的代表,通过添加服务器节点可线性扩展系统的总处理能力(Scale Out)

2020大数据面试题真题总结(附答案)

怎甘沉沦 提交于 2020-11-24 15:57:03
版本 更新时间 更新内容 v1.0 2020-07-01 新建 v1.1 2020-06-13 朋友面试大数据工程师提供的关于架构及数仓方面的题目 v1.2 2020-08-08 朋友面试数据专家提供的数据驱动,spark及flink方面面试题 v1.3 2020-08-22 朋友面试数据开发提供的关于hive及数仓方面的题目 一.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

分布式文件存储hdfs简介及常用命令

戏子无情 提交于 2020-11-24 12:38:56
1、hdfs简介 1.1 什么是HDFS? HDFS(Hadoop Distributed File System)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,是最基础的一部分,MapReduce等计算模型都要依赖于存储在HDFS中的数据。HDFS是一个分布式文件系统,以流式数据访问模式存储超大文件,将数据分块存储到一个商业硬件集群内的不同机器上。 1.2 HDFS的设计目标 存储超大文件 HDFS适合存储大文件,单个文件大小通常在百MB以上 HDFS适合存储海量文件,总存储量可达PB,EB级 流式数据访问 为数据批处理而设计,关注数据访问的高吞吐量 硬件容错 基于普通机器搭建,硬件错误是常态而不是异常,因此错误检测和快速、自 动的恢复是HDFS最核心的架构目标 简单的一致性模型 一次写入,多次读取 一个文件经过创建、写入和关闭之后就不需要改变 不支持低时间延迟的数据访问 hdfs关心的是高数据吞吐量,不适合那些要求低时间延迟数据访问的应用。 本地计算 将计算移动到数据附近 1.3 HDFS的构成 数据块 文件以块为单位进行切分存储,块通常设置的比较大(最小6M,默认 128M) 块越大,寻址越快,读取效率越高,但同时由于MapReduce任务也是以 块为最小单位来处理,所以太大的块不利于于对数据的并行处理 一个文件至少占用一个块(逻辑概念) 冗余备份

阿里云服务器上装Hadoop的心得(内附Hadoop2.9.2详细安装教程)

不想你离开。 提交于 2020-11-24 08:32:41
  以前装Hadoop-3.1.2是跟着厦大林子雨的详细教程装的,所以遇到的问题不多,自己没怎么思考,导致跟着官网再装了一个Hadoop-2.9.2(为了装Hbase2.2.0)时装了两天,现在把遇到过的问题记下来以免以后再犯。   首先,安装软件首先看官网教程。但官网的教程是很简单的,比如Hadoop的安装。默认会创建hadoop用户;给hadoop权限;所有都在hadoop用户下操作(不然会出错);会更新apt;会解压;会配JAVA_HOME,会配置SSH免密登陆。但我是个小白啊,都不懂,因此查了很多资料。不过这些都是Linux基础,我现在得记住这些。 一、准备工作 (一)创建hadoop用户 1.1 创建可以登陆的 hadoop 用户,并自动建立用户的登入目录 sudo useradd -m hadoop   -m 是自动建立用户的登入目录,如果不输以新用户身份登入后会出错。   -s指定用户登入后所使用的shell。默认值为/bin/bash。(所以可以不指定)   其他详见useradd命令详解: https://www.cnblogs.com/irisrain/p/4324593.html 1.2 设置密码,按提示输入两次密码 sudo passwd ${你想设的密码}   sudo是使得普通用户有root权限的命令,如果就是root没必要输。 1.3 可为

hive常用命令

这一生的挚爱 提交于 2020-11-24 06:57:20
一、连接 后台启动hiveserver2 nohup bin/hive --service hiveserver2 & 连接hiveserver2 bin/beeline !connect jdbc:hive2://node03.hadoop.com:10000 使用本地模式 set hive.exec.mode.local.auto=true; 二、数据库增删改查 创建 create database if not exists myhive; create database myhive2 location '/myhive2'; # 指定hdfs存储位置 use myhive; 删除 drop database myhive2; # 删除空数据库 drop database myhive cascade; # 强制删除数据库,包含数据库下面的表一起删除 修改 alter database myhive2 set dbproperties('createtime'='20180611'); # 可以使用alter database 命令来修改数据库的一些属性。 # 但是数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置 查看 show databases; desc database myhive2; # 查看数据库信息 desc database

0734-5.16.1-集群外客户端跨网段向Kerberos环境的Hadoop集群提交作业(续)

点点圈 提交于 2020-11-24 06:52:53
文档编写目的 在前面的文章《 如何在集群外节点跨网段向HDFS写数据 》和《 外部客户端跨网段访问Hadoop集群方式(续) 》中介绍了如何在集群外的客户端节点上访问Hadoop集群,本篇文章在前面文章的基础上基于Kerberos环境的CDH集群介绍,如何在集群外客户端跨网段向Kerberos环境的Hadoop集群提交MapReduce和Spark作业。 测试环境 1.Redhat7.4 2.CDH5.16.1 3.集群已启用Kerberos 修改HDFS配置 1.进入HDFS服务的配置页面 2.在搜索栏输入“bind”勾选如下配置,将各服务的端口号绑定到0.0.0.0 3.搜索“core-site.xml”在高级配置项增加如下配置 < property > < name > hadoop.security.token.service.use_ip </ name > < value > false </ value > </ property > 4.搜索“hdfs-site.xml”在高级配置项增加如下配置 < property > < name > dfs.client.use.datanode.hostname </ name > < value > true </ value > </ property > 注意:该配置属于HDFS的Gateway角色高级参数

HBase(八)HBase的协处理器

孤街浪徒 提交于 2020-11-24 06:14:35
一、协处理器简介 1、 起源   Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和、计数、排序等操作。比如,在旧版本的(<0.92)Hbase 中,统计数据表的总行数,需 要使用 Counter 方法,执行一次 MapReduce Job 才能得到。虽然 HBase 在数据存储层中集成 了 MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单的相 加或者聚合计算的时候, 如果直接将计算过程放置在 server 端,能够减少通讯开销,从而获 得很好的性能提升。 于是,HBase 在 0.92 之后引入了协处理器(coprocessors),实现一些激动 人心的新特性:能够轻易建立二次索引、复杂过滤器(谓词下推)以及访问控制等。 2、介绍   协处理器有两种: observer 和 endpoint   Observer 类似于传统数据库中的触发器,当发生某些事件的时候这类协处理器会被 Server 端调用。Observer Coprocessor 就是一些散布在 HBase Server 端代码中的 hook 钩子, 在固定的事件发生时被调用。比如:put 操作之前有钩子函数 prePut,该函数在 put 操作执 行前会被 Region Server 调用;在 put 操作之后则有 postPut 钩子函数  

一张图看懂对象存储的发展历程

浪尽此生 提交于 2020-11-23 08:49:54
前些天,身兼多家硅谷技术公司顾问的Philippe Nicolas贴出了一张有趣的对象存储发展历程图片,以数据表形式详尽地展示了内容寻址存储(CAS)即对象存储的发展历程。 (点击可查看大图) 该图表汇总了多家企业不同产品的起源,X轴代表时间线,Y轴则为企业,项目和产品名称,并作出评论和分析。 和很多创新一样,这个图表充分说明,几乎所有的系统都来自小型厂商。其它IT细分市场是如此,存储亦是如此,即便后者始终与硬件和基础设施相关。 图表中蓝色星标代表一些网络巨头发表的重要论文。这些论文引起了一连串适用于超大规模环境的对象存储方案的商业运作。 GFS(谷歌文件系统),MapReduce和BigTable加上Hadoop,亚马逊Dynamo,雅虎MObStor和Facebook Cassandra一直是上图大多数公司的主要参考资料。但这些公司并未发现商用产品能够充分满足它们的预期需求,还不肯为产品和复杂性的限制大把烧钱,而更乐意基于它们强大的Linux DNA,设计,构建,开发,控制和掌握自身的技术。 为了方便阅读,左下方进行了标注说明。红圈代表收购案,橙圈代表OEM,实心蓝圈代表开源,空心代表特殊开源,菱形为公司或产品,蓝色星标为重要论文,红色星标为项目,橙色为Apache Hadoop(开源软件架构),绿色星标代表产品。 第一波浪潮

Edge2AI自动驾驶汽车教程2:将汽车边缘数据收集到云中

痞子三分冷 提交于 2020-11-23 06:12:39
介绍 我们在前面介绍过Edge2AI自动驾驶汽车的解决方案,参见《 Edge2AI 自动驾驶 汽车: 在小型智能汽车上收集数据并准备数据管道》,《Edge2AI 自动驾驶 汽车: 构建Edge到AI数据管道》,《 Edge2AI 自动驾驶 汽车: 训练模型并将其部署到边缘 》 ,《 Edge2AI自动驾驶汽车教程 》,《 Edge2AI自动驾驶汽车教程1:在边缘提取汽车传感器数据 》 。在这里我们从实操教程的角度来看如何一步一步的构建Edge2AI自动驾驶汽车的应用。 在上一教程中,我们从安装在智能车辆上的传感器收集了数据,并建立了一条管道来对数据进行建模,以用于训练机器学习(ML)模型。本节我们将展示从边缘到CDF的数据流。数据采用图像和与CSDV收集的每个图像相关联的元数据的形式(例如,IMU信息,转向角和位置),我们将把数据流引向CDH集群,在该集群中将存储和管理数据使用它来训练模型的目的。 先决条件 • 在Cloudera DataFlow集群上部署的CEM • 完成 了本教程系列的第一部分 概念 我们将使用Cloudera Edge Manager(CEM)在aws ec2实例上的云中运行的交互式UI中构建NiFi数据流。该数据流将用于从MiNiFi代理提取数据,转换数据以将CSV和图像数据路由到在另一个ec2实例上运行的HDFS。 • Cloudera Flow

Edge2AI自动驾驶汽车教程

Deadly 提交于 2020-11-23 05:40:33
介绍 我们在前面介绍过Edge2AI自动驾驶汽车的解决方案,参见《 Edge2AI 自动驾驶 汽车: 在小型智能汽车上收集数据并准备数据管道》,《Edge2AI 自动驾驶 汽车: 构建Edge到AI数据管道》,《 Edge2AI 自动驾驶 汽车: 训练模型并将其部署到边缘 》 。在这里我们从实操教程的角度来看如何一步一步的构建Edge2AI自动驾驶汽车的应用,这个教程也是分成了三个部分,今天的内容是总体介绍这个教程。 自动驾驶汽车是Cloudera自动驾驶汽车的开源版本。这款无人驾驶微型汽车由3个摄像头,LiDAR和游戏控制器提供动力,并连接到Jetson TX2板上。TX2运行机器人操作系统(ROS)并控制汽车的运动。最终,如果我们有多辆汽车,我们可以在汽车上训练模型,然后将该模型发送给CDSW并执行联合学习。在本教程中,我们将汽车数据发送到云中的Hadoop HDFS。我们使用CDSW运行Keras训练模型,然后将模型保存到HDFS。该模型经过训练,可以从跑道上克隆人的驾驶行为,以基于中心摄像头框架预测转向角,该摄像头框架使用ROS控制汽车。最后,将模型重新部署到汽车中,以说明Edge To AI的生命周期。 学习目标 • 将MiNiFi C ++代理安装到Jetson TX2上 • 了解TX2的汽车传感器数据 • 构建用于Emi数据管道的ETL数据管道,以用于CEM •