一、前述

分享一篇hadoop的常用命令的总结,将常用的Hadoop命令总结如下。

二、具体

1、启动hadoop所有进程
start-all.sh等价于start-dfs.sh + start-yarn.sh

但是一般不推荐使用start-all.sh(因为开源框架中内部命令启动有很多问题)。

2、单进程启动。

sbin/start-dfs.sh

---------------

    sbin/hadoop-daemons.sh --config .. --hostname .. start namenode ...
    sbin/hadoop-daemons.sh --config .. --hostname .. start datanode ...
    sbin/hadoop-daemons.sh --config .. --hostname .. start sescondarynamenode ...
    sbin/hadoop-daemons.sh --config .. --hostname .. start zkfc ...         //

sbin/start-yarn.sh
--------------  
    libexec/yarn-config.sh
    sbin/yarn-daemon.sh --config $YARN_CONF_DIR  start resourcemanager
    sbin/yarn-daemons.sh  --config $YARN_CONF_DIR  start nodemanager

3、常用命令

  1、查看指定目录下内容

hdfs dfs –ls [文件目录]

hdfs dfs -ls -R   /                   //显式目录结构

eg: hdfs dfs –ls /user/wangkai.pt

  2、打开某个已存在文件

hdfs dfs –cat [file_path]

eg:hdfs dfs -cat /user/wangkai.pt/data.txt

  3、将本地文件存储至hadoop

hdfs dfs –put [本地地址] [hadoop目录]

hdfs dfs –put /home/t/file.txt  /user/t  

  4、将本地文件夹存储至hadoop

hdfs dfs –put [本地目录] [hadoop目录]
    hdfs dfs –put /home/t/dir_name /user/t

(dir_name是文件夹名)

  5、将hadoop上某个文件down至本地已有目录下

hadoop dfs -get [文件目录] [本地目录]

   hadoop dfs –get /user/t/ok.txt /home/t

  6、删除hadoop上指定文件

hdfs  dfs –rm [文件地址]

   hdfs dfs –rm /user/t/ok.txt

7、删除hadoop上指定文件夹(包含子目录等)

hdfs dfs –rm [目录地址]

    hdfs dfs –rmr /user/t

  8、在hadoop指定目录内创建新目录

hdfs dfs –mkdir /user/t

hdfs  dfs -mkdir - p /user/centos/hadoop

  9、在hadoop指定目录下新建一个空文件

使用touchz命令:

hdfs dfs  -touchz  /user/new.txt

  10、将hadoop上某个文件重命名

使用mv命令:

  hdfs dfs –mv  /user/test.txt  /user/ok.txt   (将test.txt重命名为ok.txt)

11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hdfs dfs –getmerge /user /home/t

12、将正在运行的hadoop作业kill掉

hadoop job –kill  [job-id]

13.查看帮助

  hdfs dfs -help        

4、安全模式

  (1)退出安全模式

NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何修改。

系统显示Name node in safe mode,说明系统正处于安全模式,这时只需要等待十几秒即可,也可通过下面的命令退出安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode leave

  (2) 进入安全模式
    在必要情况下,可以通过以下命令把HDFS置于安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode enter

5、节点添加

添加一个新的DataNode节点,先在新加节点上安装好Hadoop,要和NameNode使用相同的配置(可以直接从NameNode复制),修改$HADOOP_HOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接,运行启动命令为:/usr/local/hadoop$bin/start-all.sh

6、负载均衡

HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀。用户可以使用命令重新平衡DataNode上的数据块的分布:/usr/local/hadoop$bin/start-balancer.sh

7、补充

