块(默认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
下载文件并合并
$ hdfs dfs -getmerge -nl /test/a.txt /test/b.txt ~/Downloads/merge.txt
检查文件block的状态
$ hdfs fsck /test/a.txt
由上可见,状态是健康的
hadoop进程独立启动
启动所有数据节点
$ hadoop-daemons.sh start datanode //在名称节点服务器上执行
启动某一个数据节点
$ hadoop-daemon.sh start datanode //在指定的datanode上执行
$ hadoop-daemon.sh stop 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