精华内容
下载资源
问答
  • HDFS常用命令

    万次阅读 多人点赞 2019-04-10 09:35:07
    本文说明 1).[ ]中的选项为可选项,&...本文为避免掉书袋,仅列常用命令,对于不常用的命令,如有需要,可通过帮助命令了解。 4).在2.7.3版本中,hdfs的操作命令开头一律为hdfs dfs,hadoop dfs为过时命令。 5).如...

    本文说明

    1).[ ]中的选项为可选项,< >中的参数为必选项,参数后跟的…表示操作多个此类型参数
    2).本文所列命令在hadoop2.7.3上验证,适合于绝大多数hadoop版本。
    3).本文为避免掉书袋,仅列常用命令,对于不常用的命令,如有需要,可通过帮助命令了解。
    4).在2.7.3版本中,hdfs的操作命令开头一律为hdfs dfs,hadoop dfs为过时命令。
    5).如果dfs.permissions.enabled选项为true,则要切换到hdfs专属用户(默认为hdfs用户)才能正确访问hdfs数据。

    1.帮助命令

    一切命令都从帮助开始,命令是记不完的,只有学会使用帮助,才能免却记忆的痛苦。
    hdfs dfs -help

    2.查看命令

    列出文件系统目录下的目录和文件

    # -h 以更友好的方式列出,主要针对文件大小显示成相应单位K、M、G等
    # -r 递归列出,类似于linux中的tree命令
    hdfs dfs -ls [-h] [-r] <path>
    

    查看文件内容

    hdfs dfs -cat <hdfsfile>

    查看文件末尾的1KB数据

    hdfs dfs -tail [-f] <hdfsfile>

    3.创建命令

    新建目录

    hdfs dfs -mkdir <path>

    创建多级目录

    hdfs dfs -mkdir -p <path>

    新建一个空文件

    # linux下是touchz,不知道为什么在hdfs要加个z?
    hdfs dfs -touchz <filename>
    

    上传本地文件到hdfs

    # -f 如果hdfs上已经存在要上传的文件,则覆盖
    hdfs dfs -put [-f]  <local src> ...  <hdfs dst>
    

    举例:将/usr/local/hadoop-2.7.3/etc/hadoop下的所有配置文件都上传到hdfs的/hadoop目录

    hdfs dfs -mkdir /config
    hdfs dfs -put /usr/local/hadoop-2.7.3/etc/hadoop /config
    

    4.删除命令

    删除文件或目录,

    # -r 递归删除目录下的所有文件
    # -f为直接删除,不予提示
    # -skipTrash为彻底放入文件,不放入回收站
    hdfs dfs -rm [-r] [-f] [-skipTrash] <hdfs path>
    

    5.获取命令

    将hdfs文件下载到本地

    hdfs dfs -get < hdfs path> < localpath>
    举例:将hdfs的/config目录下载到本地的/config目录下
    hdfs dfs -get /config /config

    将hdfs文件合并起来下载到本地

    hdfs hdfs -getmerge [-nl] <hdfs path> <localdst>
    举例:将hdfs的/config/hadoop目录下的所有文件合并下载到本地的config.txt中
    hdfs dfs -getmerge /config/hadoop config.txt

    6.其他hdfs文件操作命令

    拷贝:hdfs dfs -cp [-r] < hdfs path >  < hdfs path1 >
    移动:hdfs dfs -mv < hdfs path >  < hdfs path1 >
    统计目录下的对象数:hdfs dfs -count < hdfs path >
    统计目录下的对象大小:hdfs dfs -du [-s] [-h] < hdfs path >
    修改hdfs文件权限
    修改所属组[-chgrp [-R] GROUP PATH...] 
    修改权限模式[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
    修改所需组和所有者[-chown [-R] [OWNER][:[GROUP]] PATH...] 
    

    7.hdfs管理命令

    显示帮助

    hdfs dfsadmin -help

    查看文件系统健康状态

    显示hdfs的容量、数据块和数据节点的信息
    hdfs dfsadmin -report

    安全模式管理

    安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。当hdfs进入安全模式时不允许客户端进行任何修改文件的操作,包括上传文件,删除文件,重命名,创建文件夹等操作。
    当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。假设我们设置的副本数(即参数dfs.replication)是5,那么在datanode上就应该有5个副本存在,假设只存在3个副本,那么比例就是3/5=0.6。通过配置dfs.safemode.threshold.pct定义最小的副本率,默认为0.999。

    1)查看安全模式状态
    hdfs dfsadmin -safemode get
    2)强制进入安全模式
    hdfs dfsadmin -safemode enter
    3)强制离开安全模式
    hdfs dfsadmin -safemode leave

    展开全文
  • hdfs常用命令

    千次阅读 2019-06-21 17:12:33
    hdfs文件的相关操作主要使用hadoop fs、hadoop dfs、hdfs dfs 命令,以下对最常用的相关命令进行简要说明。 hadoop fs -ls 显示当前目录结构,-ls -R 递归显示目录结构 hadoop fs -mkdir 创建目录 hadoop fs -rm ...

    hdfs文件的相关操作主要使用hadoop fs、hadoop dfs、hdfs dfs 命令,以下对最常用的相关命令进行简要说明。
    hadoop fs -ls  显示当前目录结构,-ls -R 递归显示目录结构
    hadoop fs -mkdir  创建目录
    hadoop fs -rm   删除文件,-rm -R 递归删除目录和文件
    hadoop fs -put  [localsrc] [dst]  从本地加载文件到HDFS
    hadoop fs -get  [dst] [localsrc]  从HDFS导出文件到本地
    hadoop fs - copyFromLocal [localsrc] [dst]  从本地加载文件到HDFS,与put一致
    hadoop fs -copyToLocal [dst] [localsrc]  从HDFS导出文件到本地,与get一致
    hadoop fs -test -e  检测目录和文件是否存在,存在返回值$?为0,不存在返回1
    hadoop fs -text  查看文件内容
    hadoop fs -du  统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位
    hadoop fs -tail  显示文件末尾
    hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录

    hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录
     

     

    8,hadoop fs -test -e  检测目录和文件是否存在,存在返回值$?为0,不存在返回1

    9,hadoop fs -text  查看文件内容


    10,hadoop fs -du  统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位


    11,hadoop fs -tail  显示文件末尾


    12,hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录

    13,hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录

     

     

    在hadoop2.7.4(hadoop2.X)中通过hdfs管理界面查看/tmp目录出现如下错误:

    Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":hadoop:supergroup:drwx------

        先开始一直纠结我是用hadoop用户登录操作的,为什么会是dr.who,dr.who其实是hadoop中http访问的静态用户名,并没有啥特殊含义,可以在core-default.xml中看到其配置,

    hadoop.http.staticuser.user=dr.who

    我们可以通过修改core-site.xml,配置为当前用户,

        <property>
            <name>hadoop.http.staticuser.user</name>
            <value>hadoop</value>
        </property>

    另外,通过查看hdfs的默认配置hdfs-default.xml发现hdfs默认是开启权限检查的。

    dfs.permissions.enabled=true #是否在HDFS中开启权限检查,默认为true

        由于当前用户权限不足,所以无法操作/tmp目录。

    解决方案:

        解决方案有两种,一是直接修改/tmp目录的权限设置,操作如下,

    [hadoop@server hadoop-2.7.4]$ /bin/hdfs dfs -chmod -R 755 /tmp

       然后就可以正常访问/tmp目录下的文件了。

      

        另一种是直接hdfs的权限配置,

        <property>
            <name>dfs.permissions.enabled</name>
            <value>false</value>
        </property>

        第二种方案可以在测试环境下使用,生产环境不建议这样设置。

     

     

    展开全文
  • HDFS 常用命令

    2019-02-25 19:32:00
    第一部分:hdfs文件系统命令 第一类:文件路径增删改查系列: hdfs dfs -mkdir dir 创建文件夹 hdfs dfs -rmr dir 删除文件夹dir hdfs dfs -ls 查看目录文件信息 hdfs dfs -lsr 递归查看文件目录信息 hdfs dfs ...

    第一部分:hdfs文件系统命令

    第一类:文件路径增删改查系列:

    hdfs dfs -mkdir dir  创建文件夹

    hdfs dfs -rmr dir  删除文件夹dir

    hdfs dfs -ls  查看目录文件信息

    hdfs dfs -lsr  递归查看文件目录信息

    hdfs dfs -stat path 返回指定路径的信息

    第二类:空间大小查看系列命令:

    hdfs dfs -du -h dir 按照适合阅读的形式人性化显示文件大小

    hdfs dfs -dus uri  递归显示目标文件的大小

    hdfs dfs -du path/file显示目标文件file的大小

    第三类:权限管理类:

    hdfs dfs -chgrp  group path  改变文件所属组

    hdfs dfs -chgrp -R /dir  递归更改dir目录的所属组

    hdfs dfs -chmod [-R] 权限 -path  改变文件的权限

    hdfs dfs -chown owner[-group] /dir 改变文件的所有者

    hdfs dfs -chown -R  owner[-group] /dir  递归更改dir目录的所属用户

    第四类:文件操作(上传下载复制)系列:

    hdfs dfs -touch a.txt 创建长度为0的空文件a.txt

    hdfs dfs -rm file   删除文件file

    hdfs dfs -put file dir  向dir文件上传file文件

    hdfs dfs -put filea dir/fileb 向dir上传文件filea并且把filea改名为fileb

    hdfs dfs -get file dir  下载file到本地文件夹

    hdfs dfs -getmerge hdfs://Master:9000/data/SogouResult.txt CombinedResult  把hdfs里面的多个文件合并成一个文件,合并后文件位于本地系统

    hdfs dfs -cat file   查看文件file

    hdfs fs -text /dir/a.txt  如果文件是文本格式,相当于cat,如果文件是压缩格式,则会先解压,再查看

    hdfs fs -tail /dir/a.txt查看dir目录下面a.txt文件的最后1000字节

    hdfs dfs -copyFromLocal localsrc path 从本地复制文件

    hdfs dfs -copyToLocal /hdfs/a.txt /local/a.txt  从hdfs拷贝到本地

    hdfs dfs -copyFromLocal /dir/source /dir/target  把文件从原路径拷贝到目标路径

    hdfs dfs -mv /path/a.txt /path/b.txt 把文件从a目录移动到b目录,可用于回收站恢复文件

    第五类:判断系列:

    (1)hdfs fs -test -e /dir/a.txt 判断文件是否存在,正0负1

    hadoop fs -test -e /hdfs_dir
    if [ $? -ne 0 ]; then
        echo "Directory not exists!"
    fi
    hadoop fs -test -e 用于判断HDFS目录/文件是否存在,下一步检测该命令的返回值,以确定其判断结果。

    (2)hdfs fs -test -d /dir  判断dir是否为目录,正0负1

    (3)hdfs fs -test -z /dir/a.txt  判断文件是否为空,正0负1

     

    第六类:系统功能管理类:

    hdfs dfs -expunge 清空回收站

    hdfs dfsadmin -safemode enter 进入安全模式

    hdfs dfsadmin -sfaemode leave 离开安全模式

    hdfs dfsadmin -decommission datanodename 关闭某个datanode节点

    hdfs dfsadmin -finalizeUpgrade 终结升级操作

    hdfs dfsadmin -upgradeProcess status 查看升级操作状态

    hdfs version 查看hdfs版本

    hdfs daemonlog -getlevel <host:port> <name>  打印运行在<host:port>的守护进程的日志级别

    hdfs daemonlog -setlevel <host:port> <name> <level>  设置运行在<host:port>的守护进程的日志级别

    hdfs dfs -setrep -w 副本数 -R path 设置文件的副本数

    第二部分:运维命令

    start-dfs.sh   启动namenode,datanode,启动文件系统

    stop-dfs.sh   关闭文件系统

    start-yarn.sh  启动resourcemanager,nodemanager

    stop-yarn.sh  关闭resourcemanager,nodemanager

    start-all.sh    启动hdfs,yarn

    stop-all.sh    关闭hdfs,yarn

    hdfs-daemon.sh start datanode  单独启动datanode

    start-balancer.sh -t 10% 启动负载均衡,尽量不要在namenode节点使用

    hdfs namenode -format  格式化文件系统

    hdfs namenode -upgrade  分发新的hdfs版本之后,namenode应以upgrade选项启动

    hdfs namenode -rollback  将namenode回滚到前一版本,这个选项要在停止集群,分发老的hdfs版本之后执行

    hdfs namenode -finalize  finalize会删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再不可用,升级终结操作之后,它会停掉namenode,分发老的hdfs版本后使用

    hdfs namenode importCheckpoint 从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定

     

    第三部分:mapreduce命令

    hdfs jar file.jar 执行jar包程序

    hdfs job -kill job_201005310937_0053  杀死正在执行的jar包程序

    hdfs job -submit <job-file>  提交作业

    hdfs job -status <job-id>   打印map和reduce完成百分比和所有计数器。

    hdfs job -counter <job-id> <group-name> <counter-name>  打印计数器的值。

    hdfs job -kill <job-id>  杀死指定作业。

    hdfs job -events <job-id> <from-event-#> <#-of-events> 打印给定范围内jobtracker接收到的事件细节。

    hdfs job -history [all] <jobOutputDir>     

    hdfs job -history <jobOutputDir> 打印作业的细节、失败及被杀死原因的细节。更多的关于一个作业的细节比如成功的任务,做过的任务尝试等信息可以通过指定[all]选项查看。

    hdfs job -list [all]  显示所有作业。-list只显示将要完成的作业。

    hdfs job -kill -task <task-id>   杀死任务。被杀死的任务不会不利于失败尝试。

    hdfs job -fail -task <task-id>   使任务失败。被失败的任务会对失败尝试不利。

     

    第四部分:hdfs系统检查工具fsck

    hdfs fsck <path> -move    移动受损文件到/lost+found

    hdfs fsck <path> -delete   删除受损文件。

    hdfs fsck <path> -openforwrite   打印出写打开的文件。

    hdfs fsck <path> -files     打印出正被检查的文件。

    hdfs fsck <path> -blocks     打印出块信息报告。

    hdfs fsck <path> -locations     打印出每个块的位置信息。

    hdfs fsck <path> -racks    打印出data-node的网络拓扑结构。

     

    第五部分:运行pipies作业

    hdfs pipes -conf <path> 作业的配置

    hdfs pipes -jobconf <key=value>, <key=value>, ...  增加/覆盖作业的配置项

    hdfs pipes -input <path>  输入目录

    hdfs pipes -output <path> 输出目录

    hdfs pipes -jar <jar file> Jar文件名

    hdfs pipes -inputformat <class> InputFormat类

    hdfs pipes -map <class> Java Map类

    hdfs pipes -partitioner <class> Java Partitioner

    hdfs pipes -reduce <class> Java Reduce类

    hdfs pipes -writer <class> Java RecordWriter

    hdfs pipes -program <executable> 可执行程序的URI

    hdfs pipes -reduces <num> reduce个数

    展开全文
  • HDFS常用命令参数介绍

    2019-03-24 09:53:43
    常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注:这些参数中,所有的hdfs路径都可以简写 –>hadoop fs -ls / 等同于上一条...

    常用命令参数介绍
    -help
    功能:输出这个命令参数手册
    -ls
    功能:显示目录信息
    示例: hadoop fs -ls hdfs://hadoop-server01:9000/
    备注:这些参数中,所有的hdfs路径都可以简写
    –>hadoop fs -ls / 等同于上一条命令的效果

    -mkdir
    功能:在hdfs上创建目录
    示例:hadoop fs -mkdir -p /aaa/bbb/cc/dd
    -moveFromLocal
    功能:从本地剪切粘贴到hdfs
    示例:hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd

    -moveToLocal
    功能:从hdfs剪切粘贴到本地
    示例:hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt

    appendToFile
    功能:追加一个文件到已经存在的文件末尾
    示例:hadoop fs -appendToFile ./hello.txt hdfs://hadoop-server01:9000/hello.txt
    可以简写为:
    Hadoop fs -appendToFile ./hello.txt /hello.txt

    -cat
    功能:显示文件内容
    示例:hadoop fs -cat /hello.txt

    -tail
    功能:显示一个文件的末尾
    示例:hadoop fs -tail /weblog/access_log.1

    -text
    功能:以字符形式打印一个文件的内容
    示例:hadoop fs -text /weblog/access_log.1

    -chgrp
    -chmod
    -chown
    功能:linux文件系统中的用法一样,对文件所属权限
    示例:
    hadoop fs -chmod 666 /hello.txt
    hadoop fs -chown someuser:somegrp /hello.txt

    -copyFromLocal
    功能:从本地文件系统中拷贝文件到hdfs路径去
    示例:hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/

    -copyToLocal
    功能:从hdfs拷贝到本地
    示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz

    -cp
    功能:从hdfs的一个路径拷贝hdfs的另一个路径
    示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2

    -mv
    功能:在hdfs目录中移动文件
    示例: hadoop fs -mv /aaa/jdk.tar.gz /

    -get
    功能:等同于copyToLocal,就是从hdfs下载文件到本地
    示例:hadoop fs -get /aaa/jdk.tar.gz

    -getmerge
    功能:合并下载多个文件
    示例:比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,…
    hadoop fs -getmerge /aaa/log.* ./log.sum

    -put
    功能:等同于copyFromLocal
    示例:hadoop fs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2

    -rm
    功能:删除文件或文件夹
    示例:hadoop fs -rm -r /aaa/bbb/

    -rmdir
    功能:删除空目录
    示例:hadoop fs -rmdir /aaa/bbb/ccc

    -df
    功能:统计文件系统的可用空间信息
    示例:hadoop fs -df -h /

    -du
    功能:统计文件夹的大小信息
    示例:
    hadoop fs -du -s -h /aaa/*

    -count
    功能:统计一个指定目录下的文件节点数量
    示例:hadoop fs -count /aaa/

    -setrep
    功能:设置hdfs中文件的副本数量
    示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz
    <这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量>
    在这里插入图片描述

    展开全文
  • HDFS Shell包含类似Shell的命令,示例如下: hadoop fs <args> hadoop dfs <args> hdfs dfs <args> 上述命令中,“hadoop fs”是使用面最广,可以操作任何文件系统,如本地系统、HDFS等,...
  • Hdfs 常用命令 在命令行下上传文件 客户端 cd /usr/apps/hadoop/hadoop-2.8.5/bin/ 若在/etc/profile中配置了hadoop的环境变量执行下面的就不需要带./ 执行 ./hadoop fs -ls / 上传 hadoop fs -put profile(哪里的...
  • HDFS常用命令整理

    2020-04-11 16:30:35
    HDFS 文件系统提供了相当多的shell 操作命令,大大方便了程序员和系统管理人员查看、修改HDFS 上的文件。进一步,HDFS 的操作命令和Unix/Linux 的命令名称和格式相当一致,因而学习HDFS 命令的成本也大为缩小。 一....
  • hdfs常用命令参数

    2018-10-14 22:33:18
    功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注:这些参数中,所有的hdfs路径都可以简写 --&gt;hadoop fs -ls / 等同于上一条命令的效果 -...
  • HDFS常用命令hdfs dfs

    千次阅读 2019-08-08 16:33:40
    1.hdfs dfs、hadoop fs、hadoop dfs三个命令的区别 在介绍命令之前,首先要知道hdfs dfs、hadoop fs、hadoop dfs三个命令的区别。 hadoop fs:通用的文件系统命令,针对任何系统,比如本地文件、HDFS文件、HFTP...
  • 常用命令 -ls 查看hdfs上目录,如 hdfs dfs -ls / -put 将本地文件上传到hdfs,如hdfs dfs -put 本地文件路径 hdfs路径 -get 将hdfs文件下载到本地,如 hdfs dfs -get hdfs文件路径 本地文件路径 -mkdir 在hdfs ...
  • Hadoop Hdfs常用命令

    万次阅读 多人点赞 2016-11-19 09:38:58
    Hadoop Hdfs常用命令   概述  本文档介绍Hadoop hdfs系统的一些常用命令。  操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。(hadoop dfs命令已不再建议使用)   参考: ...
  • HDFS常用命令总结

    2020-04-08 15:06:00
    HDFS常用命令总结1. hdfs命令风格1.1 常用命令1.2 总结2. hdfs与getconf结合使用3. hdfs与dfsadmin结合使用4. hdfs与fsck结合使用5. 其他命令 1. hdfs命令风格 HDFS命令有两种风格: hadoop fs开头的 ​ hdfs dfs...
  • 一、HDFS相关常用总结 1、HDFS文件块 默认是128M 寻址时间:就是指的查找到目标block的时间 寻址时间最佳为传输时间的1% 目前磁盘的传输速率普遍为100M/s ...3.常用命令实操 (0)启动Hadoop集群(方便后续的
  • HDFS 常用命令使用教程,10分钟入门!
  • hdfs常用命令参数介绍

    2018-05-14 20:50:49
    hdfs常用命令参数介绍-help 功能:输出这个命令参数手册-ls 功能:显示目录信息示例: hadoop fs -ls hdfs://hadoop-server01:9000/备注:这些参数中,所有的hdfs路径都可以简写--&gt;hadoop fs -ls / 等同于上...
  • Hdfs常用命令

    2019-07-03 20:36:52
    1、列出HDFS下的所有文件 hdfs dfs -ls 例如,查看ptc-growth文件夹下的所有文件 hdfs dfs -ls /user/ptc-growth 2、查看某一文件的内容 hdfs dfs -text 例如: hdfs dfs -text /user/ptc-growth/platc-wx-...
  • HDFS 常用命令操作 查寻NameNode的状态 是active 还是 standby 下面命令行nn1是一个NameNode 节点 hdfs haadmin -getServiceState nn1 查看HDFS的基本统计信息 hadoop dfsadmin -report 查看...
  • HDFS常用Shell命令

    2021-01-07 09:35:42
    本篇文章只是简单阐述一下HDFS中常用命令, 在实际开发中可使用 bin/hadoop fs查看命令详情 使用HDFS基本语法: bin/hadoop fs OR bin/hdfs dfs 注:为帮助快速理解并使用本文中使用T表示target 基本命令 1.启动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,046
精华内容 10,018
关键字:

hdfs常用命令