HDFS

大数据的基础概念

左心房为你撑大大i 提交于 2020-03-28 04:37:23
hadoop:一个分布式系统基础架构, 是一个能够对大量数据进行 分布式处理 的 软件 框架,是一个能够让用户轻松架构和使用的分布式计算平台。 Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存储 Hadoop 集群中所有存储节点上的文件。HDFS(对于本文)的上一层是 MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。 HDFS :Hadoop 分布式文件系统 (Distributed File System) - HDFS (Hadoop Distributed File System) MapReduce : 并行计算 框架,0.20前使用 org.apache.hadoop.mapred 旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API HBase :类似Google BigTable的分布式NoSQL列数据库。( HBase 和 Avro 已经于2010年5月成为顶级 Apache 项目) Hive :数据仓库工具

HBase-1.2.1集群搭建

筅森魡賤 提交于 2020-03-27 11:36:13
3 月,跳不动了?>>> 1.hbase是一个分布式系统,需要依赖HDFS作为存储介质,并依靠zookeeper来完成监控主从节点上下线。 2.安装准备如下: 1.HBase角色 HMaster(主节点,一台Active,一台StandBy) HReginServer(数据节点,多台) 2.依赖 HDFS集群、zookeeper集群【启动】 3.上传安装包解压 tar -zxvf hbase-1.2.1.bin.tar.gz -C apps/ 4.进入conf目录修改配置文件如下 1.vi hbase-env.sh export JAVA_HOME=/usr/local/java/jdk1.8.0_231 export HBASE_MANAGES_ZK=false #自己的zookeeper,不启动它内置的 2.vi hbase-site.xml <configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop01:9000/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true<

Hadoop1重新格式化HDFS

荒凉一梦 提交于 2020-03-27 06:42:26
首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。它其实是将一个大文件分成若干块保存在不同服务器的多个节点中。通过联网让用户感觉像是在本地一样查看文件,为了降低文件丢失造成的错误,它会为每个小文件复制多个副本(默认为三个),以此来实现多机器上的多用户分享文件和存储空间。 Hadoop主要包含三个模块: HDFS模块:HDFS负责大数据的存储,通过将大文件分块后进行分布式存储方式,突破了服务器硬盘大小的限制,解决了单台机器无法存储大文件的问题,HDFS是个相对独立的模块,可以为YARN提供服务,也可以为HBase等其他模块提供服务。 YARN模块:YARN是一个通用的资源协同和任务调度框架,是为了解决Hadoop中MapReduce里NameNode负载太大和其他问题而创建的一个框架。YARN是个通用框架,不止可以运行MapReduce,还可以运行Spark、Storm等其他计算框架。 MapReduce模块:MapReduce是一个计算框架,它给出了一种数据处理的方式,即通过Map阶段、Reduce阶段来分布式地流式处理数据。它只适用于大数据的离线处理,对实时性要求很高的应用不适用。多相关信息可以参考博客: 初识HDFS(10分钟了解HDFS、NameNode和DataNode) 。

JAVA API操作小文件合并至HDFS(笔记)

