zoukankan      html  css  js  c++  java
  • Hadoop之shell命令

     Hadoop之shell命令

    一、启动命令

    启动hadoop:start-dfs.sh,start-yarn.sh

    关闭hadoop:stop-dfs.sh,stop-yarn.sh

    启动hdfs时可在任意节点,启动yarn得在相应yarn的主节点上执行

          hadoop fs -命令(hadoop1.0的时候用的)

          hdfs dfs -命令(hadoop2.0的时候用的)

          hadoop/hdfs 启动hadoop的客户端,连接hadoop集群

          fs/dfs 连接hadoop的文件系统的,filesystem的客户端

    二、查看hdfs的目录结构

          hadoop fs -ls -R hdfs的目录(查看给定的hdfs的目录的子目录)

          -R 级联查看

          hadoop fs -ls -R /

          hadoop fs -lsr /

          注意:在hdfs中所有的路径只有绝对路径的访问形式必须从/开始

    三、创建文件夹

          hadoop fs -mkdir -p 需要创建的目录

          -p   级联创建

          hadoop fs -mkdir -p /aa/bb/cc

          hadoop fs -mkdir /testin

    四、文件上传

          hdfs不支持文件修改的,在hdfs不能先创建一个空文件在进行编辑,只能本地编辑完成文件再上传到hdfs存储或者将本地的文件进行直接存储在hdfs上。

          文件上传:将本地的文件传到hdfs存储进行分布式存储的。

          hadoop fs -copyFromLocal 本地文件路径 hdfs路径

          将本地文件拷贝到hdfs上,对应API

          hadoop fs -moveFromLocal 本地文件路径 hdfs路径

          将本地文件移动到hdfs上

          hadoop fs -put 本地文件路径 hdfs路径

          同  -copyFromLocal    提倡

          hadoop fs -put hadoop-2.7.7.tar.gz /testin

          hadoop fs -moveFromLocal hadoop-2.7.7.tar.gz /  剪切|移动

          注意: 本地路径指的是客户端所在本地

          文件上传的时候如果给定的是hdfs的目录,将本地文件传到hdfs的给定目录下,如果给的是一个hdfs不存在的文件|目录,将本地文件传到hdfs上,但是会重命名,命名为给定的文件名。

    五、文件下载

    hadoop fs -copyToLocal|moveToLocal|get  hdfs路径  本地路径 

          将hdfs文件下载到本地

          hadoop fs -copyToLocal|get   将hdfs拷贝到本地

          -get 推荐

          hadoop fs -get /hadoop-2.7.7.tar.gz .

          hadoop fs -moveToLocal  将hdfs的移动到本地(这个命令目前还是不支持的)

    六、查看文件内容

    hadoop fs -cat hdfs文件路径

    hadoop fs -cat /hdfs-site.xml

    查看hdfs文件的所有内容

    hadoop fs -tail hdfs文件路径

    hadoop fs -tail /hdfs-site.xml

    查看hdfs给定文件的末尾1kb的数据

    七、创建文件

    hadoop fs -touchz hdfs文件名  创建空文件

    hadoop fs -touchz /test_bd1901

    注意:在hdfs中大小为0kb的文件不进行实际存储的datanode中不存储的,只在namenode中进行元数据存储。

    八、删除文件或目录

    hadoop fs -rm -f -r 需要删除hdfs的目录或文件

    -f  force 强制删除

    -r  级联删除用于删除目录的时候

    删除文件

    hadoop fs -rm -f /hadoop-2.7.7.tar.gz

    删除目录

    hadoop fs -rm -r -f /aa

    九、修改hdfs文件或目录的读写权限

    chmod -R 777 文件或目录

    -R 级联修改目录下的所有子文件的权限的

    hadoop fs -chmod -R 777 /testin

    十、修改文件所属用户和组

    chown -R 用户:组 文件或目录

    hadoop fs -chown -R 用户:组 文件或目录

    hadoop fs -chown -R hadoop:hadoop /testin

    十一、修改hdfs文件的副本个数

    hdfs配置文件 hdfs-site中设置的副本个数 2。

          假如有一个文件很重要,需要将这个文件的副本改成3个:

    -setrep [-R] [-w]  (set replication 修改副本的)

    -R 级联修改目录下的所有文件

    -w wait   等待新副本的复制完成|删除完成(阻塞方法)

    hadoop fs -setrep 3 /hadoop6

          只能修改hdfs上已经存在的文件或目录(对于上面的例子只修改hadoop6这个文件),对于新上传的文件副本个数 hdfs-site 配置文件中的作用的。

          hdfs的存储文件的副本的修改:

    (1)配置文件  全局

    hdfs-default.xml    3

    hdfs-site.xml    2

    (2)命令单个文件或目录的

    hadoop fs -setrep

    (3)加载:

    hdfs-default 3

    ---> hdfs-site  2

    --->setrep  3

    最后加载的最终生效

    十二、查看磁盘占有情况

    du df

    hadoop fs -du -h hdfs目录

    hadoop fs -du -h /

    统计hdfs的每一个文件夹|文件的大小

    hadoop fs -df -h hdfs目录

    hadoop fs -df -h /

    查看指定路径的磁盘占有率

    十三、其他

    (1)-appendToFile 追加  了解

    hadoop fs -appendToFile 本地文件 hdfs文件

    将本地文件  追加到指定的hdfs文件的末尾

    hadoop fs -appendToFile hdfs-site.xml /slaves  不建议使用的

    (2)-cp|-mv  

    用法:

    hadoop fs -cp|-mv hdfs路径  hdfs路径

    将hdfs的(目录)文件 拷贝 | 移动  hdfs另一个文件路径中

    hadoop fs -cp /slaves /sl01  了解

    hadoop fs -mv /slaves /sl02  重命名  掌握

    (3)-getmerge  合并下载  归并下载

          将hdfs上的多个文件  合并为一个文件下载

    hadoop fs -getmerge  hdfs路径1  hdfs路径2 … 本地路径

    将hdfs的多个路径合并下载到本地

    hadoop fs -getmerge /sl01 /sl02 /home/hadoop/testmetge

    这个命令 默认将最后一个目录识别为本地路径

          (4)-count  文件统计

          (5)-text  将文件以文本显示

          hadoop fs -text /hadoop6

    十四、hdfs的所有路径权限定名

    namenode的访问路径+需要访问的路径

    core-site.xml

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://hdp01:9000</value>

    </property>

    hdfs://hdp01:9000/

    简写  /

    全写:hadoop fs -ls hdfs://hdp01:9000/

    hdfs  --》  协议

    hdp01  namenode 主节点

    hdfs有两个端口:

    9000:datanode和namenode通信访问的端口内部rpc协议的

    50070:客户端访问web界面的http协议端口

  • 相关阅读:
    Hadoop1.2.0开发笔记(四)
    Datalist、GridView、Repeater 的区别
    oAuth
    浏览器沙箱技术
    28个HTML5特征、窍门和技术
    在Windows 8 JavaScript Metro Application 开发
    CSS浮动属性Float详解
    Windows 8为什么会是开发人员的2012
    CSS实现截取隐藏文字
    国外可绑定域名的免费空间(精选)
  • 原文地址:https://www.cnblogs.com/lizm166/p/13354858.html
Copyright © 2011-2022 走看看