一、参考及安装包链接
链接参考: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的状态报告