码迷,mamicode.com
首页 > 其他好文 > 详细

HDFS入门(1)

时间:2016-02-29 23:03:52      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

2015.07.12笔记

1.HDFS

Distributed File System(操作系统实现人机交互,最重要的功能是文件管理,使用文件管理系统,windows、Linux文件管理系统有共性:用户可创建文件/夹,删除,修改权限,修改源数据信息(创建、修改、访问时间等)。在操作系统中的文件或者数据的管理是通过文件系统实现的,文件系统是操作系统实现文件管理的一个重要的组成部分,操作系统将文件放置到硬件(硬盘,服务器能有一万多兆)当中进行管理。在服务器中,数据的储存管理是通过我们写的程序进行管理,当数据量多时,可在硬盘插槽增加硬盘(6个插槽),可分散到多个系统上,用户不需知道文件存储在哪个IP上(如www.Baidu.com域名对应到多台服务器)DFS分布式文件系统是数据分布在很多个文件系统,而DFS对应的是一个操作系统()数据量多,用户操作不方便,DFS分布式文件系统凌驾在操作系统所辖的文件管理系统中

数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统

是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。

通透性。让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。

容错。即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。

分布式文件管理系统很多,hdfs只是其中一种,不合适小文件(通过一定的策略将小文件变成大文件)。实现文件管理

?

HDFS的Shell(hdfs存储的都是大数据,shell是Linux操作系统的组成部分,hdfs属于hadoop软件的组成部分,在shell中使用特定命令调用hdfs接口中的命令)(ls蓝色字体是文件夹,绿色是文件)

调用文件系统(FS)Shell命令应使用 bin/hdfs dfs xxx 的形式。

所有的FS shell命令使用URI路径作为参数。

 URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

 例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更简单的/parent/child(假设配置文件是namenode:namenodePort)

大多数FS Shell命令的行为和对应的Unix Shell命令类似。

安装好(绿色文件是用于批量启动hadoop写的文件(照着写))

2.apache hadoop目录结构

技术分享

技术分享

(查看的脚本文件)(在java线程概念里面的方法set daemon给它传个true就可以让其变成精灵进程,精灵进程不停跑

技术分享

查看进程

技术分享

?

bin sbin 很重要(bin,系统操作命令,存放的都是命令脚本有两类.cmd是在windows下面的命令;sbin系统维护运营)

技术分享

share(通过路径加载jar包)

?

logs 文件(学会看日志,分析日志,log历史日志,out是当前日志)

技术分享

通过hdfs操作

hdfs 用法(中括号表示可选,安装hadoop改的配置文件可单独放到单独的文件夹中--config confir适用于很多变化的环境,工作环境使用的是默认目录下的配置文件)空格加command

技术分享

?

dfs是在被支持的文件系统支持下运行一个文件系统的命令,可参考Linux命令

?

3.HDFS dfs命令

可见文档

注意点:启动进程的用户是super user,可以做任何事情

?

?

在版本2中(脚本没改才提示),不用关心

Hadoop1下使用的是hadoop,(hadoop2版本)dfs,执行结果一样

技术分享

技术分享

?

查看目录结构

?

bin/hdfs dfs -ls hdfs://192.168.80.100:9000/

-ls 后面跟的是hdfs访问路径(在配置文件中设置过,可跟主机名(执行hostname查看,端口9000是之前etc/Hadoop/core-site.xml文件配置的)或IP,9000后面的斜杠表示hdfs的根目录)(访问互联网必须通过通过协议http https ftp )

技术分享

?

ls命令来自于

在配置etc/Hadoop/core-site.xml文件中设置过hdfs的访问路径

?

文件系统需组织结构,Linux是树状结构,hdfs的根目录(跟Linux不一样)

技术分享

?

64位机装32位hadoop会出现警告信息(学习没影响,企业使用64位,32位的对内存大小有限制,软件最好通过源码编译成64位)可以通过源码编译hadoop

操作系统64位,hadoop是32位会提示错误

?

非常像Linux文件结构

技术分享

4.常见HDFS命令

-表示没有副本数,最后一次访问时间

大小单位是字节(目录本身而言不含有数据,所以大小为0),后面是绝对路径(如何知道这些信息)

技术分享

?

?

指的是文件夹

技术分享

一级一级查看麻烦

?

技术分享

注意是—R(Recursively递归使用大写)

技术分享

-d(普通格式输出)

?

?

-h(默认是字节,加上后根据大小显示单位k,M)

技术分享

技术分享

技术分享

?

简写,去掉hdfs://192.168.80.100:9000(运行时被运行环境补充上了,它是要找本地中是否有hdfs的配置文件,如果有就将里面特定的值给补充上fs.defaultFS)

?

技术分享

技术分享

?

?

通过执行命令区分

技术分享

?

技术分享

?

误以为是Linux(缺少目的地文件)

技术分享

-cat

技术分享

文件系统就是原封不动存取数据,mysql是文件管理系统,

-put

技术分享

-cp(从hdfs到hdfs)

技术分享

-copyToFile)(hdfs拷贝到Linux)

技术分享

-chmod

技术分享

技术分享

技术分享

chmod 777

技术分享

?

用户/所在者,所在组,其他人(常用的权限是文件夹755,默认创建文件644

?

技术分享

技术分享

技术分享

技术分享

技术分享

?

?

技术分享

技术分享

技术分享

ls什么都不跟默认/user/root

技术分享

在hdfs下没有目录

技术分享

currentUser的目录

技术分享

?

?

?

技术分享技术分享

?

HDFS入门(1)

标签:

原文地址:http://www.cnblogs.com/liuyifeng/p/5229203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!