HDFS的基础组成部分及基础操作

HDFS组件结构图解说:

1、如图所示中,NameNode充当master角色,职责包括:管理文档系统的命名空间(namespace);调节客户端访问到需要的文件(存储在DateNode中的文件)

2、DataNodes充当slaves角色,通常情况下,一台机器只部署一个Datenode,用来存储MapReduce程序需要的数据

3、Namenode会定期从DataNodes那里收到Heartbeat和Blockreport反馈

4、Heartbeat反馈用来确保DataNode没有出现功能异常;

5、Blockreport包含DataNode所存储的Block集合

二、HDFS设计原则

1、文件以块(block)方式存储

2、每个块带下远比多数文件系统来的大(预设64M)

3、通过副本机制提高可靠度和读取吞吐量

4、每个区块至少分到三台DataNode上(一般,对namenode进行raid1配置,对datanode进行raid5配置)

5、单一 master (NameNode)来协调存储元数据(metadata)

6、客户端对文件没有缓存机制 (No data caching)

三、NameNode(NN)

NameNode主要功能提供名称查询服务,它是一个jetty服务器(一个开源的servlet容器,嵌入式的web服务器)

NameNode保存metadate信息包括

文件owership和permissions

文件包含哪些块

Block保存在哪个DataNode(由DataNode启动时上报)

1、NameNode的metadate信息在启动后会加载到内存

2、metadata存储到磁盘文件名为”fsimage”

Block的位置信息不会保存到fsimage

四.DataNode(DN)

保存Block

启动DN线程的时候会向NN汇报block信息

hadoop fs -cmd

cmd :为具体的操作,基本上于UNIX的命令相同

args:参数

hdfs资源URL格式:scheme://bigdata/path

scheme:协议名,file或hdfs

bigdata:namenode主机名

path:路径

eg:hdfs://localhost:9000/user/chunk/test.txt

假设已经在core-site.xml设置了fs.default.name=hdfs://localhost:9000,

则仅使用/user/chunk/test.txt即可

hdfs命令示例:存放的数据以文件的形式存储,使用绝对路径来区分每个资源,在创建目录来存储资源时候要加/

#创建目录

hadoop fs -mkidr /myFirstDir

#查看创建的目录

hadoop fs -ls /myFirstDir #返回为空,目前还没存放数据

#对当前创建目录存放文件

hadoop fs -put /etc/shadow /myFirstDir

#查看目录下的文件

hadoop fs -ls /myFirstDir

#复制文件到指定的位置

hadoop fs -get /hadoop目下的文件  /本地文件路径

hadoop fs -get /myFirstDir/shadow /home/#下载shadow到/home目录下

#新建一个空文件

hadoop fs -touchz /myFirstDir/newFile.txt

#将hadoop上某个文件重命名

hadoop fs -mv /myFirstDir/newFile.txt /myFirstDir/bigdata.txt

#将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hadoop dfs -getmerge /myFirstDir/bigdata.txt /home/a

#查看文件里的内容

hadoop fs -cat /myFirstDir/shadow

#查看最后1000字节数据

hadoop fs -tail /myFirsDir/shadow

#删除文件\目录

hadoop fs -rm -R /myFirstDir/shadow

hadoop fs -rm -R /myFirstDir/Secondary

#查看HDFS下的文件

hadoop fs -ls /

#查看集群数据的信息,登陆master节点查看

http://192.168.1.114:50070

管理与更新

#查看HDFS的基本统计信息

hadoop dfsadmin -report

#进出安全模式

hadoop dfsadmin -safemode enter

hadoop dfsadmin -safemode leave

#节点添加

添加一个新的DataNode节点,先在新加节点上安装好Hadoop,

要和NameNode使用相同的配置(可以直接从NameNode复制),修改$HADOOP_HOME/conf/master文件,加入NameNode主机名。

然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接,运行启动命令为:

/bin/start-all.sh

#负载均衡

HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。

新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀。

用户可以使用命令重新平衡DataNode上的数据块的分布:

start-balancer.sh

时间: 2024-08-05 19:31:54

HDFS的基础组成部分及基础操作的相关文章

HDFS基础和java api操作

