Hadoop 文件系统(HDFS)

块(默认128M)

磁盘传输速率100M/s,寻址时间10ms,让寻址时间是传输时间的1%,所以块的大小为:

(100*0.01s)*100M/s=100M ——>128M

在 hdfs-default.xml 中搜索dfs.blocksize,可以修改大小


文件上传

$ hadoop fs -put a.txt /test

文件下载

$ hadoop fs -get /test/a.txt b.txt

检查文件block的状态

$ hdfs fsck /test/a.txt

由上可见,状态是健康的

hadoop进程独立启动

启动所有数据节点

$ hadoop-daemons.sh start datanode    //在名称节点服务器上执行

启动某一个数据节点

$ hadoop-daemon.sh start datanode    //在指定的datanode上执行

启动备用名称节点

$ hadoop-daemon.sh start secondarynamenode    //在任何节点上都可执行

查看名称节点的主机名称

$ hdfs getconf -namenodes

查看备用节点的主机名称

$ hdfs getconf -secondarynamenodes

配置Windows的hosts文件

修改C:\Windows\System32\drivers\etc\hosts,添加:

192.168.75.130      ubuntucp
192.168.75.131      ubuntu1
192.168.75.132      ubuntu2
192.168.75.133      ubuntu3
192.168.75.134      ubuntu4

常用端口

1.namenode

    rpc:8020

    webui:50070

2.datanode

    rpc:8032

    webui:50075

3.secondarynamenode

     webui:50090

3.historyserver

     webui:19888

4.resourcemanager

    webui:8088

5.nodemanager

    webui:8042

服役和退役

dfs.hosts :决定谁能够连接namenode

dfs.hosts.exclude :决定谁不能连接namenode

1.创建 /soft/hadoop/etc/dfs-hosts-include.conf文件

        ubuntu1

        ubuntu2

2.创建 /soft/hadoop/etc/dfs-hosts-exclude.conf文件

        ubuntu2

        ubuntu3

3.编辑配置文件 hdfs-site.xml

<property>  
  <name>dfs.hosts</name>  
  <value>/soft/hadoop/etc/dfs-include.conf</value>  
</property>  
<property>  
  <name>dfs.hosts.exclude</name>  
  <value>/soft/hadoop/etc/dfs-exclude.conf</value>  
</property>

4.分发hdfs-site.xml文件到所有节点

5.刷新节点(避免关闭集群再打开)

$ hdfs dfsadmin -refreshNodes

安全模式

Hadoop权威指南第11章P314

HDFS一些常用命令

hadoop fs ==hdfs dfs

$ hadoop fs -ls 
$ hadoop fs -cp
$ hadoop fs -cat

查看目录统计信息(比如根目录的统计信息)

$ hadoop fs -count /

目录个数        文件个数        文件大小


快照 snapshot 

针对目录,但目录默认情况下不能创建快照

1.开启快照功能

$ hdfs dfsadmin -allowSnapshot /test

2.创建快照(命名为 snap-1)

$ hadoop fs -creatSnapshot /test snap-1

3.删除快照

$ hadoop fs -deleteSnapshot <snapshotDir> <shnapshotName>

4.禁用快照(如果指定目录已经存在快照,则不能禁用快照功能,必须先删除快照)

$ hdfs dfsadmin -disallowSnapshot /test

回收站(P303)

程序删除的文件不会进入回收站,除非调用 moveToTrash( )函数

该信息由 core-site.xml 文件中的 fs.trash.interval 属性设置,默认为0,表示回收站无效。

<property>
  <name>fs.trash.interval</name>
  <value>2</value>
 </property>


删除已在回收站中超过最小时限的所有文件

$ hadoop fs -expunge

配额

目录配额

$ hdfs dfsadmin -setQuota N /dir          //N > 0

则在 /test 目录中只能存放一个元素

$ hdfs dfsadmin -clrQuota /dir 
清除目录配额

空间配额

$ hdfs dfsadmin -setSpaceQuota 1M /test

则 /test 目录下只能存放 1M 的内容

$ hdfs dfsadmin -clrSpaceQuota /test

清除空间配额

查看fsimage镜像文件

$ hdfs oiv -i fsimage_xxx -o xxx.xml -p XML

查看edit编辑日志文件

$ hdfs oev -i edits_xxx -o xxx.xml -p XML



 
 

猜你喜欢

转载自blog.csdn.net/sp_ur/article/details/80305151