hadoop学习记录(一)HDFS】的更多相关文章

起因 因为工作需要用到,所以需要学习hadoop,所以记录这篇文章,主要分享自己快速搭建hadoop环境与运行一个demo 搭建环境 网上搭建hadoop环境的例子我看蛮多的.但是我看都比较复杂,要求安装java,hadoop,然后各种设置..很多参数变量都不明白是啥意思...我的目标很简单,首先应该是用最简单的方法搭建好一个环境.各种变量呀参数呀这些我觉得一开始对我都不太重要..我只要能跑起来1个自己的简单demo就行.而且现实中基本上环境也不会让我来维护..所以对我来说简单就行. 刚好最近我…
MapReduce概念 MapReduce是一种分布式计算模型,由谷歌提出,主要用于搜索领域,解决海量数据计算问题. MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数实现分布式计算. 这两个函数的形参是key,value对,表示函数的输入信息. MP执行流程 客户端提交给jobtracker,jobtracker分配给tasktracker. trasktracker会对任务进行mapper和reducer操作. MapReduce原理 一个map输入…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 由于NameNode对于整个HDFS集群重要性,为避免NameNode单点故障,在集群里创建2个或以上NameNode(不要超过5个),保证高可用. 实现主备NameNode需要解决的问题:1.通过JournalNodes来保证Active NN与Standby NN之间的元数据同步 2.通过ZKFC来保证Active NN与Sta…
注:该文内容部分来源于ChinaHadoop.cn上的hadoop视频教程. 一. HDFS概述 HDFS即Hadoop Distributed File System, 源于Google发表于2003年的论文,是一种分布式的文件系统. HDFS优点: 高容错性(数据自动保存多个副本) 适合批处理 适合大数据处理 流式文件访问(一次性写入,多次读取) 建立在廉价机器上 HDFS缺点: 不善于处理低延迟数据访问 不善于处理小文件存取(元数据存放在namenode内存中,消耗大量内存) 不支持并发写…
集群概念 计算机集群是一种计算机系统,通过一组松散继承的计算机软件或硬件连接连接起来高度紧密地协作完成计算工作. 集群系统中的单个计算机通常称为节点,通过局域网连接. 集群特点: 1.效率高,通过多态计算机完成同一个工作. 2.高容错,两台或多台机内容.工作过程等完全一样,宕机一台其他机器继续工作. Hadoop集群部署 搭建步骤 1.跟伪分布模式环境相同 更改主机名 设置Hosts 关闭防火墙 安装jdk 设置环境变量 设置SSH密钥登陆 2.安装配置Hadoop namenode配置: 配置…
在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平台,还没搭好环境的童鞋可以转到我写的这篇文章Hadoop在Ubuntu的安装,接下来就开始我们本次的经验分享啦. HDFS的Shell命令操作 HDFS的格式化与启动 首次使用HDFS时,需要使用format 命令进行格式化 ./bin/hdfs namenode -format 使用start-d…
HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.HDFS的scheme是hdfs,对本地文件系统,scheme是file.其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme. 例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/chil…
本节并不大算为大家讲接什么是hadoop,或者hadoop的基础知识因为这些知识在网上有很多详细的介绍,在这里想说的是关于hdfs的相关内容.或许大家都知道hdfs是hadoop底层存储模块,专门用于存放数据,那么在进行文件上传的时候hdfs是如何进行的呢?我们按照宏观和微观来进行相关解析工作. 首先需要向大家解释如下几个概念: (1) secondaryNamenode: 其实起初我对SN的理解也和大部分人相同,认为SN是NN(nameNode)的一个实时热备份实现HA,并且在一次笔试的过程中…
hadoop的灵感源于谷歌,最初目的是解决传统数据库处理数据成本高和速度慢的问题. hadoop两个核心项目是HDFS(hadoop分布式文件系统)和MapReduce. HDFS用来实现数据的存储,它有别于传统关系型数据库的数据存储方式,不需要很强的数据完整性,以流式数据访问模式来存储超大文件.当数据集的大小超过一 台独立的物理机的存储能力是.就有必要对它进行分区并存储到若干台单独的计算机上.管理网络中跨多台计算机存储的文件系统称为分布式文件系统. HDFS上运用到了一个块的概念,即将其上的文…
HDFS的API操作 URL方式访问 package hdfs; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org.apache.hadoop.io.IOUtils; public cl…
FSDateinputStream 对象 FileSystem对象中的open()方法返回的是FSDateInputStream对象,改类继承了java.io.DateInoutStream接口.支持随机访问 Seekable接口 支持在文件中找到指定位置,并提供一个查询当前位置相对于文件起始位置偏移量的查询方法. public interface Seekable{ //seek()可以移到文件中任意一个绝对位置 void seek(long pos); long getPos(); bool…
这一次开始学习HBase数据库. 我用的是VMWare + ubuntu16.04 +Hbase1.1.5 +hadoop2.6.0的组合. 经过亲自安装验证,版本间没有发生冲突,可以进行学习和开发. 具体的安装过程参照了厦门大学数据实验室的安装教程,个人感觉这里面的安装步骤非常详细,非常少适合新人上手,只要懂得基本的java和linux基础即可. 下面是厦大数据实验室的链接:http://dblab.xmu.edu.cn/blog/588-2/#more-588 Hbase即hadoop da…
这个博客开通快一年了,但是由于种种原因,始终没有能够养成定期更新的习惯. 最近完成了比赛的项目,向除了android开发以外再拓宽一下自己的技能树. 最近购买了<java8函数式编程>和<hadoop权威指南第三版>,希望能在大数据方向上有所学习和收获. 我会努力记录自己的学习过程,按时做笔记,定时更新博客.…
1.创建Hadoop项目 2.创建包.类 这里使用hdfs.WordCount为例 3.编写自定Mapper和Reducer程序 MyMapper类 static class MyMapper extends Mapper<LongWritable, Text, Text, LongWritable> { @Override protected void map(LongWritable k1, Text v1, Context context) throws IOException, Int…
本文转载自向着梦想奋斗博客 Hadoop是什么? 适合大数据的分布式存储于计算平台 不适用小规模数据 作者:Doug Cutting 受Google三篇论文的启发 Hadoop核心项目 HDFS(Hadoop Distrubuted File System) 分布式文件系统 MapReduce 并行计算框架 版本 Apache 官方版本 Cloudera 使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些补丁(Patch).推荐使用. Yahoo Yahoo内部使用的版本,发…
一.安装mysql 1安装服务器 sudo apt-get install mysql-server 2安装mysql客户端 sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 3检查是否有mysql服务开启如果出现第二行则成功开启 netstat -tap|grep mysql tcp *:mysql *:* LISTEN /mysqld 4开启mysql服务命令 service mysql sta…
1.初始化HDFS :hadoop namenode -format 看到如下字样,说明初始化成功. 启动HDFS,start-dfs.sh 终于启动成功了,原来是core-site.xml  中配置fs.defaultFS值中所设置的hosts映射与IP对应不上,造成端口拒绝连接 启动namenode :指的是core-site.xml配置的fs.defaultFS值 启动datanode :指的是/home/hadoop/Downloads/hadoop-2.4.1/etc/hadoop/s…
hadoop 创始人 DogCutting 高效,可扩展性,高容错性,价格低廉的大数据软件处理架构 主要应用于数据分析.数据实时查询.数据挖掘领域 HDFS(HadoopDistributeFileSystem 分布式文件系统) 总结:从字面意思我们可以简单理解为:hadoop是用来处理大数据的,HDFS是用来存储大数据的. -*-hadoop项目结构-*- MapReduce 主要用于离线计算 Tez (DAG计算)基于YAN之上生成无向循环图,优化计算 Spark 和Mapreduce相似在…
参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @-@ WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable @-@ WARN hdfs.DFSClient: DFSInputStream has been closed alread…
http://blog.csdn.net/m_star_jy_sy/article/details/26476907配置windows里eclipse连接hadoop集群 hadoop常见命令 启动Hadoop 进入HADOOP_HOME目录. 执行sh bin/start-all.sh 关闭Hadoop 进入HADOOP_HOME目录. 执行sh bin/stop-all.sh 1.查看指定目录下内容 hadoop dfs –ls [文件目录] eg: hadoop dfs –ls /user…
下载 https://skydrive.live.com/redir.aspx?cid=cf7746837803bc50&resid=CF7746837803BC50!1277&parid=CF7746837803BC50!1274&authkey=!ACiM_IinIoEmTz8 有事打不开,可以到hadoop官网下载 将插件复制到eclipse安装目录的dropins下,重启eclipse. 打开视图点击Map/Reduce 创建一个Hadoop location 正常显示下图…
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整个硬盘的容量的文件,这时需要将文件分割为若干较小的块,然后将这些块按照一定的规则分放在集群中若干台节点计算机里. 分布式文件系统的另一个作用是加速运算,在多台计算机上对每个子文件进行计算最后再汇总结果通常比在一台计算机上处理大量文件的运算要块.这种分而治之的思想倡导:与其追求造价昂贵的高性能计算机,…
本文原创,转载注明作者和原文链接! 一:总结注意点: 到现在为止学习到的角色:三个NameNode.SecondaryNameNode.DataNode 1.存储的是每一个文件分割存储之后的元数据信息.具体的信息有: 2.而且NameNode的存储是内存存储的,不会有和磁盘的数据交换的过程,这样的话提高了整体的集群的效率,但是这个数据都是需要持久化的,因为不持久化的话,数据是不安全的,加假如哪一天hadoop集群中的NameNode那台服务器挂了的话,里面的元数据如果只是存储在内存中的就全部的丢…
一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多台机器上的文件,于是就产生了分布式文件管理系统,英文名成为DFS(Distributed File System). 那么,什么是分布式文件系统?简而言之,就是一种允许文件通过网络在多台主机上分享的文件系统,可以让多个机器上的多个用户分享文件和存储空间.它最大的特点是“通透性”,DFS让实际上是通过网络来…
随着信息技术的高度发展,数据量越来越多,当一个操作系统管辖范围存储不下时,只能将数据分配到更多的磁盘中存储,但是数据分散在多台磁盘上非常不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,因此诞生了分布式文件系统.HDFS(Hadoop Distribute File System)是一种能运行在通用硬件上的分布式文件系统,具有高度容错的特点,适合部署在廉价的机器上. 由于hadoop1和hadoop2版本差异较大,本文以下部分如未标记特殊说明则默认指的是hadoop2版本 HDFS基本概…
HDFS设计基础与目标 硬件错误是常态.因此需要冗余 流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理(随机性的读写数据等). 大规模数据集 简单一致性模型.为了降低系统复杂度,对文件采用一次性写多次读的逻辑设计,即是文件一经写入,关闭,就再也不能修改 程序采用“数据就近“原则分配节点执行 HDFS体系结构 Namenode: 管理文件系统的命名空间 记录每个文件数据块在各个Datanode上的位置和副本信息 协调客户端对文件的访问 记录命名空间内的改动或空…
介绍 Hadoop分布式文件系统(HDFS)设计的运行环境是商用的硬件系统.他和现存的其他分布式文件系统存在很多相似点.不过HDFS和其他分布式文件系统的区别才是他的最大亮点,HDFS具有高容错的特性并且可以部署在廉价硬件,HDFS提供对应用数据的高吞吐访问,适用于数据量大的应用系统.HDFS放松了POSIX的要求以允许文件系统数据的流访问. 远景和目标 硬件故障 硬件故障是常态而不是异常情况,一个HDFS实例可能会使用成百上千的服务器,每个服务器保存整个文件系统的一部分数据,事实上,整个系统由…
HDFS API的高级编程 HDFS的API就两个:FileSystem 和Configuration 1.文件的上传和下载 package com.ghgj.hdfs.api; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFS_GET_AND_PUT { public st…
HDFS是HADOOP中的核心技术之一——分布式文件存储系统.Hadoop的作者Doug Cutting 和Mike 是根据Google发布关于GFS 的研究报告所设计出的分布式文件存储系统. 一.HDFS设计的前提或者假设有6个: 硬件错误是常态而不是异常.对于普通的每台机器来说,出现故障可能并是是常事,但HDFS可能由成千上万的机器组成,在这中情况下发生硬件错误就变成非常正常的事情.为了能够正常的工作,HDFS要能处理或者容忍这些硬件错误.所以对HDFS 来说硬件错误是常态而不是错误. 流式…
1.HDFS的设计 HDFS是什么:HDFS即Hadoop分布式文件系统(Hadoop Distributed Filesystem),以流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统. HDFS不适合用在:要求低时间延迟数据访问的应用,存储大量的小文件,多用户写入,任意修改文件. 2.HDFS的概念 HDFS数据块:HDFS上的文件被划分为块大小的多个分块,作为独立的存储单元,称为数据块,默认大小是64MB. 使用数据块的好处是: 一个文件的大小可…