Hadoop 使用基础

[摘录自] https://www.yiibai.com/hadoop/hadoop_hdfs_operations.html#article-start

一、HDFS 使用基础

格式化配置HDFS文件系统,打开NameNode(HDFS服务器),然后执行  hadoop namenode -format

格式化HDFS后,启动分布式文件系统,  $ start-dfs.sh

找出文件列表中的目录,文件状态,可以传递一个目录或文件名作为参数:  hadoop fs -ls <args>

创建一个输入目录: hadoop fs -mkdir /user/input

传输本地数据文件存储Hadoop文件系统:  hadoop fs -put /home/file.txt /user/input

查看来自HDFS的数据:  hadoop fs -cat /user/output/outfile

从HDFS得到文件:  hadoop fs -get /user/output/ /home/hadoop_tp/

可以使用下面的命令关闭HDFS:  $ stop-dfs.sh

  

在“$HADOOP_HOME/bin/hadoop fs” 里有更多的命令。./bin/hadoop DFS 列出所有可以使用在FsShell系统上运行的命令。此外,$HADOOP_HOME/bin/hadoop fs -help 命令名称会显示一个简短的用法。

所有表的操作如下所示。以下是使用参数一般方式:

"<path>" means any file or directory name. 
"<path>..." means one or more file or directory names. 
"<file>" means any filename. 
"<src>" and "<dest>" are path names in a directed operation. 
"<localSrc>" and "<localDest>" are paths as above, but on the local file system.

所有其他文件和路径名是指HDFS内部的对象。

1.

ls <path>

列出路径指定的目录中的内容,示出了名称,权限,拥有者,大小和修改日期的每个条目。

2.

lsr <path>

行为类似于-ls,但递归显示路径的所有子目录项。

3.

du <path>

显示磁盘使用率,以字节为单位,对所有的文件,这些文件匹配的路径;文件名报告使用完整HDFS协议前缀。

4.

dus <path>

类似-du,但打印路径中的所有文件/目录的磁盘使用情况的摘要。

5.

mv <src><dest>

通过移动表示src到dest,在HDFS的文件或目录。

6.

cp <src> <dest>

在HDFS复制确定src中的文件或目录到dest。

7.

rm <path>

删除文件或路径标识的空目录。

8.

rmr <path>

删除路径标识的文件或目录。递归删除所有子条目(例如,文件或路径的子目录)。

9.

put <localSrc> <dest>

从本地localSrc文件系统中的DFS标识文件或目录内复制到dest。

10.

copyFromLocal <localSrc> <dest>

等同于-put

11.

moveFromLocal <localSrc> <dest>

从标识 localSrc本地文件系统中的文件或目录中HDFS复制到dest,然后删除本地副本上成功。

12.

get [-crc] <src> <localDest>

拷贝标识 src 来确定localDest本地文件系统路径HDFS文件或目录。

13.

getmerge <src> <localDest>

检索匹配的路径的src HDFS中的所有文件,并将它们复制合并文件到标识localDest本地文件系统中。

14.

cat <filen-ame>

显示在标准输出文件名的内容。

15.

copyToLocal <src> <localDest>

等同于 -get

16.

moveToLocal <src> <localDest>

工作方式类似于-get,但删除HDFS复制成功。

17.

mkdir <path>

在创建一个HDFS命名的目录路径。

创建任何父目录的路径丢失(例如,命令mkdir-p在Linux中)。

18.

setrep [-R] [-w] rep <path>

设置标识路径代表文件的目标文件复制因子。 (实际的复制因子会向着随着时间的推移目标移动)

19.

touchz <path>

创建在路径包含当前时间作为时间戳的文件。失败如果文件已经存在于路径,除非文件已经大小为0。

20.

test -[ezd] <path>

返回1,如果路径存在;长度为零;或者是一个目录,否则为0。

21.

stat [format] <path>

打印有关的路径信息。格式是接受块文件大小(%b),文件名(%n),块大小(%o),复制(%r)和修改日期(%y,%Y)的字符串。

22.

tail [-f] <file2name>

显示在标准输出文件的最后1KB。

23.

chmod [-R] mode,mode,... <path>...

变化符合路径标识的一个或多个对象关联的文件权限....递归执行变更与R.模式是3位八进制模式,或{augo}+/-{rwxX}。假设如果没有指定范围,则不适用umask。

24.

chown [-R] [owner][:[group]] <path>...

设置拥有用户和/或组标识路径的文件或目录....设置所有者递归,如果指定-R。

25.

chgrp [-R] group <path>...

设置所属组标识路径的文件或目录....设置组递归,如果指定-R。

26.

help <cmd-name>

返回使用上面列出的命令之一信息。必须省略了'-' 字符在cmd。

二、基于java的MapReduce job 例子

1. 新建java maven项目,添加如下依赖项:

<dependency>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-core</artifactId>
  <version>1.2.1</version>
</dependency>

2. 编写java code:

  

原文地址:https://www.cnblogs.com/pekkle/p/8808823.html