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. [实战]MVC5+EF6+MySql企业网盘实战(17)——思考2

    写在前面 今天吃饭回来,突然有一个更好的想法,这里做一下记录. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战 ...

  2. CentOS7.6安装AMD显卡驱动

    1.检查自己的显卡类型[root@localhost amdgpu-pro-18.50-708488-rhel-7.6]# lspci | grep -i vga03:00.0 VGA compati ...

  3. info.plist文件里面添加描述 -> 配置定位,相册等

    <key>NSAppleMusicUsageDescription</key> <string>App需要您的同意,才能访问媒体资料库</string> ...

  4. 解决centOS7的IP为127.0.0.1,无法用Xshll链接问题

    对于linux不熟悉的我, 安装完centOS7后好多坑,走一步卡一步,记得之前安装其他版本没这么多事.安装完后用ifconfig查看IP,竟然是127.0.0.1,这我就不知道怎么用Xshell链接 ...

  5. Android中由Handler和内部类引起的内存泄漏

    原文地址:http://johnnyshieh.github.io/android/2015/09/03/android-handler-memory-leak/ 在Android中我们经常用Hand ...

  6. HDU 6182 A Math Problem

    暴力. $k$的$k$次方在$k=15$的时候,达到了最大不爆掉的情况. #include<bits/stdc++.h> using namespace std; long long an ...

  7. BZOJ3262陌上花开(三维偏序问题(CDQ分治+树状数组))+CDQ分治基本思想

    emmmm我能怎么说呢 CDQ分治显然我没法写一篇完整的优秀的博客,因为我自己还不是很明白... 因为这玩意的思想实在是太短了: fateice如是说道: 如果说对于一道题目的离线操作,假设有n个操作 ...

  8. PlayMaker的Transition和Global Transition

    PlayMaker的Transition和Global Transition   在PlayMaker中,Transition是指从一个状态(State)过渡到另外一个状态.它由事件(Event)实现 ...

  9. [BZOJ4196][NOI2015]软件包管理器(树链剖分)

    4196: [Noi2015]软件包管理器 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 2166  Solved: 1253[Submit][Sta ...

  10. Virtual Judge SPOJ - LCS2 Longest Common Substring II

    https://vjudge.net/problem/SPOJ-LCS2 SPOJ注册看不到验证码,气到暴毙,用vjudge写的. 注意!(对拍的时候发现)这份代码没有对只有一个字符串的情况进行处理! ...