1. 概括 适合一次写入多次查询情况,不支持并发写情况 通过hadoop shell 上传的文件存放在DataNode的block中,通过linux shell只能看见block,看不见文件(HDFS将客户端的大文件存放在很多节点的数据块中,Block本质上是一个逻辑概念,它是hdfs读写数据的基本单位) HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间 2. fs 可以使用hdfs shell操作hdfs,常用 fs命令如下: eg: hadoop fs -cat fi

基础DOM和CSS操作

DOM简介 DOM是一种文档对象模型,方便开发者对HTML结构元素内容进行展示和修改.在JavaScript中,DOM不但内容庞大繁杂,而且我们开发的过程中需要考虑更多的兼容性.扩展性.在jQuery中,已经将最常用的DOM操作方法进行了有效封装,并且不需要考虑浏览器的兼容性. D表示的是页面文档Document.O表示对象,即一组含有独立特性的数据集合.M表示模型,即页面上的元素节点和文本节点. DOM有三种形式,标准DOM.HTML DOM.CSS DOM(难道不是XML DOM吗?),大部

正则表达式的基础组成部分

在shell环境中,通配符能够匹配文本范围相当有限.正则表达式是一种用于文本匹配的形式小巧.且高度针对性的编程语言.例如: @[a-z0-9]+\.[a-z]+ 就是一个能匹配电子邮件的正则表达式. 正则表达式的基础组成部分如下所示: 正则表达式 描述 示例 ^ 行起始标记 ^a匹配以a起始的行 $ 行尾标记   a$匹配以a结尾的行 . 匹配任意一个字符    a.匹配ab,ac,ad,....但不能匹配abc,他只能匹配单个字符 []  匹配包含在[]中的任意一个字符            

jQuery碎语(1) 基础、选择要操作的元素、处理DOM元素

1.基础 jquery对象集: $():jquery对象集合 获取jquery对象集中的元素: 使用索引获取包装器中的javascript元素:var temp = $('img[alt]')[0] 使用jquery的get方法获取jquery对象集中的javascript元素:var temp = $('img[alt]').get(0) 使用jquery的eq方法获取jquery对象集中的jquery对象元素: $('img[alt]').eq(0) $('img[alt]').first(

基础DOM和CSS操作(三)

CSS方法 jQuery不但提供了CSS的核心操作方法,比如.css()..addClass()等.还封装了一些特殊功能的CSS操作方法,我们分别来了解一下. width()方法 方法名 描述 width() 获取某个元素的长度 width(value) 设置某个元素的长度 width(function(index,width) {}) 通过匿名函数设置某个元素的长度 html代码(部分)如下: <div style="background: #eee; width: 800px;&quo

DNS服务基础及bind基础配置和应用

DNS服务基础及bind基础配置和应用  DNS服务基础011.DNS:Domain   Name  Service,  ( 应用层协议)2.tld:Top Level Domain 顶级域(1)顶级域中的组织域.com  (company).net    网络组织.org非盈利型组织   org:other  organizations.gov  government.edu    教育机构.mil   military军事的,军队,军人...(2)顶级域中的国家域.tw   .hk  .cn

*1 计算机基础和操作系统基础及几大协议

计算机基础和操作系统基础 计算机为什么叫电子计算机(因为他永远是二进制来运行) 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机.可分为超级计算机.工业控制计算机.网络计算机.个人计算机.嵌入式计算机五类,较先进的计算机有生物计算机.光子计算机.量子计算机等. 计算机发明者约翰·冯·诺依曼.

[.net 面向对象编程基础] (7) 基础中的基础——修饰符

[.net 面向对象编程基础] (7) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改符. 首先 修饰符是什么? 修饰符用于限定类型以及类型成员的申明 从定义可以看出按功能分为两类:访问修饰符和声明修饰符 1.访问修饰符 (5个) 访问修饰符 说明 public 公有访问.不受任何限制. private 私有访问.只限于本类成员访问,子类,实例都不能访问. protected 保护访

[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如三元表达式,可以让你少写N多个if和case语句. 表达式 由 操作数(operand) 和 运算符(operator) 构成 1.运算符分类和优先级   2.运算符按操作数目分类   一元运算符 -x  x++  x-- 二元运算符 x+y  x+1 三元运算符 c ? x : y 3.表达式分类