手记

Hadoop入门教程之HDFS shell 常用命令

Hadoop的bin目录下

ls

hadoop fs -ls / 查看HDFS文件系统上的文件

hadoop fs -ls -R / 查看HDFS文件系统多层文件夹

mkdir

hadoop fs -mkdir /test/ 创建test文件夹

hadoop fs -mkdir -p /a/b 创建多层文件夹

put

hadoop fs -put 1.tar /test 把当前目录的1.tar上传到hdfs的test目录

copyFromLocal

也能实现把本地文件传到HDFS,和put一样。

cat/text 查看文件内容

hadoop fs -cat 1.txt

hadoop fs -text 1.txt

get

hadoop fs -get /test/1.tar test.tar 把hdfs的test目录下的1.tar下载到本地,命名为test.tar

copyToLocal

也能实现下载文件到本地,和get一样。

rm

hadoop fs -rm /test/1.tar 删除HDFS系统上test目录下的1.tar文件

hadoop fs rm -r /test/ 删除HDFS系统上test目录

或者

hadoop fs -rmr /test/ 删除HDFS系统上test目录

hadoop fs

帮助命令,查看所有的命令


HDFS的优点:

1.高容错

因为它的文件都是以block的形式存储的,并且是多副本的,所以即使其中几台服务器挂掉了,对整个系统的影响也不大。

2.适合批处理

3.适合大数据处理

只要能存的下的数据,都是可以处理的。

4.可构建在廉价的机器上

HDFS的缺点:

1.低延迟的数据访问

因为里面的文件都是以block的形式存储的,如果文件比较大,block非常多,去访问的时候,延迟性是很高的。

解决方案

可以使用HBase,相当于大数据里面的数据库,只要row-key设计的很好,它的查询速度是非常非常高的。

2.不适合小文件的存储

文件有多少block,存放在哪些节点,这些元数据都是存储在NameNode上面的,不管那个文件多大,它的元数据都是有这么大的,所以并不适合小文件的存储。如果HDFS上的小文件特别多,那么整个集群的性能就会特别的差,因为它的元数据占用了太多的NameNode内存资源。

解决方案

定期清理集群上面的小文件,把它合并成一个大文件。

1人推荐
随时随地看视频
慕课网APP