Amazon EMR でワークスペースディレクトリをマウントする方法を教えてください。または、「ワークスペースをマウントできません」というエラーを解決する方法を教えてください。

所要時間2分
0

Amazon EMR で、ワークスペースディレクトリをマウントしたり、「ワークスペースをマウントできません」というエラーを解決したりしたいです。

解決策

ワークスペースディレクトリをマウントする

ワークスペースディレクトリをクラスターにマウントするには、Amazon EMR で マジックコマンド %mount_workspace_dir を実行します。このコマンドを使用すると、ワークスペースディレクトリをマウントするときに、ワークスペース内の他のファイルからコードをインポートして実行できます。

「ワークスペースをマウントできません」というエラーを解決する

マジックコマンド %mount_workspace_dir を実行してワークスペースをマウントすると、次のエラーが発生する場合があります。

"UsageError: ワークスペースをマウントできません。stdout= stderr=fuse: compat_dir は不明なオプションです"

"UsageError: S3-fuse がインストールされていません"

上記のエラーを解決するには、以下のいずれかの方法を使用します。

s3fs-fuse をインストールする

Amazon EMR リリースバージョン 5.3.x または 6.x を使用している場合は、次の手順を実行します。

  1. Spark、Livy、Jupyter Enterprise Gateway アプリケーションで、Amazon EMR クラスター、ワークスペース、Spark マジックをセットアップします。詳細については、「マジックコマンドでカーネルを拡張する」を参照してください。
  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 マジックをインストールする前に、「マジックコマンドでカーネルを拡張する」を参照してください。

    %pip install emr-notebooks-magics --upgrade
  3. ノートブックにワークスペースディレクトリをマウントします。

    %mount_workspace_dir.

    注: Amazon EMR リリース 6.0 から 6.9.0、および 5.0 から 5.36.0 では、emr-notebooks-magics パッケージバージョン 0.2.0 以降のみがマジックコマンド %mount_workspace_dir をサポートしています。

  4. ワークスペースディレクトリが正常にマウントされていることを確認します。

    %%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 find ウェブサイトで「 RPM リソース s3fs-fuse (aarch-64)」を参照してください。Red Hat のウェブサイトで、「yum を使用してローカル rpm ファイルをインストールする方法」も参照してください。

注: 前のステップを完了しても問題が解決しない場合は、インスタンスタイプを x86_64 アーキテクチャでビルドしたインスタンスに変更してください。または、s3fs-fuse パッケージの新しいバージョンをインストールします。

AWS公式
AWS公式更新しました 3ヶ月前
コメントはありません

関連するコンテンツ