1.对hdfs操作的命令格式是hdfs dfs  
1.1 -ls 表示对hdfs下一级目录的查看
1.2 -lsr 表示对hdfs目录的递归查看
1.3 -mkdir 创建目录
1.4 -put 从Linux上传文件到hdfs
1.5 -get 从hdfs下载文件到linux
1.6 -text 查看文件内容
1.7 -rm 表示删除文件
1.7 -rmr 表示递归删除文件
2.hdfs在对数据存储进行block划分时,如果文件大小超过block,那么按照block大小进行划分;不如block size的,划分为一个块,是实际数据大小。
*****PermissionDenyException  权限不足**********  
hadoop常用命令:  
hdfs dfs  查看Hadoop HDFS支持的所有命令   
hdfs dfs –ls  列出目录及文件信息   
hdfs dfs –lsr  循环列出目录、子目录及文件信息   
hdfs dfs –put test.txt /user/sunlightcs  将本地文件系统的test.txt复制到HDFS文件系统的/user/sunlightcs目录下   
hdfs dfs –get /user/sunlightcs/test.txt .  将HDFS中的test.txt复制到本地文件系统中,与-put命令相反   
hdfs dfs –cat /user/sunlightcs/test.txt  查看HDFS文件系统里test.txt的内容   
hdfs dfs –tail /user/sunlightcs/test.txt  查看最后1KB的内容   
hdfs dfs –rm /user/sunlightcs/test.txt  从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录   
hdfs dfs –rmr /user/sunlightcs  删除/user/sunlightcs目录以及所有子目录   
hdfs dfs –copyFromLocal test.txt /user/sunlightcs/test.txt  从本地文件系统复制文件到HDFS文件系统,等同于put命令   
hdfs dfs –copyToLocal /user/sunlightcs/test.txt test.txt  从HDFS文件系统复制文件到本地文件系统,等同于get命令   
hdfs dfs –chgrp [-R] /user/sunlightcs  修改HDFS系统中/user/sunlightcs目录所属群组,选项-R递归执行,跟linux命令一样   
hdfs dfs –chown [-R] /user/sunlightcs  修改HDFS系统中/user/sunlightcs目录拥有者,选项-R递归执行   
hdfs dfs –chmod [-R] MODE /user/sunlightcs  修改HDFS系统中/user/sunlightcs目录权限,MODE可以为相应权限的3位数或+/-{rwx},选项-R递归执行
hdfs dfs –count [-q] PATH  查看PATH目录下,子目录数、文件数、文件大小、文件名/目录名   
hdfs dfs –cp SRC [SRC …] DST       将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录   
hdfs dfs –du PATH  显示该目录中每个文件或目录的大小   
hdfs dfs –dus PATH  类似于du,PATH为目录时,会显示该目录的总大小   
hdfs dfs –expunge  清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除   
hdfs dfs –getmerge SRC [SRC …] LOCALDST [addnl]      获取由SRC指定的所有文件,将它们合并为单个文件,并写入本地文件系统中的LOCALDST,选项addnl将在每个文件的末尾处加上一个换行符   
hdfs dfs –touchz PATH   创建长度为0的空文件   
hdfs dfs –test –[ezd] PATH     对PATH进行如下类型的检查:  -e PATH是否存在,如果PATH存在,返回0,否则返回1  -z 文件是否为空,如果长度为0,返回0,否则返回1  -d 是否为目录,如果PATH为目录,返回0,否则返回1   
hdfs dfs –text PATH  显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式)时,会先解压缩    hdfs dfs –help ls  查看某个[ls]命令的帮助文档



