クラスタへのストレージ・プロバイダの登録
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 ユーザー名は「ネーミング要件」で説明したルールに準拠している必要があります。 |
--swift-password |
ST_KEY |
管理者のパスワードです。 |
--swift-storageurl |
ST_AUTH |
Oracle Cloud Infrastructure Object Storage Classic (Swift)認証URLで、認証トークンを取得します。たとえば、 |
--swift-provider |
ST_PROVIDER |
資格証明のユーザー指定の名前。 この名前は、 プロバイダ名は「ネーミング要件」で説明したルールに準拠している必要があります。 注意: Create Instanceウィザードを使用してHadoopインスタンスを作成する場合、デフォルトのプロバイダ名である
|
環境変数の設定
これらを環境変数として設定するには、シェル・スクリプトを作成および実行できます。
次の例では、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」という単語を含むサブコマンドとオプションが含まれます。
ストレージ資格証明、構文および使用方法 | 説明 |
---|---|
Oracle Cloud Infrastructure Object Storage Classicアカウント管理者のユーザー名は、
上記のストレージの詳細は、Oracle Cloud Infrastructure Object Storage Classicアカウントの「サービスの詳細」ページで確認できます。 「Oracle Cloudスタート・ガイド」の「Oracle Cloud Infrastructure Object Storage Classicへのアクセス」を参照してください。 ユーザー名は次の「ネーミング要件」で説明するルールに準拠している必要があります。 例: |
|
前述の パスワードがBase64でエンコードされている場合は、 |
|
Oracle Cloud Infrastructure Object Storage Classicデータ・センター/リージョンのOracle Cloud Infrastructure Object Storage Classic (Swift)\認証URL ( |
|
資格証明のユーザー指定の名前。 この名前は、 プロバイダ名は、「ネーミング要件」で説明したルールに準拠している必要があります。 注意: Create Clusterウィザードを使用してHadoopクラスタを作成する場合、デフォルトのプロバイダ名である
|
ネーミング要件
プロバイダ名とコンテナ名は、次のようにRFC952 DOD Internet Host Table Specificationに準拠している必要があります。
-
名前は2から24文字のテキスト文字列で、次の文字のみ含むことができます。
-
文字A-Zおよびa-z (大文字と小文字は区別されません)
-
0-9の数字
-
ハイフン(-)
-
-
最初の文字はアルファベット文字にする必要があります。
-
最後の文字をピリオドまたはハイフンにすることはできません。
-
空白は使用できません。
-
ピリオドは、ドメイン・スタイル名のコンポーネントを区切る場合にのみ使用できます。