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. git与pycharm合并,珠联璧合

    前段时间提交代码都是各种手写push push push,好蠢,今天尝试了一下ide直接提交,爽的一匹,做个总结. 首先github帐号肯定要有. 看图,设置好帐号啥的 再设置git路径,这个应该自动 ...

  2. matplotlib 练习

    官网 vamei的博客还是读了就秒懂,很妙, matplotlib核心剖析 官网翻译也不错,但缺少了 Logarithmic and other nonlinear axis对数等非线性轴  这一模块 ...

  3. oracle 子查询和组合函数

    oracle 子查询和组合函数 --查询与"SCOTT"在同一个部门的员工 select empno,ename,deptno from emp where deptno in ( ...

  4. linux网络管理----网络命令

    1 Linux网络命令之网络环境查看命令  ifconfig  2 Linux网络命令之网络测试命令  telnet 基本已经被ssh替代了,telnet是明文传递,不安全

  5. pip安装报错解决

    使用pip安装docker-compose时报 unsupported operand type(s) for -=: 'Retry' and 'int' 错误,经过一番google后,发现使用升级s ...

  6. AM335x内核模块驱动之LED

    在Ubuntu的任意可操作的文件才建立text目录 在text中建立zyr-hello.c: #include<linux/kernel.h> #include<linux/modu ...

  7. elasticsearch中ik词库配置远程热加载

    1. 修改 IKAnalyzer.cfg.xml 配置文件中的<entry key="remote_ext_dict">http://127.0.0.1/xxx.txt ...

  8. VS2015快捷键及常用功能

    写下这些快捷键的操作,并不是全部记住,记住常用的,然后其他的来查询就好了. 1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标 ...

  9. padding Oracle attack(填充Oracle攻击)

    最近学习到一种老式的漏洞,一种基于填充字节的漏洞.就想记录下来,早在2010年的blackhat大会上,就介绍了padding Oracle漏洞,并公布了ASP.NET存在该漏洞.2011年又被评选为 ...

  10. bzoj4034 树上操作

    Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中 ...