Hadoop(二)—— HDFS】的更多相关文章

早期的hadoop版本,NN是HDFS集群的单点故障点,每一个集群只有一个NN,如果这个机器或进程不可用,整个集群就无法使用.为了解决这个问题,出现了一堆针对HDFS HA的解决方案(如:Linux HA, VMware FT, shared NAS+NFS, BookKeeper, QJM/Quorum Journal Manager, BackupNode等); 在HA具体实现方法不同的情况下,HA框架的流程是一致的, 不一致的就是如何存储和管理日志.在Active NN和Standby N…
HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS展开的.所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始. 安装Hadoop集群,首先需要有Zookeeper才可以完成安装.如果没有Zookeeper,请先部署一套Zookeeper.另外,JDK以及物理主机的一些设置等.请参考: Hadoop集群(一) Zookeeper搭建 Hadoop集群(三) Hbase搭建 Hadoop集群(四) Hadoop升级 下面开始HDFS的安装 HDFS主机分配 1…
摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具:另一种是JavaAPI,即利用Hadoop的Java库,采用编程的方式操作HDFS的文件.…
一 配置SSH 下载ssh服务端和客户端 sudo apt-get install openssh-server openssh-client 验证是否安装成功 ssh username@192.168.30.128 按照提示输入username的密码,回车后显示以下,则成功.(此处不建议修改端口号,hadoop默认的是22,修改后启动hadoop会报异常,除非在hadoop的配置文件中也修改ssh端口号) Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-34-…
Hadoop基础-HDFS的API常见操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习HDFS时的一些琐碎的学习笔记, 方便自己以后查看.在调用API的时候,可能会需要maven依赖,添加依赖的包如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"…
Hadoop基础-HDFS安全管家之Kerberos实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道hadoop有很多不同的发行版,比如:Apache Hadoop,CDH,HDP,MapR,EMR等等,我们使用这些组件部署的hdfs分布式文件系统时,都会面临很直接的一个安全问题,比如Java大数据开发工程师可以在java源代码中使用“System.setProperty("HADOOP_USER_NAME","yinzhengjie&qu…
Hadoop基础-Hdfs各个组件的运行原理介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode工作原理(默认端口号:50070) 1>.什么是NameNode NameNode管理文件系统的命名空间.它维护着文件系统树及整棵树内所有的文件和目录.这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件.NameNode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息在系统启动时由数据节点重建. 2>…
Hadoop基础-HDFS的读取与写入过程剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简要介绍hadoop的写入过程,并不会设计到源码,我会用图和文字来描述hdfs的写入过程. 一.hdfs写数据流程 如上图所示,想要把一个4.2G的文件写入到hdfs集群中,它是怎么实现的呢?其步骤简要如下: 1>.客户端向NameNode请求在"/user/yinzhengjie/movies/"目录下上传一个名称叫“苍老师.rmvb”的视频: 2>…
Hadoop分布式文件系统(HDFS)是一种分布式文件系统.它与现有的分布式文件系统有许多相似之处.但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成本硬件上.(高容错) HDFS提供对数据的高吞吐量访问,适用于具有海量数据集的应用程序.(高吞吐量) HDFS放宽了一些POSIX要求,以实现对文件系统数据的流式访问.(流式访问) HDFS最初是作为Apache Nutch网络搜索引擎项目的基础设施而构建的.HDFS是Apache Hadoop Core项…
Hadoop基础-HDFS的读取与写入过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 为了了解客户端及与之交互的HDFS,NameNode和DataNode之间的数据流是什么样的,我们需要详细介绍一下HDFS的读取以及写入过程,本篇博客的观点是在我读<Hadoop权威指南,大数据的存储与分析>整理的笔记. 一.剖析HDFS文件读取 上图显示了HDFS在读取文件时事件的发生顺序.大致总结为以下几个步骤: 1>.客户端通过调用FileSystem对象的open()放啊…
Hadoop基础-HDFS数据清理过程之校验过程代码分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想称为一名高级大数据开发工程师,不但需要了解hadoop内部的运行机制,还需要掌握hadoop在写入过程中的报文分析.当然代码的调试步骤是一个开发必须得会的技能!想要掌握这三个技能,我们就可以拿HDFS写入过程来练练手,了解一下平时就几行的代码在它的内部是如何帮我们实现数据传输的. 一.Idea代码调试简介 1>.编写测试代码 /* @author :yinzhengjie…
Hadoop基础-HDFS分布式文件系统的存储 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS数据块 1>.磁盘中的数据块 每个磁盘都有默认的数据块大小,这个磁盘进行数据读/写的最小单位,构建于单个磁盘之上的上文件系统通过磁盘来管理该文件中的块,该文件系统块的大小可以是磁盘块的整数倍.文件系统块一般为几千字节,而磁盘快一般为512字节.这个信息(文件系统块大小)对于需要读/写文件的文件系统用户来说是透明的.尽管如此,系统仍然提供了一些工具(如df和fsck)来维护…
Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. fs.listFiles方法,返回LocatedFileStatus的迭代器,自带递归.但是它是继承于FileStatus的,而且构建函数是FileStatus的文件版,即LocaledFileStatus只能列出文件.接下来我我们一起看看这两个方法的用法. 一.listStatus方法 /* @author :yinzhengjie B…
Hadoop基础-HDFS的API实现增删改查 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客开发IDE使用的是Idea,如果没有安装Idea软件的可以去下载安装,如何安装IDE可以参考我的笔记:https://www.cnblogs.com/yinzhengjie/p/9080387.html.当然如果有小伙伴已经有自己使用习惯的IDE就不用更换了,只是配置好相应的Maven即可,我这里配置Maven是针对idea界面进行说明的. 一.将模块添加maven框架支持…
hadoop之hdfs及其工作原理 (一)hdfs产生的背景 随着数据量的不断增大和增长速度的不断加快,一台机器上已经容纳不下,因此就需要放到更多的机器中,但这样做不方便维护和管理,因此需要一种文件系统进行统一管理:另一方面,数据量之大,势必会对处理器性能提出了更大的要求,单个处理器性能的提升成本极高且已到达技术瓶颈(目前来看),因此纵向扩展的这条道路已经闭塞,只能考虑横向扩展,添加更多的机器.就在这种背景下,HDFS应运而生,它是一种分布式文件系统,它由多台主机的进程系统完成某个应用,当然每台…
摘要:Hadoop之HDFS文件操作常有两种方式.命令行方式和JavaAPI方式.本文介绍怎样利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HDFS是一种分布式文件系统,为MapReduce这样的框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式.一种是命令行方式.即Hadoop提供了一套与Linux文件命令类似的命令行工具:还有一种是JavaAPI,即利用Hadoop的Java库,採用编程的方式操作HDFS的文…
IDEA 远程调试 Hadoop 两大特色:一是采用maven的pom配置:二是直接连接hdfs:9000端口,无须另外在服务端配置参数. 其实内容包含了两种方式:本地与远程调试.这里仅仅只是使用远程的hdfs,相当于在使用远程的数据库,并未调试部署在远程的JAR包程序.这对于开发而言,已经能够满足开发环境的测试了.但是,在其它的帖子上锁看到设置服务端hadoop的启动脚本,并在其中开启jvm的debug接口之类的做法,不知在此是否也要进行设置.如果仅仅只是在本地跑程序看结果,而不需要去debu…
本篇主要对hadoop命令和hdfs命令进行阐述,yarn命令会在之后的文章中体现 hadoop fs命令可以用于其他文件系统,不止是hdfs文件系统内,也就是说该命令的使用范围更广可以用于HDFS.Local FS等不同的文件系统.而hdfs dfs命令只用于HDFS文件系统: 一.hadoop命令 使用语法:hadoop [--config confdir] COMMAND #其中config用来覆盖默认的配置 ##command #子命令 fs run a generic filesyst…
hadoop(二MapReduce) 介绍 MapReduce:其实就是把数据分开处理后再将数据合在一起. Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理.可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系. Reduce负责“合”,即对map阶段的结果进行全局汇总. MapReduce运行在yarn集群 MapReduce中定义了如下的Map和Reduce两个抽象的编程接口,由用户去编程实现.Map和Reduce, MapReduce处理的数据类型是键值对…
深入理解hadoop之HDFS 刚刚才写完关于mapreduce的一篇博文,趁热打铁接下来聊聊HDFS.本博文参考资料为HADOOP权威指南第3版完版,博文如有错漏之处,敬请指正. HDFS即Hadoop Distributed FileSystem,是hadoop旗舰机的文件系统.HDFS以流式数据访问模式来存储超大文件.有如下几个特点:超大文件:流式数据访问模式,即一次写入多次读取的访问模式:商用硬件,hadoop不需要运行在昂贵的商用硬件上面,对于庞大的集群来说,节点的故障概率是非常高的,…
第1章 HDFS概述 1.1 HDFS产出背景及定义 1.2 HDFS优缺点 1.3 HDFS组成架构 1.4 HDFS文件块大小(面试重点) 第2章 HDFS的Shell操作(开发重点) 1.基本语法 bin/hadoop fs 具体命令 OR bin/hdfs dfs 具体命令 dfs是fs的实现类. 2.命令大全 [atguigu@hadoop102 hadoop-2.7.2]$ bin/hadoop fs   [-appendToFile <localsrc> ... <dst&…
@ 目录 前言:浅谈Hadoop Hadoop的发展历程 1.1 Hadoop产生背景 1.引入HDFS设计 1.1 HDFS主要特性 2.HDFS体系结构 HDFS工作流程机制 1.各个节点是如何互通有无的? RPC原理 客户端操作文件与目录 结论 前言:浅谈Hadoop Hadoop作为大数据入门的基石内容,其中HDFS更是所有生态的地基,so,我们有必要更深入去理解HDFS,以及HDFS在高可用的演变过程.如果有小可爱说hadoop和HDFS有啥区别的.の...,那容我之后在做背书来说明,…
接上一章,本章介绍使用 crontab 像指定文件定时写入,使用fluem 读取并写入到hadoop的hdfs 前提准备已安装好fluem ,和hadoop(推荐单机即可毕竟做实验) 一.进入终端执行命令查看 crond 服务状态 service crond status 如下表示服务正常运行,如无服务或服务关闭,需自行安装启动(略) 二 .执行命令 crontab –e  配置定时任务 crontab –e 写入 如下内容(表示每分钟向opt/software/test.log 插入一条数据)…
1.PC已经安装Eclipse Software,测试平台windows10及Centos6.8虚拟机 2.新建maven project 3.打开pom.xml,maven工程项目的pom文件加载以下内容 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&quo…
本视频适合对Java有一定了解,熟悉java se的Hadoop爱好者,想对Hadoop进行二次开发.下面是以伪分布为例: 想对Hadoop二次开发:一.首先需要Hadoop和Java之间搭建Eclipse搭建一个桥梁,也就是所谓的插件.这个插件是由Hadoop来提供的.只要安装Hadoop,就可以在Hadoop安装目录中找到Hadoop-xx-eclipse-pligin.jar.<ignore_js_op> 图1二.把这个插件添加到Eclipse安装目录的插件文件夹<ignore_j…
本文系转载,原文地址被黑了,故无法贴出原始链接. Hadoop操作HDFS命令如下所示: hadoop fs 查看Hadoop HDFS支持的所有命令 hadoop fs –ls 列出目录及文件信息 hadoop fs –lsr 循环列出目录.子目录及文件信息 hadoop fs –put test.txt /user/sunlightcs 将本地文件系统的test.txt复制到HDFS文件系统的/user/sunlightcs目录下 hadoop fs –get /user/sunlightc…
本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info' hdfs上的文本文件如下[data/hbase_input/hbase.txt] 1,xiejl,20 2,haha,30 3,liudehua,40 4,daoming,41 可以通过命令查看hadoop的classpath现在包含哪些jar包: [hadoop@master ~]$ hdfs…
HDFS设计基础与目标 硬件错误是常态.因此需要冗余 流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理(随机性的读写数据等). 大规模数据集 简单一致性模型.为了降低系统复杂度,对文件采用一次性写多次读的逻辑设计,即是文件一经写入,关闭,就再也不能修改 程序采用“数据就近“原则分配节点执行 HDFS体系结构 Namenode: 管理文件系统的命名空间 记录每个文件数据块在各个Datanode上的位置和副本信息 协调客户端对文件的访问 记录命名空间内的改动或空…
上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文件上传.下载源解析. 文件上传 先上文件上传的方法调用过程时序图: 其主要执行过程: FileSystem初始化,Client拿到NameNodeRpcServer代理对象,建立与NameNode的RPC通信(楼主上篇已经介绍过了) 调用FileSystem的create()方法,由于实现类为Dis…
Hadoop之HDFS 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 HDFS介绍 HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表的论文翻版的. 什么是分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是…