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目录结构

hdfs如何给用户添加组_shell

hdfs如何给用户添加组_hdfs_02

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

hdfs如何给用户添加组_hdfs_03

查看进程

hdfs如何给用户添加组_操作系统_04

 

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

hdfs如何给用户添加组_shell_05

share(通过路径加载jar包)

 

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

hdfs如何给用户添加组_运维_06

通过hdfs操作

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

hdfs如何给用户添加组_操作系统_07

 

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

 

3.HDFS dfs命令

可见文档

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

 

 

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

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

hdfs如何给用户添加组_hdfs如何给用户添加组_08

hdfs如何给用户添加组_shell_09

 

查看目录结构

 

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 )

hdfs如何给用户添加组_shell_10

 

ls命令来自于

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

 

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

hdfs如何给用户添加组_操作系统_11


 

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

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

 

非常像Linux文件结构

hdfs如何给用户添加组_运维_12

4.常见HDFS命令

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

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

hdfs如何给用户添加组_操作系统_13

 

 

指的是文件夹

hdfs如何给用户添加组_操作系统_14

一级一级查看麻烦

 

hdfs如何给用户添加组_操作系统_15

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

hdfs如何给用户添加组_shell_16

-d(普通格式输出)

 

 

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

hdfs如何给用户添加组_hdfs如何给用户添加组_17

hdfs如何给用户添加组_操作系统_18

hdfs如何给用户添加组_运维_19

 

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

 

hdfs如何给用户添加组_hdfs如何给用户添加组_20

hdfs如何给用户添加组_操作系统_21

 

 

通过执行命令区分

hdfs如何给用户添加组_shell_22

 

hdfs如何给用户添加组_操作系统_23

 

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

hdfs如何给用户添加组_运维_24

-cat

hdfs如何给用户添加组_hdfs如何给用户添加组_25

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

-put

hdfs如何给用户添加组_hdfs_26

-cp(从hdfs到hdfs)

hdfs如何给用户添加组_hdfs_27

-copyToFile)(hdfs拷贝到Linux)

hdfs如何给用户添加组_hdfs_28

-chmod

hdfs如何给用户添加组_hdfs_29

hdfs如何给用户添加组_操作系统_30

hdfs如何给用户添加组_运维_31

chmod 777

hdfs如何给用户添加组_shell_32

 

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

 

hdfs如何给用户添加组_shell_33

hdfs如何给用户添加组_操作系统_34

hdfs如何给用户添加组_hdfs_35

hdfs如何给用户添加组_shell_36

hdfs如何给用户添加组_shell_37

 

 

hdfs如何给用户添加组_shell_38

hdfs如何给用户添加组_shell_39

hdfs如何给用户添加组_shell_40

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

hdfs如何给用户添加组_shell_41

在hdfs下没有目录

hdfs如何给用户添加组_shell_42

currentUser的目录

hdfs如何给用户添加组_hdfs如何给用户添加组_43

 

 

 

hdfs如何给用户添加组_hdfs如何给用户添加组_44

hdfs如何给用户添加组_shell_45