打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Hadoop两大核心

HDFS(Hadoop Distributed File System):分布式存储
MapReduce:分布式计算
Hadoop的四大模块:
Common
HDFS
Yarn
mapReduce
部署的Linux(CentOS 6.5)、Hadoop
---------------------------------------------------------
HDFS(Hadoop Distributed File System):分布式存储
NameNode
是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的
元信息和每个文件对应的数据块列表。接收用户的操作请求。
文件包括:
1)fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
2)edits:操作日志文件。
3)fstime:保存最近一次checkpoint的时间
 以上这些文件是保存在linux的文件系统中。
 查看NameNode内容
bin/hdfs oiv -p XML -i  fsimage-path  -o fsimage.xml
bin/hdfs oev -p XML -i  edits-path  -o edits.xml
主要配置选项:hdfs-site.xml的
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-repo/name</value>
</property>
通过HDFS命令查看fsimage文件:
hdfs oiv -p XML -i fsimage_0000000000000000115 -o fsimage.xml
查看hdfs://uplooking:9000/hello
<inode>
<id>16386</id>
<type>FILE</type>
<name>hello</name>
<replication>1</replication>
<mtime>1499706594113</mtime>
<atime>1499706593097</atime>
<perferredBlockSize>134217728</perferredBlockSize>//128M
<permission>root:supergroup:rw-r--r--</permission>
<blocks>
<block>
<id>1073741825</id>
<genstamp>1001</genstamp>
<numBytes>29</numBytes>
</block>
</blocks>
</inode>
通过HDFS命令查看edits操作文件
hdfs oev -p XML -i edits_0000000000000000004-0000000000000000115 -o edits.xml
DataNode
    提供真实文件数据的存储服务。
文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,
按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。
HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block。
    不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间
Replication。多复本。默认是三个。

hdfs是专门为大文件设计文件系统,而不是为小文件设计的问题。
hdfs不适合存储小文件?
因为hdfs需要在内存中存放datanode中数据的元数据信息,如果存放过多的小文件的话,会极大的浪费内存开销
HDFS SHELL操作
hdfs dfs -ls hdfs://uplooking:9000/ --->(hdfs的根目录)
hdfs dfs -ls /
hdfs文件权限说明
-  rw-  r--  r--   1 root supergroup      29 2017-07-10 10:09 hdfs://uplooking01:9000/hello
d  rwx  r-x  r-x   - root supergroup      0 2017-07-10 10:12 hdfs://uplooking01:9000/output
文 文件 文件 其它 文件 用户 文件 修改时间 文件在hdfs上面的路径
件 用户 用户 用户 用户 所在 大小
类 权限 组 权限
型      权限
-表示文件类型为文件
d表示文件类型为目录
用户权限有:r(read 读 4) w(write 写 2) x(execute 执行 1)
rwx:7
如果一个文件的权限是755:rwxr-xr-x
-ls 浏览hdfs的具体目录
hdfs dfs -ls [-R] /    --->-R递归浏览/目录
查看文件内容:
-cat 浏览hdfs上的一个文件内容,和linux本地的cat命令一样 
hdfs dfs -cat /input/hadoop/hdfs/data.log
-text  hdfs dfs -text /input/hadoop/hdfs/data.log
-tail  hdfs dfs -tail /input/hadoop/hdfs/data.log
创建目录:
-mkdir:在hdfs上面创建一个目录,如果创建的是多级目录:使用 -mkdir -p
eg. hdfs dfs -mkdir -p /input/hadoop/hdfs
文件移动:
-copyFromLocal [-f] [linux_src_path hdfs_dest_path] 将linux本地的文件拷贝/上传到hdfs
其中-f参数是强制上传,如果hdfs_dest_path已经存在,则覆盖之
eg.hdfs dfs -copyFromLocal /hello /hello-1
-copyToLocal
-moveFromLocal
-moveToLocal
以上四个命令,都是用于在linux本地和hdfs之前传递文件,不是工作中最常用的命令
-put-->就相当于-copyFromLocal---》从linux本地上传文件到hdfs
hdfs dfs -put data.log /input/hadoop/hdfs/
-get-->就相当于-copyToLocal---》从hdfs下载文件到linux本地
hdfs dfs -get /input/hadoop/hdfs/data.log aaa
-cp--->从hdfs上面的路径A,拷贝相关目录到hdfs上面的路径B
hdfs dfs -cp /input/hadoop/hdfs/data.log /input/hadoop/hdfs/data.1.log
-mv--->从hdfs上面的路径A,移动相关目录到hdfs上面的路径B
hdfs dfs -mv /input/hadoop/hdfs/data.log /input/hadoop/hdfs/data.2.log
文件删除:
-rm [-f] [-r|-R] hdfs目录:删除hdfs上面的指定目录
eg. hdfs dfs -rm -R /out 删除hdfs上面的文件夹/out
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
HDFS
Hadoop中NameNode元数据管理机制解读
二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)
hadoop集群管理之 SecondaryNameNode和NameNode
HDFS原理 架构和副本机制
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服