2. core-site.xml
を手動で編集して変更する場合は、次の手順に従ってください。a. core-site.xml
が置かれているいずれかのHDFS
ノードにログインします。b. core-site.xml
のバックアップ コピーを作成します。cp core-site.xml core-site.backup
c.
任意のテキスト エディターを使用して、core-site.xml
を開いて編集します。3.
以下のプロパティおよび値を追加して、ECS HDFSファイル システムを実装するJava
クラ スを定義します。<property>
<name>fs.viprfs.impl</name>
<value>com.emc.hadoop.fs.vipr.ViPRFileSystem</value>
</property>
<property>
<name>fs.AbstractFileSystem.viprfs.impl</name>
<value>com.emc.hadoop.fs.vipr.ViPRAbstractFileSystem</value>
</property>
4. fs.vipr.installations
プロパティを追加します。次の例では、値がSite1
に設定されています。
<property>
<name>fs.vipr.installations</name>
<value>Site1</value>
</property>
5. ECS
データ ノードまたはロードバランサーのIP
アドレスをコンマ区切りリストとして指定して、fs.vipr.installation.[installation_name]
.hosts
プロパティを追加します。次の例で は、installation_nameがSite1
に設定されています。<property>
<name>fs.vipr.installation.Site1.hosts</name>
ECS HDFSと安全な(Kerberos対応)Hadoopクラスターの統合の構成
core-site.xmlの編集
169
<value>203.0.113.10,203.0.113.11,203.0.113.12</value>
</property>
6. fs.vipr.installation.
[installation_name].resolution
プロパティを追加し、以下のいずれ かの値に設定します。オプション 説明
dynamic
ロードバランサーを使用せず、ECSデータ ノードに直接アクセスする場合に使用します。
fixed
ロードバランサーを介してECS
データ ノードにアクセスする場合に使用します。
次の例では、installation_nameが
Site1
に設定されています。<property>
<name>fs.vipr.installation.Site1.resolution</name>
<value>dynamic</value>
</property>
a. fs.vipr.installation.
[installation_name].resolution
をdynamic
に設定する場合は、fs.vipr.installation.[installation_name].resolution.dynamic.time_to_live_ms
プロパ ティを追加して、アクティブ ノードのリストを問い合わせるクエリーをECS
に実行する 頻度を指定します。次の例では、installation_nameが
Site1
に設定されています。<property>
<name>fs.vipr.installation.Site1.resolution.dynamic.time_to_live _ms</name>
<value>900000</value>
</property>
7. fs.defaultFS
プロパティを特定し、値を変更して、ファイル システムのURI
を指定します。この設定は任意です。ECS ViPRFSに接続するファイル システムの完全な
URL
を指定で きます。次のフォーマットを使用します。
viprfs://
[
<bucket_name.namespace.installation_name
]、ここでl [bucket_name]:Hadoopジョブの実行時に使用するデータを保持するバケットの名 前。単純認証モードを実行している場合は、バケットの所有者は全員(Everybody)に 権限を付与する必要があります。次の例では、bucket_nameが
mybucket
に設定さ れています。l [namespace]:[bucket_name]が存在するテナントの名前空間。次の例では、
namespace
がmynamespace
に設定されています。l [installation_name]:fs.vipr.installationsプロパティによって指定された値。次の例 では、installation_nameが
Site1
に設定されています。<property>
<name>fs.defaultFS</name>
<value>viprfs://mybucket.mynamespace.Site1/</value>
</property>
8. fs.permissions.umask-mode
を特定し、値を022
に設定します。一部の構成では、このプロパティがこの時点で存在していない可能性があります。その 場合は、プロパティを追加します。
<property>
<name>fs.permissions.umask-mode</name>
ECS HDFSと安全な(Kerberos対応)Hadoopクラスターの統合の構成
<value>022</value>
</property>
9. fs.viprfs.auth.anonymous_translation
プロパティを追加します。HDFSを使用して作成さ れたファイルまたはディレクトリの所有者とグループの指定に使用します。㽷
ECS 2.2
よりも前には、このパラメーターは、現在のユーザーが変更する権限がもてるように、所有者のいないファイルとディレクトリ(匿名で所有されたファイル)に所有者を割り 当てるために使用されていました。ファイルとディレクトリを匿名で作成することはできな くなり、このパラメーターの設定により所有者が割り当てられます。
オプション 説明
LOCAL_USER
この設定は、シンプルなセキュリティを使用するHadoop
クラスターに使用します。新しく作成したファイルとディレクトリに、Hadoop クラスターの
Unix
ユーザーとグループを割り当てます。CURRENT_USER
この設定は、Kerberized Hadoopクラスターに使用します。Kerberos
プリンシパル([email protected])をファイルまたはディレクトリの所有者として割り当て、バケットのデフォルトとして割り 当てられているグループを使用します。
NONE(デフォルト) (非推奨)以前は、匿名で所有されるオブジェクトから、現在のユ
ーザーへのマッピングを実行するべきでないことを示していまし た。<property>
<name>fs.viprfs.auth.anonymous_translation</name>
<value>LOCAL_USER</value>
</property>
10.
[fs.viprfs.auth.identity_translation]プロパティを追加し、[CURRENT_USER_REALM]に 設定します。これにより、kinit
を使用してサインインしたユーザーのレルムにマッピン グされます。<property>
<name>fs.viprfs.auth.identity_translation</name>
<value>CURRENT_USER_REALM</value>
</property>
11.
[viprfs.security.principal]プロパティを追加します。このプロパティにより、ECSユーザー がKDC
に通知されます。プリンシパル名には「_HOST」を含めることができます。これは、実行時に実際のデータ ノード
FQDN
に自動的に置換されます。<property>
<name>viprfs.security.principal</name>
<value>vipr/[email protected]</value>
</property>
12. Pivotal HAWQ
サービスを構成している場合は、次のパラメーターを追加します。a.
[hawq.vipr.endpoint
]プロパティに値を追加します。次の形式で値を指定しま す。[viprfs://<datanode-ip>:9040/<namespace>/<bucket>
] 例:<property>
<name>hawq.vipr.endpoint</name>
ECS HDFSと安全な(Kerberos対応)Hadoopクラスターの統合の構成
core-site.xmlの編集
171
<value>viprfs://10.0.0.1:9040/h3/hawqBucket</value>
</property>
b. hawq.authentication.kerberos.principal
に値を設定して、HAWQKerberos
プリンシパルにID
を追加します。例:
<property>
<name>hawq.authentication.kerberos.principal</name>
<value>postgres@REALM</value>
</property>
c. hawq.keytab.path
に値を設定して、HAWQ keytabにパスを追加します。例:
<property>
<name>hawq.keytab.path</name>
<value>/etc/security/keytabs/postgres.keytab</value>
</property>
13. Kerberos
チケットのキャッシュされている場所を追加します。例:
<property>
<name>hadoop.security.kerberos.ticket.cache.path</name>
<value>/tmp/<krbcc_1000</value>
</property>