• 单机,伪分布式,完全分布式-----搭建Hadoop大数据平台


    Hadoop大数据——
    随着计算机技术的发展,互联网的普及,信息的积累已经到了一个非常庞大的地步,信息的增长也在不断的加快。
    信息更是爆炸性增长,收集,检索,统计这些信息越发困难,必须使用新的技术来解决这些问题。
    大数据由巨型数据组成,这些数据集大小超出人类在可接受时间下的收集,使用,管理和处理能力。
    把数据集合并进行分析可得出许多额外的信息和数据关系性,可用来察觉商业趋势,判定研究质量,避免疾病扩散,打击犯罪或测定及时交通路况等,这样的用途正是大型数据集盛行的原因。
    从各种各样类型的数据中,快速获得有价值信息的能力,适用于大数据的技术,包括大规模并行处理数据库,数据挖掘电网,分布式文件系统,分布式数据库,云计算平台,互联网,和可扩展的存储系统。



    大数据特性——
     数量:TB/EB级,记录/日志,事物,表&文件
     速度:批处理,实时,多进程,数据流
     种类:结构化,非结构化,多因素,概率性
     价值:统计学,事件性,相关性,假设性
     真实性:可信性,真伪性,来源&信誉,有效性,可审计性



    大数据与Hadoop——
     Hadoop是一种分析和处理海量数据的软件平台,开源,使用Java开发,可以提供一个分布式基础架构。
     特点:高扩展性,高可靠性,高效性,高容错性,低成本


    Hadoop起源——
    03年开始,Google陆续发表了几篇论文,GFS,MapReducs,BigTable。
    GFS是一个可扩展的分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用,他运行于廉价的平台硬件上,提供容错功能。
    Mapreduce是针对分布式并行计算的一套编程模型,由MAP和reducs组成,,Map是影设,把指令分发到多个worker上去,reducs是规约,把Map的worker计算出来的结果合并。
     bigtable:存储结构化数据,bigtable是建立在GFS,scheduler,lockserver和Mapreduce之上的,每个table都是一个多维的稀疏图。

    这三大技术被称为Google的三驾马车,虽然Google没有公布这三个产品的源码,但是他发布了这三个产品的详细设计论文,
    Yahoo资助Hadoop按照这三篇论文的开源Java实现,不过在性能上Hadoop比Google要差很多。
     GFS-----> HDFS
     Mapreduce--------> Mapreduce
     bigtable-------> Hbase



    Hadoop常用组件——
     hdfs(hadoop分布式文件系统)
     mapreduce(分布式计算框架)
     zookeeper(分布式协作服务)
     hbase(分布式列存数据库)
     hive(基于Hadoop的数据仓库)
     sqoop(数据同步工具)
     pig(基于Hadoop的数据流系统)
     mahout(数据挖倔算法库)
     flume(日志收集工具)


    Hadoop核心组件——
     processing:spark,mapreduce(分布式计算框架)
     resource management:yarn(集群资源管理系统)
     storage:hdfs(分布式文件系统)


    hdfs角色及概念——
     是Hadoop体中数据存储管理的基础,他是一个高度容错的系统,用于低成本的通用硬件上运行。

    角色和概念:
     client---(切分文件,访问hdfs,与namednode交互,获取文件位置信息,与datanode交互,读取和写入数据)
     namenode---(master节点,管理hdfs的名称空间和数据块映射信息,配置副本策略,处理所有客户端请求)
     secondary namenode---(定期合并fsimage和fsedits,推送给namenode,紧急情况下,可辅助恢复namenode,它并非是热备份)
     datanode---(数据存储节点,存储实际的数据,汇报存储信息给namenode)
     block:每块缺省64mb大小,每块可以多个副本



    mapreduce结构——
    源自Google的mapreduce论文,java实现的分布式计算框架。
     
    角色及概念:
      jobtracker--(master节点,只有一个,管理所有作业,任务/作业的监控,错误处理等,将任务分解成一系列任务,并分派给tasktracker)
      tasktracker--(slave节点,一般是多台,运行map task和reduce task,并与jobtracker交互,汇报任务状态)
      map task--(解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘,如果为map-only作业,直接写入hdfs)
      reducer task--(从map task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行)


    yarn结构——
    yarn是Hadoop的一个通用的资源管理系统,yarn的核心思想是将jobtracker和tasktacker进行分离。
     由下面极大构成组件:
      resourcemanager:一个全局的资源管理器
      nodemanager:每个节点(RM)代理
      applicationmaster:表示每个应用
      每一个applicationmaster有多个container在nodemanager上运行。

    yarn角色:
     resourcemanager--(处理客户端请求,启动/监控applicationmaster,监控nodemanager,资源分配与调度)
     nodemanager--(单个节点上的资源管理,处理来自resourcemanager和applicationmaster的命令)
     applicationmaster--(数据切分,为应用程序申请资源,并分配给内部任务,任务监控与容错)
     container--(对任务运行环境的抽象,封装了cpu,内存等,多维资源以及环境变量,启动命令等任务运行相关的信息资源分配与调度)
     client--(用户与yarn交互的客户端程序,提交应用程序,监控应用程序状态,杀死应用程序等)



    ————————————————————————————————————————————————————————————————————————————————————————————————————————————



    Hadoop安装配置——
     Hadoop的部署模式有三种
      单机
      伪分布式(伪分布式的安装和完全分布式安装一样,区别是所有角色都安装在一台机器上,使用本地磁盘,一般生产环境都会使用完全分布式,伪分布式一般用学习和测试方面的功能,所以这次为分布式就不搭建了)
      完全分布式


    Hadoop单机模式安装配置:
      Hadoop的单机模式安装非常简单,只需要配置好环境变量即可运行,这个模式一般用来学习和测试。(配置时注意把主机名和对应的ip地址加到hosts文件上,dns是不管用的)
      获取软件:http://hadoop.apache.org
      安装配置java环境,安装jps工具:安装openjdk和openjdk-devel
      设置环境变量,启动运行:hadoop-env.sh JAVA_HOME=""

    [root@x ~]# yum -y install java-1.8.0-openjdk-devel.x86_64(安装Java开发包)
    [root@x ~]# java -version(安装jdk后运行命令要能看见版本信息)
    openjdk version "1.8.0_131"
    [root@x ~]# jps(jps要可以看见pid号)
    1527 Jps
    [root@x ~]# tar -xvf hadoop-2.8.4.tar.gz(解压)
    [root@x ~]# mv hadoop-2.8.4 /usr/local/hadoop(移动到/usr/local/hadoop下)
    [root@x ~]# rpm -qa | grep openjdk(查看openjdk的安装信息)
    [root@x ~]# rpm -ql java-1.8.0-openjdk-devel-1.8.0.131-11.b12.el7.x86_64(查看openjdk安装到哪个目录下)
    ..........
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/bin
    ..........
    [root@x]# cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/(Java的家目录)
    [root@x hadoop]# cd /usr/local/hadoop/etc/hadoop/(到Hadoop的配置目录下)
    [root@x hadoop]# vim hadoop-env.sh(修改配置Java环境变量)
    export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre"
    (Java的家目录)
    export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"(修改Hadoop的配置文件路径)
    [root@x bin]# ./hadoop version(到/usr/local/hadoop/bin目录执行命令,可以看到版本信息就说明没问题了)
    Hadoop 2.8.4
    Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 17e75c2a11685af3e043aa5e604dc831e5b14674
    Compiled by jdu on 2018-05-08T02:50Z
    Compiled with protoc 2.5.0
    From source with checksum b02a59bb17646783210e979bea443b0
    This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.8.4.jar




    模块简介:
    [root@x hadoop]# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.4.jar
    An example program must be given as the first argument.
    Valid program names are:
      aggregatewordcount:
      aggregatewordhist:
      bbp:
      dbcount:
      distbbp:
      grep:(支持正则表达式,匹配关键字)
      join:
      multifilewc:
      pentomino:
      pi:
      randomtextwriter:
      randomwriter:
      secondarysort:
      sort:
      sudoku:
      teragen:
      terasort:
      teravalidate:
      wordcount:(统计模块,统计每个词出现的频率,把要分析的文件结果放到指定的某个文件下)
      wordmean:
      wordmedian:
      wordstandarddeviation:




    实例:
    [root@x hadoop]# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.4.jar wordcount /root/xx/passwd /root/output(运行wordcount统计模块,我提前在root/xx/复制了、etc/passwd这个文件,现在就是分析这个文件,并把分析结果放到root/output这个文件)
    [root@x ~]# cat output/part-r-00000 (统计每个词出现的频率)
    Daemon:/var/lib/rpcbind:/sbin/nologin    1
    Management:/:/sbin/nologin    1
    Network    1
    SSH:/var/empty/sshd:/sbin/nologin    1
    User:/var/ftp:/sbin/nologin    1
    abrt:x:173:173::/etc/abrt:/sbin/nologin    1



    [root@x hadoop]# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.4.jar grep /root/xx/passwd /root/xxx 'uuid'(运行grep正则匹配模式,匹配root/xx/passwd/这个文件的uuid这个关键字,把内容保存到root/xxx文件里)
    [root@x ~]# cat xxxx/part-r-00000(查看结果root出现了4次)
    4    root




    ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

    Hadoop伪分布式
    Hadoop-env.sh(配置环境变量)
        JAVA_HOME
        HADOOP_CONF_DIR


    Xml文件配置格式(name和value是对应的,且只能修改变量值,关键字不可修改)
      <configuration>
          <property>(关键配置)
              <name>关键字</name>
              <value>变量值</value>
              <description>描述</description>(描述写也可以,不写就dd)
          </property>
          <property>(常用配置)
             <name>关键字</name>
             <value>变量值</value>
          </property>
      </configuration>


    cd /usr/local/hadoop/etc/hadoop/
    core-site.xml  详细介绍:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-common/core-default.xml

    hdfs-site.xml  详细介绍:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
      dfs.replication:设置数据存放多少份
      dfs.namenode.name.dir:存映射关系数据的路径
      dfs.datanode.data.dir:真实存放数据的路径
      dfs.namenode.http-address:namenode
      dfs.namenode.secnodary.http-address:namenode的辅助
      dfs.webhdfs.enabled:默认正常情况会打开调用,在互联网下为了安全起见要关闭
      dfs.permissions.enabled:设置hdfs的一个权限,默认打开,


    mapred-default.xml: 详细介绍:http://hadoop.apache.org/docs/r2.8.4/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
      mapreduce.framework.name:使用什么样的集群管理系统,默认是local
      mapreduce.jobtracker.http.address:jobtracker的ip地址
      mapreduce.jobhistory.address:
      mapreduce.jobhistory.webapp.address:


    yarn-default.xml  详细介绍:http://hadoop.apache.org/docs/r2.8.4/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
      yarn.resourcemanager.hostname:(配了这个值,倒数1到5的值都不用配置,不配置hostname,后面的都要配置)
      yarn.nodemanager.aux-services:
      yarn.nodemanager.aux-services.mapreduce_shuffle.class:(使用什么样的类)
      yarn.resourcemanager.address:
      yarn.resourcemanager.scheduler.address:
      yarn.resourcemanager.resource-tracker.address:
      yarn.resourcemanager.admin.address:
      yarn.resourcemanager.webapp.address:

    Deprecated Properties  详细介绍:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-common/DeprecatedProperties.html


    [root@x ~]# cd /usr/local/hadoop/etc/hadoop/
    [root@x hadoop]# vim core-site.xml
    <configuration>
        <property>(关键配置)
          <name>fs.defaultFs</name>(Hadoop运行起来使用哪个集群的文件系统)
          <value>hdfs://x.sec.com:9000</value>(hdfs表示及群文件系统 namenode主机和端口号)
        </property>
        <property>(常用配置)
          <name>hadoop.tmp.dir</name>(Hadoop数据存放地址)
          <value>/vat/hadoop</value>(数据存放路径)
        </property>
    </configuration>


    实例:常用的配置文件
    [root@x hadoop]# vim hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.namenode.http-address</name>(namenode)
            <value>x.sec.com:50070</value>(hosts文件里的域名或者ip地址:端口)
        </property>
        <property>
            <name>dfs.namenode.secnodary.http-address</name>(namenode辅助)
            <value>x.sec.com:50070</value>(namenode主机的域名或者ip地址:端口)
        </property>
        <property>
            <name>dfs.webhdfs.enabled</name>
            <value>true</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
    </conoiguration>

    [root@x hadoop]# cp mapred-site.xml.template mapred-site.xml(默认是template,复制一份)
    [root@x hadoop]# vim mapred-site.xml
    <configuration>
        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>(集群管理系统用yarn)
        </property>
        <property>
          <name>mapreduce.jobhistory.http.address</name>(jobhistory)
          <value>x.sec.com:50030</value>(jobhistory主机的域名或者ip地址:端口)
        </property>
    </configuration>

    [root@x hadoop]# vim yarn-site.xml
    <configuration>
        <property>
          <name>yarn.resourcemanager.hostname</name>(resourcemanager.hostname)
          <value>x.sec.com</value>(地址)
        </property>
        <property>
          <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
          <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
    </configuration>

    到此,伪分布式配置到此结束。


    ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————


    HDFS分布式文件系统:
     分布式文件系统,是指文件系统管理的物理存储资源不一定直接链接在本地节点上,而是通过计算机网络与节点相连
     分布式文件系统的设计基于客户机/服务器模式,一个典型的网络可能包括多个供多用户访问的服务器,对等特性允许一些系统扮演客户机和服务器的双重角色。



    完全分布式Hadoop搭建配置
    搭建前的准备:把所有主机的selinux和防火墙关闭,并安装jdk环境,在所有主机的hosts文件下,写上对应的主机名和ip地址,就算有dns也不会生效,一定要在hosts文件下把主机对应的ip地址写上。确保安装不会出错。注意:保证所有机器上的系统版本及Java版本的一致性,保证所有安装路径的一致性,还要配置ssh信任关系,主机xx(也就是namenode,secondarynamenode,resouremanager这角色的主机)不需要输入yes也要能成功其他主机。

    [root@xx ~]# rm -rf /root/.ssh/known_hosts(把这里的公钥删除)
    [root@xx ~]# ssh-keygen -t rsa(rsa加密方式,生成密钥对)
    Enter file in which to save the key (/root/.ssh/id_rsa): (回车)
    /root/.ssh/id_rsa already exists.
    Overwrite (y/n)? y(yes)
    Enter passphrase (empty for no passphrase):(回车)
    Enter same passphrase again: (回车)
    SHA256:uNb56uc2XhAD0O3lTgnPLykRcNq1mnH4isrG9j0UTGY root@xx
    The key's randomart image is:
    +---[RSA 2048]----+
    |      .ooo. .    |
    |        .=Eo..   |
    |        .**Bo.   |
    |       .  =O*    |
    |      . S +=.o   |
    |       o ooo+ .  |
    |     .o +.....   |
    |     o+. o=.     |
    |     ooo+*=o     |
    +----[SHA256]-----+
    [root@xx ~]# cd /root/.ssh/(进入ssh的秘钥保存文件)
    [root@xx .ssh]# scp -p ~/.ssh/id_rsa.pub 172.16.232.30:/root/.ssh/authorized_keys(把秘钥scp到其他客户机,也把这个公钥cp并覆盖到自己主机的authorized_keys,这样登录自己也可以免密码登录)

    扩展:
      authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
      id_rsa : 生成的私钥文件
      id_rsa.pub : 生成的公钥文件
      know_hosts : 已知的主机公钥清单

    准备4台服务器,并规划好主机对应的角色
    主机xx:172.16.232.20  角色:namenode,secondarynamenode,resouremanager(master)
    主机xxx:172.16.232.30  角色:datanode,nodemanager(节点)
    主机xxxx:172.16.232.40  角色:datanode,nodemanager(节点)
    主机xxxxx:172.16.232.50  角色:datanode,nodemanager(节点)


    实例:
    HDFS完全分布式系统配置
    配置 Hadoop-env.sh
    配置 core-site.xml
    配置 hdfs-site.xml

    [root@xx ~]# yum -y install java-1.8.0-openjdk-devel.x86_64(在所有主机上操作)
    [root@xx ~]# jps(在所有主机上执行命令查看)
    2132 Jps
    [root@xx ~]# java -version
    openjdk version "1.8.0_131"

    配置 Hadoop-env.sh(配置环境变量)
    [root@xx ~]# tar -xvf hadoop-2.8.4.tar.gz -C /usr/local/(把Hadoop解压到/usr/loacl/)
    [root@xx local]# mv hadoop-2.8.4/ hadoop(到目录下重命名为hadoop)
    [root@xx ~]# readlink -f $(which java)(找到jre的家目录)
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/java
    [root@xx ~]# cd /usr/local/hadoop/etc/hadoop/
    [root@xx hadoop]# vim hadoop-env.sh (配置环境变量)
    # The java implementation to use.
    export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre"(把jre的家目录覆盖上去)
    export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"(Hadoop的配置文件目录,默认不是这个,要修改)

    配置 core-site.xml
    [root@xx hadoop]# vim core-site.xml
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://xx.sec.com:9000</value>(使用集群文件系统,namenode主机及端口)
        </property>
        <property>
            <name>hadoop.tmp.dir</name>(Hadoop数据存放地址)
            <value>/var/hadoop</value>(数据存放路径)
        </property>
    </configuration>
    [root@xx hadoop]# mkdir /var/hadoop(var下默认是没有Hadoop这个文件夹的,要创建一个文件,且要在所有主机上创建这个文件夹)
    [root@xxx ~]# mkdir /var/hadoop
    [root@xxxx ~]# mkdir /var/hadoop
    [root@xxxxx ~]# mkdir /var/hadoop

    配置 hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.namenode.http-address</name>(namenode主机)
            <value>xx.sec.com:50070</value>(地址,端口)
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>xx.sec.com:50090</value>
        </property>
        <property>
            <name>dfs.replication</name>(数据冗余,备份)
            <value>2</value>(备份两份)
        </property>
    </configuration>

    [root@xx hadoop]# vim slaves(编辑这个文件,没有就创建一个,这个文件是namenode集群的主机节点,写上hosts文件里的节点主机,且这里面的主机,不用输入密码也能登录)
    xxx.sec.com
    xxxx.sec.com
    xxxxx.sec.com

    [root@xx ~]# scp -r /usr/local/hadoop/ 172.16.232.30:/usr/local/(把xx主机/usr/local/hadoop拷贝到所有集群接节点上)  
    [root@xx ~]# scp -r /usr/local/hadoop/ 172.16.232.40:/usr/local/
    [root@xx ~]# scp -r /usr/local/hadoop/ 172.16.232.50:/usr/local/

    [root@xx ~]# cd /usr/local/hadoop/bin/(到目录下)
    [root@xx bin]# ./hadoop version(到所有节点上执行命令,出现以下版本信息就成功安装了完全分布式)
    Hadoop 2.8.4
    Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 17e75c2a11685af3e043aa5e604dc831e5b14674
    Compiled by jdu on 2018-05-08T02:50Z
    Compiled with protoc 2.5.0
    From source with checksum b02a59bb17646783210e979bea443b0
    This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.8.4.jar


    [root@xx ~]# cd /usr/local/hadoop/
    [root@xx hadoop]# ./bin/hdfs namenode -format(执行格式化操作namenode -format,只在master主机上操作)
    .............
    18/05/30 20:07:15 INFO common.Storage: Storage directory /var/hadoop/dfs/name has been successfully formatted.(存储目录格式化成功就说明成功了,没有就根据报错排错)
    .............
    [root@xx hadoop]# ./sbin/start-dfs.sh (也是只在master主机上执行)
    [root@xx hadoop]# jps(执行jps后可以看到节点主机说明没问题了)
    [root@xx hadoop]# jps
    3442 Jps
    3319 SecondaryNameNode
    1548 ResourceManager
    3132 NameNode


    到其他客户机执行jps也要看到信息
    [root@xxx hadoop]# jps
    2070 DataNode
    2238 Jps

    [root@xxxx hadoop]# jps
    1987 DataNode
    2157 Jps

    [root@xxxxx hadoop]# jps
    2145 Jps
    1986 DataNode


    [root@xx hadoop]# ./bin/hdfs dfsadmin -report(在master主机执行命令,可以看到所有节点主机的信息就完成了)
    Configured Capacity: 160982630400 (149.93 GB)
    Present Capacity: 154619985920 (144.00 GB)
    DFS Remaining: 154619961344 (144.00 GB)
    ............................
    -------------------------------------------------
    Live datanodes (3):

    Name: 172.16.232.30:50010 (xxx.sec.com)
    Hostname: xxx.sec.com
    Decommission Status : Normal
    Configured Capacity: 53660876800 (49.98 GB)
    .............................

    Name: 172.16.232.40:50010 (xxxx.sec.com)
    Hostname: xxxx.sec.com
    Decommission Status : Normal
    Configured Capacity: 53660876800 (49.98 GB)
    ..............................


    Name: 172.16.232.50:50010 (xxxxx.sec.com)
    Hostname: xxxxx.sec.com
    Decommission Status : Normal
    Configured Capacity: 53660876800 (49.98 GB)
    .............................



    ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-

    HDFS使用

    HDFS基本命令(格式其实就是./bin/hadoop fs -后面追加标准的shell命令)
      ./bin/hadoop fs -ls /    对应shell命令   ls /
      ./bin/hadoop/ fs -mkdir /xxx    对应shell命令    mkdir /xxx
      ./bin/hadoop/ fs -rmdir /xxx    对应shell命令    rmdir /xxx
     
    [root@xx hadoop]# ./bin/hadoop fs(回车显示常用的命令)
    Usage: hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]
        [-checksum <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] [-d] <localsrc> ... <dst>]
        [-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] <path> ...]
        [-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] [-x] <path> ...]
        [-expunge]
        [-find <path> ... <expression> ...]
        [-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] [-skip-empty-file] <src> <localdst>]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] [-d] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] <file>]
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touchz <path> ...]
        [-truncate [-w] <length> <path> ...]
        [-usage [cmd ...]]





  • 相关阅读:
    PID控制器开发笔记之五:变积分PID控制器的实现
    也说读书
    PID控制器开发笔记之四:梯形积分PID控制器的实现
    PID控制器开发笔记之三:抗积分饱和PID控制器的实现
    PID控制器开发笔记之二:积分分离PID控制器的实现
    PID控制器开发笔记之一:PID算法原理及基本实现
    Linux学习笔记之时间同步the NTP socket is in use, exiting问题
    Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境
    K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群
    K8S学习笔记之ETCD启动失败注意事项
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/9064365.html
Copyright © 2020-2023  润新知