機械翻訳について

クラスタへのストレージ・プロバイダの登録

bda-oss-adminコマンドを使用して、Hadoopクラスタへのコマンド・シェル・アクセスとストレージ・プロバイダへのアクセスを構成します。 次に、odcpコマンドとbdm-cliコマンドを使用して、HDFSとストレージ間でデータをコピーできます。

bda-oss-admin環境変数の設定

一部のbda-oss-adminオプションは環境変数として設定できるため、コマンドを実行するたびに値を指定する必要はありません。

次の表では、これらのbda-oss-adminオプションに対応する(また、代用できる)環境変数を示します。

すべてのbda-oss-adminコマンドのオプションおよび環境変数

次の値は、すべてのbda-oss-adminコマンドに対して、コマンドラインでコマンドのオプションとして、またはシェル環境変数として設定する必要があります。

コマンド・オプション 環境変数 説明
--cm-admin CM_ADMIN Cloudera Manager管理者ユーザー名。
--cm-passwd CM_PASSWORD Cloudera Manager管理者パスワード。 このコマンドは、パスワードが入力されていない場合は入力を要求します。
--cm-url CM_URL Cloudera Manager URL (例:https://servername.bigdata.examplecloud.com:7183)

bda-oss-adminストレージ資格証明コマンドのオプションおよび環境変数

次のオプションの一部またはすべてを必要とするbda-oss-adminストレージ資格証明コマンドは次のとおりです。

オプションの詳細は、「クラスタへのストレージ資格証明の登録」を参照してください。

コマンド・オプション 環境変数 説明
--swift-username ST_USER

Oracle Cloud Infrastructure Object Storage Classic Service-IdentityDomain:usernameという形式のアカウント管理者のユーザー名。

ユーザー名は「ネーミング要件」で説明したルールに準拠している必要があります。

--swift-password ST_KEY

管理者のパスワードです。

--swift-storageurl ST_AUTH

Oracle Cloud Infrastructure Object Storage Classic (Swift)認証URLで、認証トークンを取得します。たとえば、https://storage.a123456.examplecloud.com/auth/v1.0です。

--swift-provider ST_PROVIDER

資格証明のユーザー指定の名前。 この名前は、add_swift_credを使用して資格証明を追加するときに提供されます。 名前は、Hadoopで資格証明の別名として使用されます。

プロバイダ名は「ネーミング要件」で説明したルールに準拠している必要があります。

注意: Create Instanceウィザードを使用してHadoopインスタンスを作成する場合、デフォルトのプロバイダ名であるBDCSが作成されます。 --swift-provider nameオプションを使用してストレージ・プロバイダ名を指定しない場合、ストレージ・プロバイダ名が必要な場合は常にBDCSを使用できます。たとえば、次のようなコマンドを使用する場合などです。

hdfs dfs -cat mycontainer.BDCS/file

環境変数の設定

これらを環境変数として設定するには、シェル・スクリプトを作成および実行できます。

次の例では、bdcsvars.shという名前のLinux bashシェル・スクリプトはすべてのbda-oss-adminコマンドに必要なCloudera Manager資格証明を設定します。

#!/bin/bash
export CM_ADMIN="my_CM_admin_username"
export CM_PASSWORD="my_CM_admin_password"
export CM_URL="https://my_CM_hostname_:7183"

次の例では、storvars.shという名前のLinux bashシェル・スクリプトはストレージ資格証明を設定します。

#!/bin/bash
export ST_USER="MyServiceName-MyIdentityDomain:MyUserName"
export ST_KEY="Wel_123"
export ST_AUTH="http://storage.a123456.examplecloud.com/auth/v1.0"
export ST_PROVIDER="MyProviderName"

複数のストレージ・プロバイダで作業している場合は、そのすべてに対してシェル・スクリプトを作成すると便利な場合があります。 その後は、スクリプトを実行して、使用しているプロバイダのストレージ資格証明を設定する必要のみあります。

前述のスクリプトをそれらが存在するディレクトリから実行する手順:

# source ./bdacsvars.sh
# source ./storvars.sh

構成の確認

bda-oss-adminコマンド、パラメータおよび環境変数を使用して設定した構成は、Hadoop /etc/hadoop/conf/core-site.xml構成ファイルに格納されます。 例:

<configuration>
...
  <property>
    <name>fs.swift.service.storageservice3991-bdaoss.username</name>
    <value>john.smith@example.com</value>
  </property>
  <property>
    <name>fs.swift.service.storageservice3991-bdaoss.tenant</name>
    <value>storageservice3991-bdaoss</value>
  </property>
  <property>
    <name>fs.swift.service.storageservice3991-bdaoss.password</name>
    <value>A_password</value>
  </property>
  <property>
    <name>fs.swift.service.storageservice3991-bdaoss.auth.url</name>
    <value>https://storageservice3991-bdaoss.storage.examplecloud.com/auth/v2.0/tokens</value>
  </property>
  <property>
    <name>fs.swift.service.storageservice3991-bdaoss.public</name>
    <value>true</value>
  </property>
</configuration>

core-site.xmlファイルを参照して現在の構成を確認することはできますが、直接編集しないでください。 かわりに、bda-oss-adminを使用してください。

クラスタへのストレージ資格証明の登録

クラスタを作成するときは、Oracle Cloud Infrastructure Object Storage Classic (以前はOracle Storage Cloud Serviceとして知られていました)の特定のインスタンスの特定のユーザーの資格証明をクラスタに登録できます。 これにより、資格証明を再設定しなくても、そのユーザーはそのストレージ・インスタンスとの間でデータをコピーできます。 クラスタの作成後、他のユーザーおよび他のストレージ・サービス・インスタンスを登録できるため、それらユーザーはそれらのストレージ・サービス・インスタンスとの間でデータをコピーできます。

前提条件

Oracle Cloud Infrastructure Object Storage Classicインスタンスにアクセスできる必要があります。

ストレージ資格証明について

Create Clusterウィザードを使用してクラスタを作成し、それをOracle Cloud Infrastructure Object Storage Classicインスタンスに関連付けることを選択すると、ユーザー名とパスワードの入力が求められます。 (「クラスタの作成」を参照してください。) ユーザー名により、ストレージ・サービス・インスタンスとそのアイデンティティ・ドメインおよびインスタンスへの管理者権限を持つユーザーが識別されます。 クラスタが作成されると、BDCSという名前のデフォルトのストレージ・サービス・プロバイダもそのストレージ・サーバー・インスタンス用に作成されます。 プロバイダは、ストレージ・サービス・インスタンスの使用に必要なすべての資格証明に対する別名です。 そのような資格証明は、ユーザー名(サービス・インスタンス名、管理者ユーザー名および管理者ユーザーのパスワード)およびサービスにアクセスするための認証トークンを提供するサーバーのURLで構成されます。 次の「ストレージ資格証明の詳細」を参照してください。

これがHadoopクラスタで使用される唯一のストレージ・サービス・インスタンスの場合、他の資格証明を登録する必要はありません。 ただし、他のストレージ・サービス・インスタンスにアクセスする必要があり、そのために他の資格証明を登録する場合は、bda-oss-adminコマンドを使用して実行することができます。 資格証明の値は、bda-oss-adminコマンドにパラメータとして入力して設定します。 「odcpを使用したデータのコピー」を参照してください。

ストレージ資格証明の詳細

資格証明のコンポーネントについて次の表で説明します。

注意:

Oracle Cloud Infrastructure Object Storage Classicは、オープンソースのOpenStack Object StoreプロジェクトであるSwiftに基づいています。 その結果、bda-oss-adminコマンドライン・ユーティリティには「swift」という単語を含むサブコマンドとオプションが含まれます。
ストレージ資格証明、構文および使用方法 説明
STORAGE USER NAME

オプションの構文

--swift-username Service-IdentityDomain:username[.role]

環境変数

ST_USER

次のものに対して必須

add_swift_cred

Oracle Cloud Infrastructure Object Storage Classicアカウント管理者のユーザー名は、Service-IdentityDomain:usernameの形式で

  • Service

    Oracle Cloud Infrastructure Object Storage Classicインスタンスの顧客提供名です。 この名前は、ストレージ・サービスのプロビジョニング時に指定されたものです。

  • IdentityDomain

    サービス・インスタンスがプロビジョニングされるアイデンティティ・ドメインです。 この名前は、ストレージ・サービスのプロビジョニング時に指定されたものです。 (Swiftでは、これをテナントIDと呼びます。)

  • username

    アカウントに対する管理権限を持つユーザーのユーザー名です。

  • role

    コンテナに割り当てられているアクセス制御リスト(ACL)で定義されたロールです。 詳細については、Oracle Cloud Infrastructure Object Storage Classicの使用」「コンテナ・メタデータの設定」を参照してください。 ロールが定義されていない場合、このオプションは不要です。

上記のストレージの詳細は、Oracle Cloud Infrastructure Object Storage Classicアカウントの「サービスの詳細」ページで確認できます。 「Oracle Cloudスタート・ガイド」Oracle Cloud Infrastructure Object Storage Classicへのアクセス」を参照してください。

ユーザー名は次の「ネーミング要件」で説明するルールに準拠している必要があります。

例:

WestRegion-nloracle12345:pstuyves

STORAGE PASSWORD

オプションの構文

--swift-password password

環境変数

ST_KEY

次のものに対して必須

add_swift_cred

change_swift_cred_passwd

前述のusernameに関連付けられたパスワード。

パスワードがBase64でエンコードされている場合は、-bフラグを使用します。たとえば、--swift-password AnEncodedPassword -bのようにします。

STORAGE LOCATION

オプションの構文

--swift-storageurl url

環境変数

ST_AUTH

次のものに対して必須

add_swift_cred

Oracle Cloud Infrastructure Object Storage Classicデータ・センター/リージョンのOracle Cloud Infrastructure Object Storage Classic (Swift)\認証URL (https://storage.us2.oraclecloud.com/auth/v1.0など)。 これらのURLが構築される方法の説明は、REST APIを使用している場合のアクセスの認証に関する項を参照してください。

STORAGE PROVIDER NAME

オプションの構文

--swift-provider name

環境変数

ST_PROVIDER

次のものに対して必須

add_swift_cred

change_swift_cred_passwd

delete_swift_cred

資格証明のユーザー指定の名前。 この名前は、add_swift_credを使用して資格証明を追加するときに提供されます。 名前は、Hadoopで資格証明の別名として使用されます。

プロバイダ名は、「ネーミング要件」で説明したルールに準拠している必要があります。

注意: Create Clusterウィザードを使用してHadoopクラスタを作成する場合、デフォルトのプロバイダ名であるBDCSが作成されます。 --swift-provider nameオプションを使用してストレージ・プロバイダ名を指定しない場合、ストレージ・プロバイダ名が必要な場合(次のようなコマンドを使用する場合など)は常にBDCSを使用できます。

hdfs dfs -cat mycontainer.BDCS/file

ネーミング要件

プロバイダ名とコンテナ名は、次のようにRFC952 DOD Internet Host Table Specificationに準拠している必要があります。

  • 名前は2から24文字のテキスト文字列で、次の文字のみ含むことができます。

    • 文字A-Zおよびa-z (大文字と小文字は区別されません)

    • 0-9の数字

    • ハイフン(-)

  • 最初の文字はアルファベット文字にする必要があります。

  • 最後の文字をピリオドまたはハイフンにすることはできません。

  • 空白は使用できません。

  • ピリオドは、ドメイン・スタイル名のコンポーネントを区切る場合にのみ使用できます。