hadoop

一、参考及安装包链接

链接参考:https://blog.csdn.net/pucao_cug/article/details/71698903

软件包地址:https://pan.baidu.com/s/1pYr3cKtbksa6iwI3RARMeQ

官网文档地址:http://hadoop.apache.org/docs/

二、hadoop 环境搭建

  (1) jdk 环境变量配置  (vim /etc profile) 

JAVA_HOME=/usr/java/jdk1.8.0_191
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

  (2) hadoop 环境变量配置

export HADOOP_HOME=/usr/local/hadoop-2.4.1

export HADOOP_PREFIX=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_PREFIX

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native

export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

export HADOOP_HDFS_HOME=$HADOOP_PREFIX

export HADOOP_MAPRED_HOME=$HADOOP_PREFIX

#export HADOOP_ROOT_LOGGER=DEBUG,console

export LD_LIBRARY_PATH=$HADOOP_PREFIX/lib/native

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

 三、hadoop 配置参数说明

  (1) core-site.xml    参考链接:https://www.cnblogs.com/huaxiaoyao/p/5022968.html                    https://www.cnblogs.com/jpcflyer/p/8934601.html

           官网链接:http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-common/core-default.xml

    常用配置参数列表:

    配置样例:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.100:900</value>
        <description>192.168.1.100为服务器IP地址,其实也可以使用主机名</description>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
        <description>该属性值单位为KB,131072KB即为默认的64M</description>
    </property>
    <name>hadoop.tmp.dir</name>
        <value>/root/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
  </property>
</configuration>

   (2) hdfs-site.xml   参考链接:https://www.cnblogs.com/jpcflyer/p/9005222.html    https://blog.csdn.net/huangzy1975/article/details/79236025   

           官网链接:http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

四、  hadoop 文件操作 命令说明

     [-appendToFile <localsrc> ... <dst>]  //将一个或者多个文件添加到HDFS系统中,他也是从标准输入中读取,然后添加到目标文件系统汇总                                     // 
	[-cat [-ignoreCrc] <src> ...]     //显示文本文件信息           
	[-checksum <src> ...]    //Datanode在把数据实际存储之前会验证数据的校验和(checksum的初始值?)如果某个client在读取数据时检测到数据错误, 在抛出ChecksumException
	[-chgrp [-R] GROUP PATH...]
	[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...] //用来修改权限
	[-chown [-R] [OWNER][:[GROUP]] PATH...]
	[-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
	[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
	[-count [-q] [-h] <path> ...]  //统计hdfs对应路径下的目录个数,文件个数,文件总计大小    ;显示为目录个数,文件个数,文件总计大小,输入路径
	[-cp [-f] [-p | -p[topax]] <src> ... <dst>]
	[-createSnapshot <snapshotDir> [<snapshotName>]]
	[-deleteSnapshot <snapshotDir> <snapshotName>]
	[-df [-h] [<path> ...]]    //查询可用HDFS内存空间 -h:将内存以M的形式形式
	[-du [-s] [-h] <path> ...]  //查询目录下文件信息 :-h:将内存以M的形式形式  -s : 统计所有子文件信息,统一展示
	[-expunge]
	[-find <path> ... <expression> ...]    //查找文件   -name:查找文件名的表达式:支持正则表达式  -print:打印文件路径信息        例:hdfs dfs -find /user/squirrel -name spark* -print
	[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
	[-getfacl [-R] <path>]      //显示HDFS文件访问授权信息    -R:显示目录子文件的权限信息  (开启文件ACL访问信息查询权限:dfs.namenode.acls.enabled true)
	[-getfattr [-R] {-n name | -d} [-e en] <path>]  
	[-getmerge [-nl] <src> <localdst>]    //合并HDFS的文件到本地    -nl:每个文件之间的内容使用空行分开
	[-help [cmd ...]]
	[-ls [-d] [-h] [-R] [<path> ...]]
	[-mkdir [-p] <path> ...]
	[-moveFromLocal <localsrc> ... <dst>]   //本地目录移动到HDFS  (先复制后删除本地目录)
	[-moveToLocal <src> <localdst>]     //HDFS目录移动本地    
	[-mv <src> ... <dst>]          //HDFS文件系统文件移动
	[-put [-f] [-p] [-l] <localsrc> ... <dst>]    
	[-renameSnapshot <snapshotDir> <oldName> <newName>]
	[-rm [-f] [-r|-R] [-skipTrash] <src> ...]  //HDFS删除文件目录   :-f:如果文件不存在不会显示错误等提示信息;-R/-r:等价:递归删除子目录;-skipTrash:清理垃圾文件,对于从超过文件容量的目录中删除文件很有用
	[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
	[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]  //设置文件的访问权限  -b:删除除了基础权限的所有权限;-k:清除默认权限;-R:递归授予子文件权限;-m:修改ACL,添加新的权限信息,原有的权限会保留;-x:清楚指定的ACL实体信息;–set:替换原有的ACL信息,重新授权
	[-setfattr {-n name [-v value] | -x name} <path>]
	[-setrep [-R] [-w] <rep> <path> ...]  //设置HDFS文件的备份因子    -W:要求等待备份命令的完成,可能需要消耗很多时间 -R:递归子类文件备份银子设置
	[-stat [format] <path> ...] //打印有关路径的信息,可以加下面的格式化输出    : %b: 文件大小;%n: 文件名;%o: 块大小%r: 副本个数;%y, %Y: 修改日期.
	[-tail [-f] <file>]  //查询文件最后1M的信息  :-f:输出文件增长的数据:动态显示
	[-test -[defsz] <path>] //测试hdfs中的某个文件或者目录是否存在   :-d: 如果测试的路径是一个文件夹, 则返回0,否则返回1;-e: 如果测试的路径存在, 则返回0,否则返回1;-f: 如果测试的路径是一个文件, 则返回0,否则返回1;-s: if 如果测试的路径不是空(文件夹下有文件或者文件夹), 则返回0,否则返回1;-z: 如果测试的是一个文件,并且这个文件不为空, 则返回0,否则返回1。
	[-text [-ignoreCrc] <src> ...]
	[-touchz <path> ...]         //在指定目录创建一个新文件,如果文件存在,则创建失败
	[-truncate [-w] <length> <path> ...]
	[-usage [cmd ...]]

hadoop dfsadmin –report:查看hdfs的状态报告
原文地址:https://www.cnblogs.com/jiejunwang/p/9888252.html