Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)
其他相关命令还包括以下这些:
NameNode -format : 格式化DFS文件系统
secondaryNameNode : 运行DFS的SecndaryNameNode进程
NameNode : 运行DFS的NameNode进程
DataNode : 运行DFS的DataNode进程
dfsadmin : 运行DFS的管理客户端
mradmin : 运行MapReduce的管理客户端
fsck : 运行HDFS的检测进程
fs : 运行一个文件系统工具
balancer : 运行一个文件系统平衡进程
jobtracker : 运行一个JobTracker进程
pipes : 运行一个Pipes任务
tasktracker : 运行一个TaskTracker进程
job:管理运行中的MapReducer任务
queue : 获得运行中的MapReduce队列的信息
version : 打印版本号
jar <jar> :运行一个JAR文件
daemonlog:读取/设置守护进程的日志记录级别
相信大家已经对这些命令中的一部分很熟悉了。
比如在命令行终端中,jar是用来运行java程序的,version命令可以查看Hadoop的当前版本,或者在安装时必须运行的NameNode -format命令。在这一小节,我们介绍的是与HDFS有关的命令,其中与HDFS相关的命令有如下几个:secondaryNameNode、NameNode、DataNode、dfsadmin、fsck、fs、balancer、distcp和archieves。
它们的统一格式如下:
bin/hadoop command [genericOptions] [commandOptions]
其中只有dfsadmin、fsck、fs具有选项genericOptions及commandOptions,其余的命令只有commandOptions。下面先介绍只有commandOptions选项的命令。
distcp。Distcp命令用于Distcp(即Dist分布式,Cp复制)分布式复制。用于在集群内部及集群之间复制数据。
archives。archives命令是Hadoop定义的档案格式。archive对应一个文件系统,它的扩展名是.har。包含元数据及数据文件。
DataNode。DataNode命令要简单一些,可以使用如下命令将Hadoop回滚到前一个版本。如下:
hadoop DataNode [-rollback]
NameNode。nameNode命令稍微复杂一些,它的用法如下:
hadoop nameNode[-format] //格式化NameNode[-upgrade] //在Hadoop升级后,应该使用这个命令启动NameNode[-rollback] //使用NameNode回滚前一个版本[-finalize] //删除文件系统的前一个状态,这会导致系统不能回滚到前一个zhua[-importCheckpoint] // 复制备份checkpoint的状态到当前checkpoint
secondaryNameNode。secondaryNameNode的命令用法如下:
hadoop secondaryNameNode[-checkpoint [force]] //当editlog超过规定大小(默认64MB),启动检查secondaryNameNode的checkpoint过程;如果启用force选项,则强制执行checkpoint过程。 [-geteditsize] //在终端上显示editlog文件的大小
balancer。balancer命令解释中所说,用于分担负载。很多原因都会造成数据在集群内分布不均衡,一般来说,当集群中添加新的DataNode时,可以使用这个命令来进行负载均衡。其用法如下:
hadoop balancer
接下来的dfsadmin、fsck、fs这三个命令有一个共同的选项genericOptions,这个选择一般与系统相关,其用法如下:
-conf <configuration> //指定配置文件-D <property=value> //指定某属性的属性值-fs <local|namenode:port> //指定DataNode及其端口
dfsadmin。在dfsadmin命令中可以执行一些类似Windows中高级用户才能执行的命令,比如升级、回滚等。其用法如下:
hadoop dfsadmin [GENERIC_OPTIONS][-report] //在终端上显示文件系统的基本信息[-safemode enter | leave | get | wait] //Hadoop的安全模式及相关维护;在安全模式中系统是只读的,数据块也不可以删除或复制[-refreshNodes] [-finalizeUpgrade] //重新读取hosts和exclude文件,将新的被允许加入到集群中的DataNode连入,同时断开与那些从集群出去的DataNode的连接。[-upgradeProgress status | details | force] //获得当前系统的升级状态、细节,或者强制执行升级过程[-metasave filename] //保存NameNode的主要数据结构到指定目录下[-setQuota <qutoa> <dirname> ... <dirname>] //为每个目录设定配额[-clrQuota <dirname> ... <dirname>] //清除这些目录的配额[-setSpaceQuota <qutoa> <dirname> ... <dirname>]//为每个目录设置配额空间[-clrSpaceQuota <dirname> ... <dirname>] //清除这些目录的配额空间[-help [cmd]] // 显示命令的帮助信息
fsck。fsck在HDFS中被用来检查系统中的不一致情况。比如某文件只有目录,但数据块已经丢失或副本数目不足。与Linux不同,这个命令只用于检测,不能进行修复。其使用方法如下:
hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]// <path> 检查的起始目录// -move 移动受损文件/lost+found// -delete 删除受损文件// -openforwrite 在终端上显示被写打开的文件// -flies 在终端上显示正被检查的文件// -blocks 在终端上显示块信息// -location 在终端上显示每个块的位置// -rack 显示DataNode的网络拓扑结构图
fs。fs可以说是HDFS最常用的命令,这是一个高度类似Linux文件系统的命令集。你可以使用这些命令查看HDFS上的目录结构文件、上传和下载文件、创建文件夹、复制文件等。其使用方法如下:
hadoop fs [genericOptions] [-ls <path>] //显示目标路径当前目录下的所有文件[-lsr <path>] //递归显示目标路径下的所有目录及文件(深度优先)[-du <path>] //以字节为单位显示目录中所有文件的大小,或该文件的大小(如果目标为文件)[-dus <path>] //以字节为单位显示目标文件大小(用于查看文件夹大小)[-count [-q] <path>] //将目录的大小、包含文件(包括文件)个数的信息输出到屏幕(标准stdout)[-mv <src> <dst>] //把文件或目录移动到目标路径,这个命令允许同时移动多个文件,如果复制多个文件,目标路径必须是文件夹[-cp <src> <dst>] //复制文件或目录到目标路径,这个命令运行同时复制多个文件,如果复制多个文件,目标路径必须是文件夹[-rm [-skipTrash] <path>] //删除文件,这个命令不能删除文件夹[-rmr [-skipTrash] <path>] //删除文件夹及其下的所有文件[-expunge][-put <localsrc> ... <dst>] //从本地文件系统上传文件到HDFS中[-copyFromLocal <localsrc> ... <dst>] //与put相同[-moveFromLocal <localsrc> ... <dst>] //与put相同,但是文件上传之后会从本地文件系统中移除[-get [-ignoreCrc] [-crc] <src> <localdst>] //复制文件到本地文件系统。这个命令可以选择是否忽视校验和,忽视校验和下载主要用于挽救那些已经发生错误的文件。[-getmerge <src> <localdst> [addn1]] //将源目录中的所有文件进行排序并写入目标文件中,文件之间以换行符分隔。[-cat <src>] //在终端显示(标准输出stdout) 文件中的内容,类似Linux系统中的Cat。[-text <src>] [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>] //与get相同[-moveToLocal [-crc] <src> <localdst>][-mkdir <path>]//创建文件夹[-setrep [-R] [-W] <rep> <path/file>] //改变一个文件的副本个数。参数-R可以递归地对该目录下的所有文件做统一操作[-touchz <path>] //类似Linux中的touch ,创建一个空文件[-test -[ezd] <path>] //将源文件输出为文本格式显示到终端上,通过这个命令可以查看TextRecordInputStream(SequenceFile等)或Zip文件。[-stat [format] <path>] //以指定格式返回路径的信息[-tail [-f] <file>] //在终端上显示(标准输出stdout)文件的最后1kb内容。-f选项的行为与Linux中一致,会持续检测新添加到文件中的内容,这在查看日志文件时会显得非常方便[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH ... ]//改变文件的权限,只有文件的所有者或是超级用户才能使用这个命令。-R可以递归地改变文件夹内的所有文件的权限 [-chown [-R] [OWNER] [:[GROUP]] PATH ...] //改变文件的拥有者,-R可以递归地改变文件夹内所有文件的拥有者。同样,这个命令只有超级用户才能使用。 [-chgrp [-R] GROUP PATH ...] //改变文件所属的组,-R可以递归地改变文件夹内所有文件所属的 [help [cmd]] // 这是命令的帮助信息
在这些命令中,参数<path>的完整格式是 hdfs://NameNodeIP:port/,比如你的NameNode地址是192.168.0.1,端口是9000。那么,如果想访问HDFS上路径为/user/root/hello的文件,则需要输入的地址是hdfs://192.168.0.1:9000/user/root/hello。在Hadoop中,如果参数<path>没有NameNodeIP,那么会默认按照core-site.xml中属性fs.default.name的设置,附加"/user/你的用户名"作为路径,这是为了方便使用以及对不同用户进行区分。
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5143531.html,如需转载请自行联系原作者
Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)相关推荐
- Hadoop HDFS概念学习系列之两个和HDFS读写操作最为密切的Hadoop包(二十)
是org.apache.hadoop.fs和org.apache.hadoop.conf. fs包主要是文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口: conf用于读conf包,就 ...
- Hadoop HDFS概念学习系列之熟练掌握HDFS的Shell访问(十五)
调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs *** 的形式!!! 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme:/ ...
- Hadoop HDFS概念学习系列之HDFS升级和回滚机制(十二)
不多说,直接上干货! HDFS升级和回滚机制 作为一个大型的分布式系统,Hadoop内部实现了一套升级机制,当在一个集群上升级Hadoop时,像其他的软件升级一样,可能会有新的bug或一些会影响现有应 ...
- Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)(十八)...
把MySQL里的数据导入到HDFS 1.使用MySQL工具手工导入 把MySQL的导出数据导入到HDFS的最简单方法就是,使用命令行工具和MySQL语句. 为了导出整个数据表或整个数据库的内容,MyS ...
- Hadoop HBase概念学习系列之hbase shell中执行java方法(高手必备)(二十五)
hbase shell中执行java方法(高手必备),务必掌握! 1. 2. 3. 4. 更多命令,见scan help.在实际工作中,多用这个!!! API参考: http://hbase.apac ...
- Hadoop HBase概念学习系列之HBase的Shell(步骤非常清晰)(二十四)
这部分知识点,是必须要熟练玩转的! 见 5 hbase-shell + hbase的java api 的进入HBase Shell 强烈建议,先看我上面的这篇博文,是实实际际的步骤. 另外,附上一 ...
- Hadoop Hive概念学习系列之hive的数据压缩(七)
Hive文件存储格式包括以下几类: 1.TEXTFILE 2.SEQUENCEFILE 3.RCFILE 4.ORCFILE 其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直 ...
- Hadoop HBase概念学习系列之HRegion服务器(三)
所有的数据库数据一般是保存在Hadoop分布式系统上面的,用户通过一系列HRegion服务器获取这些数据.一台机器上一般只运行一个HRegion服务器,而且每一分区段的HRegion也只会被一个HRe ...
- Hadoop Hive概念学习系列之hive里的HiveQL——查询语言(十五)
Hive的操作与传统关系型数据库SQL操作十分类似. Hive主要支持以下几类操作: DDL 1.DDL:数据定义语句,包括CREATE.ALTER.SHOW.DESCRIBE.DROP等. 详细点, ...
最新文章
- mac 安装淘宝镜像报错之坑
- 使用selenium和pyquery爬取京东商品列表
- Mysql 8 密码策略之组件方式及ERROR 1819
- 尺度空间(Scale space)理论
- php 访问第三方接口吗,PHP-----------HTTP请求的第三方接口
- 注解 @CrossOrigin
- 为什么颜值越来越重要_水质采样器为什么越来越重要
- mysql自增长id为null_主键设为自增字段了, 在添加数据时经常报null id是怎么回事?...
- linux学习杂记_socket编程(含select)
- conda清华源安装pytorch依旧慢踩坑
- POJ-2152 Fire (树形DP)
- 在Git中更改文件名的大小写
- 三极管特性——截止区、放大区、饱和区
- PROFINET IO设备的GSD文件简介
- ksoftirqid进程CPU100%排查
- vscode开发vue项目页面修改保存时不自动编译的问题解决办法
- react中使用macy插件实现瀑布流布局
- 小程序发送通知-可重复多次发送
- android获取系统蓝牙版本,[Android O] 蓝牙设备默认名称获取
- 位列第五大生产要素,大数据该如何突破隐私安全魔咒?
热门文章
- android 解决listview.notifyDataSetChanged刷新时Imageloader加载图片闪烁问题
- 数据结构:二叉树(BinaryTree)原理及其java实现
- jQuery的基本语法,选择器,DOM操作
- python_atp框架
- leetcode28. 实现strStr()
- 每天一个Linux命令之date
- hibernate5.2.10.Final基本配置
- 小幽默也有大道理:哲理幽默15则
- 用GDI+转BMP为WMF、EXIF、EMF格式
- Vue 添加外部的时间插件不触发v-model事件更改数据