ぐ巨炮叔叔 提交于 2020-03-26 23:47:10
相关文件请自行创建!!! package com.hadoop.hdfs; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.PathFilter; import org.apache.hadoop.io.IOUtils; /** 合并小文件至 HDFS */ public class MergeSmallFilesToHDFS { private static FileSystem fs = null; private static

HDFS——读写流程

浪尽此生 提交于 2020-03-26 12:08:42
3 月,跳不动了?>>> HDFS上传流程 客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 NameNode返回是否可以上传。 客户端请求第一个 block上传到哪几个datanode服务器上。 NameNode返回3个datanode节点,分别为dn1、dn2、dn3。 客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。 dn1、dn2、dn3逐级应答客户端。 客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。 当一个block传输完成之后,客户端再次请求NameNode上传第二个block的服务器。(重复执行3-7步)。 HDFS读流程 来源: oschina 链接: https://my.oschina.net/u/4427158/blog/3211780

HDFS_Hadoop核心_001

白昼怎懂夜的黑 提交于 2020-03-26 08:23:57
1.HDFS概述 =============================================================================================================== 2-HDFS的namenode和datanode ======================================================================================================================== 3-HDFS的文件副本机制 ================================================================================================================= 4-HDFS的块缓存和访问权限 注意:block只是个逻辑单位(说的时候只说这个文件是几个block) HDFS系统跟linux系统很像,也有一个根目录,根目录下有子目录 ============================================================================================================= 5

SQL Server 2019 的亮点总结 Why use SQL Server

一曲冷凌霜 提交于 2020-03-26 03:22:24
微软在 Ignite 2019 大会上正式发布了新一代数据库产品SQL Server 2019。使用统一的数据平台实现业务转型SQL Server 2019 附带 Apache Spark 和 Hadoop Distributed File System(HDFS),可实现所有数据的智能化。 SQL Server 2019 的亮点 SQL Server 是数据集成的中心。通过 SQL server 和 Spark 为结构化和非结构化数据提供转型洞察力。 2.支持多种语言和平台,现在可以在 Windows、Linux 和容器上使用。 3.保护静态和使用中的数据。据 NIST 漏洞数据库统计,SQL Server 已经成为过去 8 年内最不容易遭受***的数据库。 Power BI 报表服务器使您的用户可以访问丰富的交互式 Power BI 报表以及 SQL Server Reporting Services 的企业报告功能。 SQL Server大数据集群允许用户部署运行在Kubernetes上的SQL Server、Spark和HDFS容器的可伸缩集群。这些组件并行运行,使用户能够从Transact-SQL或Spark中读取、写入和处理大数据,从而使用户能够轻松地将高价值的关系数据与高容量的大数据组合起来进行分析和使用。 通过数据虚拟化打破数据孤岛, 通过利用SQL Server

大数据学习之MapReduce编程案例一单词计数 10

情到浓时终转凉″ 提交于 2020-03-24 23:09:12
一:单词计数 1:单词计数总流程图 2:代码实现 1:Map阶段 package it.dawn.YARNPra.wc_hdfs; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; /** * @author Dawn * @date 2019年5月1日23:09:08 * @version 1.0 * * 思路? * wordcount单词计数(数据来源hdfs上) * <单词,1> * * 数据传输 * * KEYIN:数据的起始偏移量0~10 11~20 21~30 * VALUEIN:数据 * * KEYOUT:mapper输出到reduce阶段 k的类型 * VALUEOUT:mapper输出到reduce阶段v的类型 * <hello,1><hunter,1><henshuai,1> */ public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable

Hadoop Streaming详解

陌路散爱 提交于 2020-03-24 22:46:08
一: Hadoop Streaming详解 1、Streaming的作用 Hadoop Streaming框架,最大的好处是, 让任何语言编写的 map, reduce 程序能够在hadoop 集群上运行 ;map/reduce程序只要遵循从标准输入stdin读,写出到标准输出stdout即可 其次,容易进行单机调试,通过管道前后相接的方式就可以模拟streaming, 在本地完成map/reduce程序的调试 # cat inputfile | mapper | sort | reducer > output 最后,streaming框架还 提供了作业提交时的丰富参数控制 ,直接通过streaming参数,而不需要使用java语言修改;很多mapreduce的高阶功能,都可以通过steaming参数的调整来完成 2、Streaming的局限 Streaming 默认只能处理文本数据Textfile ,对于二进制数据,比较好的方法是将二进制的key, value进行base64编码,转化为文本 Mapper和reducer的前后都要进行标准输入和标准输出的转化 ,涉及数据拷贝和解析,带来了一定的开销 3、Streaming命令的相关参数 (普通选项、streaming选项) Streaming命令的形式如下: # /usr/local/src/hadoop-1.2.1/bin

hadoop学习笔记——用python写wordcount程序

大城市里の小女人 提交于 2020-03-24 22:42:15
尝试着用3台虚拟机搭建了伪分布式系统,完整的搭建步骤等熟悉了整个分布式框架之后再写,今天写一下用python写wordcount程序(MapReduce任务)的具体步骤。 MapReduce任务以来HDFS存储和Yarn资源调度,所以执行MapReduce之前要先启动HDFS和Yarn。我们都知道MapReduce分Map阶段和Reduce阶段,这就需要我们 自己写Map阶段的处理方法和Reduce阶段的处理方法。 MapReduce也支持除Java之外的其他语言,但要依赖流处理包(hadoop-streaming-2.7.4.jar),处理包不需要自己下载,hadoop本身带的就有,hadoop2.7的在 hadoop-2.7.4/share/hadoop/tools/lib 目录下,知道它所在的目录是因为只执行MapReduce命令的时候要指定hadoop-streaming-2.7.4.jar的位置。 接下来就是用python写Map的处理逻辑和Reduce的处理逻辑。wordcount是词频统计,要处理的原文本文件要上传到HDFS上,流程是原文本以流式方式传到Map函数,Map函数处理之后把结果传到Reduce函数,整个处理完后结果会保存在HDFS上,流式处理可以理解成文本一行一行的在原文件、Map函数、Reduce函数、结果文件之间流动处理。 原文本: hello