跳至内容

如何在 Amazon EMR 中挂载 Workspace 目录或解决错误“Unable to mount the workspace”(无法挂载 Workspace)?

2 分钟阅读
0

我想在 Amazon EMR 中挂载 Workspace 目录或解决错误“Unable to mount the workspace”(无法挂载 Workspace)。

解决方法

挂载 Workspace 目录

要将 Workspace 目录挂载到集群,请在 Amazon EMR 中使用 %mount_workspace_dir magic 命令。使用此命令时,可以在挂载 Workspace 目录时从 Workspace 中的其他文件导入并运行代码。

解决错误“Unable to mount the workspace”(无法挂载 Workspace)

使用 %mount_workspace_dir magic 命令挂载 Workspace 时,您可能会收到以下错误:

“UsageError: Unable to mount the Workspace. stdout= stderr=fuse: unknown option compat_dir”(UsageError:无法挂载 Workspace。stdout= stderr=fuse: unknown option compat_dir)

“UsageError: S3-fuse is not installed”(UsageError:S3-fuse 未安装)

要解决上述错误,请使用以下方法之一:

Install s3fs-fuse

如果您使用的是 Amazon EMR 发行版 5.3.x 或 6.x,请完成以下步骤:

  1. 使用您的 Spark、Livy 和 Jupyter 企业网关应用程序设置 Amazon EMR 集群、Workspace 和 Spark magic。有关详细信息,请参阅使用 magic 命令增强内核
  2. 使用 SSH 连接到 Amazon EMR 集群节点。
  3. 安装 s3fs-fuse
    sudo amazon-linux-extras install epel -y
    sudo yum install s3fs-fuse -y

如果您使用的是 Amazon EMR 发行版 7.x,请完成以下步骤:

  1. 要安装 s3fs-fuse,请参阅 GitHub 网站上的 s3fs-fuse。或者运行以下命令:

    sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel -y
    
    git clone https://github.com/s3fs-fuse/s3fs-fuse.git
    cd s3fs-fuse
    ./autogen.sh
    ./configure --prefix=/usr --with-openssl
    make
    sudo make install
  2. 安装 emr-notebooks-magics
    **注意:**在安装 Amazon EMR Notebooks magic 之前,请参阅使用 magic 命令增强内核

    %pip install emr-notebooks-magics --upgrade
  3. 将 Workspace 目录挂载到 Notebook 中:

    %mount_workspace_dir.

    **注意:**对于 Amazon EMR 版本 6.0 到 6.9.0 以及 5.0 到 5.36.0,只有 emr-notebooks-magics 软件包版本 0.2.0 及更高版本支持 %mount_workspace_dir magic 命令。

  4. 确认您的 Workspace 目录已成功挂载:

    %%sh
    ls

安装 s3fs 软件包

要安装 s3fs 软件包,请运行以下命令:

wget https://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/s/s3fs-fuse-1.93-1.el8.aarch64.rpm -P /home/hadoop/;sudo yum localinstall /home/hadoop/s3fs-fuse-1.93-1.el8.aarch64.rpm -y;rm /home/hadoop/s3fs-fuse-1.93-1.el8.aarch64.rpm  

您会收到以下输出:

--2024-05-12 15:49:13-- https://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/s/s3fs-fuse-1.93-1.el8.aarch64.rpm
Resolving rpmfind.net (rpmfind.net)... 195.220.108.108
Connecting to rpmfind.net (rpmfind.net)|195.220.108.108|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 292036 (285K) [application/x-rpm]
Saving to: "/home/hadoop/s3fs-fuse-1.93-1.el8.aarch64.rpm"

上述命令从 EPEL 存储库中下载 s3fs-fuse 软件包版本,安装下载的版本,然后清理下载的文件。有关详细信息,请参阅 RPM 查找网站上的 RPM 资源 s3fs-fuse(aarch-64)。另请参阅 Red Hat 网站上的如何使用 yum 安装本地 rpm 文件?

**注意:**如果您在完成上述步骤后仍然遇到问题,请将您的实例类型更改为基于 x86_64 架构构建的实例。或者,安装更新版本的 s3fs-fuse 软件包。

AWS 官方已更新 1 年前