【Hadoop篇】--Hadoop常用命令总结的更多相关文章

  1. Hadoop生态圈-hbase常用命令

    Hadoop生态圈-hbase常用命令 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  2. linux学习:【第2篇】常用命令

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第2篇]常用命令 基本命令 //打开终端: CentOS:在任何地方,右键-- ...

  3. [b0002] Hadoop HDFS cmd常用命令练手

    目的: 学会HDFS CLI 常用操作 环境: Hadoop 2.6.4 伪分布式版 环境搭建参考本博客前篇文章: 伪分布式 hadoop 2.6.4 帮助: hadoop@ssmaster:~$ h ...

  4. Hadoop文件操作常用命令

    1.创建目录 #hdfs dfs -mkidr /test 2.查询目录结构 #hdfs dfs -ls / 子命令 -R递归查看//查看具体的某个目录:例如#hdfs dfs -ls /test 3 ...

  5. Hadoop生态圈-Kafka常用命令总结

    Hadoop生态圈-Kafka常用命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.管理Kafka服务的命令 1>.开启kafka服务 [yinzhengjie@s ...

  6. hadoop之linux常用命令

    Linux的命令后面会有命令选项,有的选项还有选项值.选项的前面有短横线“-”,命令.选项.选项值之间使用空格隔开.有的命令没有选项,会有参数.选项是命令内置的功能,参数是用户提供的符合命令格式的内容 ...

  7. Hadoop学习之常用命令

    HADOOP基本操作命令 在这篇文章中,我们默认认为Hadoop环境已经由运维人员配置好直接可以使用. 假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop. 启动与 ...

  8. Hadoop HDFS的常用命令

    1.将目录/root/data/下的item.txt复制到HDFS下的/user/root下: hadoop fs -copyFromLocal /root/data/item.txt itemdat ...

  9. [adb 学习篇] adb常用命令

    https://testerhome.com/topics/2565 Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb ...

  10. Linux常用命令-解压缩篇

    前言 Linux常用命令中,有很多用于对文件的压缩或解压,本文将介绍这些解压缩命令中不常见却非常实用的用法. tar tar是linux中最常用的解压缩命令.tar命令可用于处理后缀名为tar,tar ...

随机推荐

  1. 你不知道的JavaScript--Item5 全局变量

    1.尽量少用全局对象 全局变量的问题在于,你的JavaScript应用程序和web页面上的所有代码都共享了这些全局变量,他们住在同一个全局命名空间,所以当程序的两个不同部分定义同名但不同作用的全局变量 ...

  2. 8. 使用ueditor添加文章

    ueditor是一个很好用的html编辑器,不仅提供了格式化编辑文本的功能,还提供了自动上传图片的功能,现在就使用该编辑器来实现博客文章的编辑功能.1. 使用ueditor过程中会请求一个后台js文件 ...

  3. python中RabbitMQ的使用(安装和简单教程)

    1,简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从"生产者"接收消息 ...

  4. python高级编程1

    1.如何在列表,字典,集合中根据条件筛选数据? 如: 过滤列表[3, 9, -1, 10, 20, -2...]中的负数 筛出字典{‘小明’:70, 'Jim':88,'Tom':98...}中值高于 ...

  5. 【bzoj2432】【NOI2011】兔农

    题目描述 农夫栋栋近年收入不景气,正在他发愁如何能多赚点钱时,他听到隔壁的小 朋友在讨论兔子繁殖的问题. 问题是这样的:第一个月初有一对刚出生的小兔子,经过两个月长大后,这 对兔子从第三个月开始,每个 ...

  6. 为什么说JAVA中要慎重使用继承

    JAVA中使用到继承就会有两个无法回避的缺点: 打破了封装性,迫使开发者去了解超类的实现细节,子类和超类耦合. 超类更新后可能会导致错误. 继承打破了封装性 关于这一点,下面是一个详细的例子(来源于E ...

  7. Ubuntu 16.04 为 root 帐号开启 SSH 登录

    1.先用普通账号登录 2.安装 open ssh: sudo apt-get install openssh-server 3.修改密码: sudo passwd root 4.切换到root账户 s ...

  8. matplotlib解决中文乱码

    调试以前写的matplotlib相关脚本,中文呈方块样:重新解决一遍,感觉比以前的理解更进一步,故而记下一笔: 1. 首先要为matplotlib添加中文字体库: 系统字体库在/usr/share/f ...

  9. .NET高性能编程 - C#如何安全、高效地玩转任何种类的内存之Span的本质(一)。

    前言 作为.net程序员,使用过指针,写过不安全代码吗? 为什么要使用指针,什么时候需要使用它,以及如何安全.高效地使用它? 如果能很好地回答这几个问题,那么就能很好地理解今天了主题了.C#构建了一个 ...

  10. 认识容器和Docker(一)

    前言: 这句话应该是开发人员经常挂在嘴边的吧! “在我的机器上是正常工作的啊,MD,怎么到你这就不行了?” 开发人员就会联想到: 1. 肯定是你环境有问题: 2. 要么就是你个傻*不会用吧: 带着这句 ...