您可以在已经创建好的E-MapReduce(简称EMR)集群中,直接使用Alluxio Shell命令来对Alluxio中的文件进行操作,也可以使用Hadoop Shell命令操作Alluxio中的文件。本文为您介绍Alluxio的常见命令。

前提条件

  • 已创建集群,并选择了Alluxio服务,详情请参见创建集群
  • 已登录集群,详情请参见登录集群

背景信息

Alluxio常见命令如下表所示。
命令 功能
mkdir

在Alluxio文件系统中创建目录。

cat

查看Alluxio上文件的内容。

ls

在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。

mv

移动文件或目录到目标路径。

copyFromLocal

上传本地文件到Alluxio的指定路径。

copyToLocal

下载Alluxio指定路径的文件到本地路径。

rm

删除Alluxio系统中指定的文件。

关于Alluxio的更多命令介绍,请参见Alluxio

mkdir

在Alluxio文件系统中创建目录。

  • 语法
    • Alluxio Shell用法:
      alluxio fs mkdir <path1> [path2] ... [pathn]
    • Hadoop Shell用法:
      hadoop dfs -mkdir alluxio://<path1> [path2] ... [pathn]
  • 示例:
    • 在Alluxio文件系统中,创建/dir目录。
      alluxio fs mkdir /dir
      返回如下信息表示创建目录成功。
      Successfully created directory /dir
    • dir目录下,创建logs目录。
      alluxio fs mkdir /dir/logs
      返回如下信息表示创建目录成功。
      Successfully created directory /dir/logs

ls

在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。

  • 语法
    • Alluxio Shell用法:
      alluxio fs ls <path>
    • Hadoop Shell用法:
      hadoop dfs -ls alluxio://<path>
  • 示例:
    • 查看/tmp目录下hello.txt文件的信息。
      alluxio fs ls /tmp/hello.txt
      ls-1
    • 查看/dir/logs目录的信息。
      alluxio fs ls /dir/logs
      ls-2

cat

查看Alluxio上文件的内容。

  • 语法
    • Alluxio Shell用法:
      alluxio fs cat <path>
    • Hadoop Shell用法:
      hadoop dfs -cat alluxio://<path>
  • 示例:查看/tmp3目录下hello.txt文件的内容。
    alluxio fs cat hello.txt
    返回 hello.txt文件的内容。 cat-1

mv

移动文件或目录到目标路径。

  • 语法
    • Alluxio Shell用法:
      alluxio fs mv <path>
    • Hadoop Shell用法:
      hadoop dfs -mv alluxio://<path>
  • 示例
    • 移动/tmp/目录下的文件hello.txt/tmp3/logs/目录下。
      alluxio fs mv /tmp/hello.txt /tmp3/logs/hello.txt
      您可以通过ls命令查看文件移动的情况。 mv-1
    • 移动/tmp/路径下的test目录至/dir/sub-dir/目录下。
      hadoop fs -mv /tmp/test /dir/sub-dir/
      您可以通过ls命令查看目录移动的情况。 mv-2

copyFromLocal

注意 上传本地文件到Alluxio的指定路径时,Alluxio Shell使用的是 copyFromLocal命令,Hadoop Shell使用的是 put命令。

上传本地文件到Alluxio的指定路径。

  • 语法
    • Alluxio Shell用法:
      alluxio fs copyFromLocal <src> <remoteDst>
    • Hadoop Shell用法:
      hadoop dfs -put <src> alluxio://<remoteDst>
  • 示例:上传本地文件hello_world.txt至Alluxio的/dir/logs2路径下。
    alluxio fs copyFromLocal hello_world.txt /dir/logs2
    返回如下信息表示上传成功。
    Copied file:///root/hello_world.txt to /dir/logs2

copyToLocal

注意 下载Alluxio指定路径的文件到本地路径时,Alluxio Shell使用的是 copyToLocal命令,Hadoop Shell使用的是 get命令。

下载Alluxio指定路径的文件到本地路径。

  • 语法
    • Alluxio Shell用法:
      alluxio fs copyToLocal <src> <localDst>
    • Hadoop Shell用法:
      hadoop dfs -get <src> alluxio://<localDst>
  • 示例:下载Alluxio系统中/dir/sub-dir/目录下的文件hello_world2.txt至本地的/emr路径下。
    alluxio fs copyToLocal /dir/sub-dir/hello_world2.txt /emr
    返回如下信息表示下载成功。
    Copied /dir/sub-dir/hello_world2.txt to file:///emr

rm

删除Alluxio系统中指定的文件。

  • 语法
    • Alluxio Shell用法:
      alluxio fs rm <path>
    • Hadoop Shell用法:
      hadoop dfs -rm alluxio://<path>
  • 示例:删除Alluxio系统中/dir/logs2目录下的文件hello_world.txt
    alluxio fs rm /dir/logs2/hello_world.txt
    返回如下信息表示删除成功。
    /dir/logs2/hello_world.txt has been removed