1. hadoop fs 帮助信息

hadoop fs

使用help选项可以获得某个具体命令的详细说明:

hadoop fs -help ls

2. 列出HDFS文件和目录

hadoop fs -ls /user/

3. 复制文件到HDFS和从HDFS复制文件

  在很多方面,HDFS较之于本地0S文件系统更像一个远程文件系统。对HDFS文件的复制操作更像SCP或FTP操作,而非NFS上的文件系统操作。文件上传使用-put或-copyFromLocal,文件下载使用-get或-copytoLocal。为了方便-copyFromLocal和-copytoLocal分别用来从本地复制文件到HDFS或将HDFS文件复制到本地,然后自动删除源文件。

  复制文件到hdfs

hadoop fs -put /etc/passwd /user/

  从hdfs复制文件

hadoop fs -get /user/passwd /usr/local

4. 修改HDFS文件的复制因子

  HDFS的另一个特别之处在于能够设置文件的复制因子。用-setrep命令,加上复制因子和可选标志(-R)表示要递归执行该操作。

hadoop fs -setrep 5 -R /user/tmp/

  注:HDFS会主动跟踪并管理可用数据块副本的数量,当副本数目低于配置的复制因子时,文件系统会自动从剩下的副本创建一个新的副本。

5. 设定目录磁盘空间的限额

//size是磁盘限额(用字节表示),path就是配额作用的目标目录
hadoop dfsadmin -setSpaceQuota size path

6. 查询文件夹的磁盘空间限额和文件数目限额

hadoop fs -count -q path

  结果的第一列显示的是文件数的限额,第二列是允许添加的文件数,第三列和第四列分别是磁盘空间的限额和剩余的可用空间(单位是字节)。

  注:只有当磁盘空间配额大小为磁盘块大小的整数倍时,才有意义。

7. 解除文件夹磁盘空间配额限制的命令

hadoop dfsadmin -clrSpaceQuota path

8. 设定文件数目配额

hadoop dfsadmin -setQuota number path

9. 解除文件数目配额

hadoop dfsadmin -clrQuota path

10. 添加一个DataNode

  集群扩容需要添加新DataNode,通常是在需要增加存储的情况下,虽然有时也是为了增加IO总带宽或减小单台机器失效的影响。在运行中的HDFS集群上增加新的DataNode是一个在线操作或热操作。对于要使用HDFS主机及功能的用户,新主机的IP地址必须添加到include文件中,但主机列表可以动态更新而无需重新启动NameNode。

1. 把DataNode的IP地址加入dfs.hosts参数指定的文件中。每个IP地址占用一行。

2. 以HDFS超级用户或有类似权限的用户执行命令行hadoop dfsadmin -refreshNodes。

3. 如果使用机架感知机制,需要为新加入主机更新相关的机架信息。

4. 启动DataNode进程。

5. 通过NameNode的Web界面或命令hadoop dfsadmin -report的输出来确定新节点是否已连接。

  仅当使用包含HDFS主机的功能时需要执行步骤1和2。

11. 卸载DataNode

  DataNode可能被卸载以便把它从集群中安全移除,同时还要保持主机上所有块的复制因子。这个过程可能很漫长,取决于被卸载主机上的数据量、集群工作数以及网络速度等因素。因为卸载的时间太长,在操作系统重启或配置变化引发的重启所导致的短暂停机状态下不适合做卸载节点的操作。如果想保证所有数据块安全,就需要使用安全卸载功能。

1. 把DataNode的IP地址添加到dfs.hosts.exclude参数指定的文件中。每个IP地址占用一行。

2. 以HDFS超级用户或拥有类似权限的用户执行hadoop dfsadmin -refreshNodes。

3. 监控NameNode的Web界面确保卸载正在进行。有时更新会滞后几秒。

4. 因为DataNode上的数据较多,卸载有时会持续数小时甚至几天。卸载完成时,NameNode界面会把DataNode显示成已卸载。

5. 停止DataNode进程。

6. 如果不打算把机器放回集群,就需要在HDFS的include和exclude文件中去除DataNode,同时更新机架拓扑数据库。

7. 执行hadoop dfsadmin -refreshNodes让NameNode进行节点更新。

12. 在HDFS中创建一个新文件夹

hadoop fs -mkdir /user/weblogs

13. 列出HDFS上weblog_entries.txt文件信息

hadoop fs -ls /user/weblogs/weblog_entries.txt

HDFS命令行工具的更多相关文章

  1. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  2. 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...

  3. 命令行工具aspnet_regiis.exe实现加密和解密web.config

    命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...

  4. nodejs 编写(添加时间戳)命令行工具 timestamp

    Nodejs除了编写服务器端程序还可以编写命令行工具,如gulp.js就是Nodejs编写的. 接下来我们来实现一个添加时间戳的命令: $ timestamp action https://www.n ...

  5. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  6. Orchard中的命令行工具

    在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...

  7. Linux 性能监控之命令行工具

    引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...

  8. 命令行工具解析Crash文件,dSYM文件进行符号化

    备份   文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发 ...

  9. MySQL 命令行工具之 mysqldump 深入研究

    mysqldump 是MySQL的一个命令行工具,用于逻辑备份.可以将数据库和表的结构,以及表中的数据分别导出成:create database, create table, insert into的 ...

随机推荐

  1. log4net 写日志配置

    1. nuget install package log4net 2.站点跟目录新建配置文件 LogWriterConfig.xml <?xml version="1.0" ...

  2. python 函数操作

    四.函数 定义: #!/usr/local/env python3 ''' Author:@南非波波 Blog:http://www.cnblogs.com/songqingbo/ E-mail:qi ...

  3. java.lang.ClassCastException: android.widget.ImageButton异常处理

    在调程序时总是出现异常关闭的现象,log显示: 03-26 07:58:09.528: E/AndroidRuntime(398): Caused by: java.lang.ClassCastExc ...

  4. 牛客网 牛客练习赛43 F.Tachibana Kanade Loves Game-容斥(二进制枚举)+读入挂

    链接:https://ac.nowcoder.com/acm/contest/548/F来源:牛客网 Tachibana Kanade Loves Game 时间限制:C/C++ 1秒,其他语言2秒 ...

  5. CodeForces 803D Magazine Ad

    二分. 首先把字符串处理成一个数组,二分答案,判断一下即可. #include <cstdio> #include <cmath> #include <set> # ...

  6. GeneXus手机开发基础配置

    最近使用GeneXus15 U3版本做了几个手机端的项目,感觉还不错,开发速度很快,而且想要的功能也都实现了.其中有一些常用的配置和小技巧和大家分享一下. 基础环境要求 如果想开发Android程序, ...

  7. Redis学习篇(一)之String类型及其操作

    SET 作用: 设置key对应的值, 返回ok 语法: SET key value [EX seconds] [PX milliseconds] [NX] [XX] 如果key已经存在,同名会产生覆盖 ...

  8. Codeforces 1037 H. Security

    \(>Codeforces \space 1037\ H. Security<\) 题目大意 : 有一个串 \(S\) ,\(q\) 组询问,每一次给出一个询问串 \(T\) 和一个区间 ...

  9. python实现图片验证码

    1 验证基础知识1.1 Python生成随机验证码,需要使用PIL模块. # 安装 pip3 install pillow 1.2 创建图片 from PIL import Image img = I ...

  10. [bzoj1024][SCOI2009]生日快乐 (枚举)

    Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一 个边长分别为 X 和 Y 的矩形蛋糕.现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的 ...