3 Oracle Big Data Applianceへのユーザー・アクセスのサポート
この章では、Oracle Big Data Appliance上でMapReduceジョブを実行、またはOracle Big Data Connectorsを使用しているユーザーをサポートする方法について説明します。次の項について説明します。
3.1 Kerberosで保護されたクラスタへのアクセスについて
Apache Hadoopは、本質的に安全なシステムではありません。ネットワーク・セキュリティによってのみ保護されています。接続が確立されると、クライアントはシステムに対して完全なアクセス権限を取得します。
こうしたオープンな環境に対処するために、Oracle Big Data Applianceは、ソフトウェア・インストールのオプションとしてKerberosセキュリティをサポートしています。Kerberosは、悪質な偽装の防止に効果的なネットワーク認証プロトコルです。Oracle Big Data Applianceでは、MIT KerberosとMicrosoft Active Directory Kerberosの2つの形式のKerberos Hadoopセキュリティがサポートされています。
Kerberosを使用するように構成された場合、CDHは次のセキュリティを提供します。
-
CDHマスター・ノード、NameNodeおよびJournalNodeでグループ名を解決し、ユーザーがグループのメンバーシップを操作できないようにします。
-
マップ・タスクはジョブを発行したユーザーのアイデンティティの下で実行されます。
Oracle Big Data Applianceでは、Microsoft Active Directory (AD)サーバーを使用して、(Cloudera Managerでサポートされているように) Kerberosがサポートされるよう、Kerberosセキュリティを直接構成できます。
Mammoth構成の一部として、オプションでいずれかの形式のKerberosを有効化できます。bdacli
ユーティリティを使用して、後からKerberosを有効化または無効化することもできます。
Oracle Big Data ApplianceクラスタをKerberosで保護する場合には、この章で説明するように、CDHクライアントと個々のユーザーを認証するための追加のステップが必要です。ユーザーは、Kerberosユーザー名、パスワードおよびレルムを把握している必要があります。
次の表では、よく使用されるKerberosのコマンドについて説明します。詳細は、MITのKerberosに関するドキュメントを参照してください。
表3-1 Kerberosのユーザー・コマンド
コマンド | 説明 |
---|---|
|
Kerberosチケットを取得します。 |
|
すでにチケットがある場合に、Kerberosチケットをリストします。 |
|
有効期限が切れる前にチケットを無効にします。 |
|
パスワードを変更します。 |
関連項目:
-
MIT Kerberosのドキュメント(
http://web.mit.edu/kerberos/krb5-latest/doc/
) -
『CDH 5 Security Guide』(https://www.cloudera.com/documentation/cdh/5-0-x/CDH5-Security-Guide/CDH5-Security-Guide.html)。
-
Mammothまたはbdacliユーティリティのいずれかを使用してActive Directory Kerberosを有効化することを選択する場合は、最初にMy Oracle Support (MOS)ドキュメント2029378.1および2013585.1を参照してください。これらのドキュメントでは、必要な準備ステップについて説明し、既知の問題に関する重要情報を提供しています。
3.2 CDHへのリモート・クライアント・アクセスの提供
Oracle Big Data Applianceでは、Cloudera's Distribution including Apache Hadoop (CDH)のすべてのコマンドおよびユーティリティに対する完全なローカル・アクセスをサポートしています。
Oracle Big Data Applianceのクライアント・ネットワークにアクセスできる任意のコンピュータ上でブラウザを使用すれば、Cloudera Manager、Hadoop Map/Reduce Administration、Hadoop Task TrackerインタフェースなどのブラウザベースのHadoopツールにアクセスできます。
ただし、リモートでHadoopコマンドを発行するには、CDHクライアントとして構成され、Oracle Big Data Applianceクライアント・ネットワークへのアクセス権を持つシステムから接続する必要があります。この項では、HDFSにアクセスしてOracle Big Data Appliance上でMapReduceジョブを発行できるよう、コンピュータを設定する方法について説明します。
関連項目:
My Oracle Support ID 1506203.1
3.2.1 前提条件
次の前提条件を満たしていることを確認します。
-
次のアクセス権限を持っている必要があります。
-
クライアント・システムへのsudoアクセス権
-
Cloudera Managerへのログイン・アクセス権
これらの権限がない場合は、社内のシステム管理者にお問い合せください。
-
-
クライアント・システムが、ClouderaでCDH5用にサポートされているオペレーティング・システムを実行している必要があります。次の場所にある『Cloudera CDH5 Installation Guide』を参照してください。
-
クライアント・システムが、Oracle JDK 1.7.0_25以上を実行している必要があります。
バージョンを確認するには、次のコマンドを使用します。
$ java -version java version "1.7.0_65" Java(TM) SE Runtime Environment (build 1.7.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
-
クライアント構成で、HDFSプロパティ
dfs.client.use.datanode.hostname
が"true
"に設定されていることを確認してください。<property> <name>dfs.client.use.datanode.hostname</name> <value>true</value> <description>Whether clients should use datanode hostnames when connecting to datanodes. </description> </property>
Oracle Big Data ApplianceのCloudera Managerから構成をダウンロードする場合、このプロパティはすでに"
true
"に設定されています。Clouderaなど他のソースから設定を取得した場合は、"true
"に設定できない可能性があります。
3.2.2 サポートされているすべてのオペレーティング・システムにCDHクライアントをインストールする
CDHクライアントを、Clouderaでのサポート対象として識別されたすべてのオペレーティング・システムにインストールするには、次の指示に従います。
CDHクライアント・ソフトウェアをインストールするには、次の手順を実行します。
-
クライアント・システムにログインします。
-
以前のバージョンのHadoopがすでにインストールされている場合には、削除します。
以前のCDHバージョンの削除については、次の場所にあるClouderaのドキュメントを参照してください。
https://www.cloudera.com/documentation/enterprise/5-5-x/topics/cdh_ig_cdh_comp_uninstall.html
-
Oracle Big Data ApplianceのCDHクラスタの任意のノードからCDHソフトウェアをコピーします。たとえば、次のファイルにはCDH 5.8.0ソフトウェアが含まれています。
/opt/oss/src/CDH/5.8.0-ol5/hadoop-2.6.0-cdh5.8.0.tar.gz
-
ファイルを常設の場所に解凍します。これがHadoopのホーム・ディレクトリになります。次のコマンドは、現在のディレクトリで
hadoop-2.6.0-cdh5.8.0
にファイルを解凍します。tar -xvzf hadoop-2.6.0-cdh5.8.0.tar.gz
-
次の手順に従って、CDHクライアントを構成します。
3.2.3 保護されていないクラスタ用のCDHクライアントの構成
CDHをインストールしたら、Oracle Big Data Applianceを操作できるように構成する必要があります。
HADOOP_HOME
を参照するこの手順のコマンドは、この環境変数を必要とする古いHadoopクラスタをサポートするために使用します。クラスタは、YARN (MRv2)を使用し、HADOOP_HOME
を使用しません。古いクライアントがクラスタにアクセスしない場合、これらのコマンドは省略できます。
Hadoopクライアントを構成するには、次の手順を実行します。
-
クライアント・システムにログインし、Cloudera ManagerからMapReduceクライアント構成をダウンロードします。次の例では、Cloudera Managerが
bda01node03.example.com
のポート7180 (デフォルト)でリスニングしており、構成yarn-conf.zip
というファイルに格納されています。$ wget -O yarn-conf.zip http://bda01node03.example.com:7180/cmf/services/3/client-config
-
mapreduce-config.zip
をクライアント・システム上の常設の場所に解凍します。$ unzip yarn-config.zip Archive: yarn-config.zip inflating: yarn-conf/hadoop-env.sh inflating: yarn-conf/hdfs-site.xml inflating: yarn-conf/core-site.xml inflating: yarn-conf/mapred-site.xml inflating: yarn-conf/log4j.properties inflating: yarn-conf/yarn-site.xml
すべてのファイルは、
yarn-config
という名前のサブディレクトリに格納されます。 -
次のようにして、シンボリック・リンクを設定します。
ln -s $HADOOP_HOME/../../../bin-mapreduce1 $HADOOP_HOME/bin ln -s $HADOOP_HOME/../../../etc/hadoop-mapreduce1 $HADOOP_HOME/conf rm -f $HADOOP_HOME/lib/slf4j-log4j*jar
-
hadoop-env.sh
をテキスト・エディタで開き、環境変数をシステム上の実際のパスに設定します。export HADOOP_HOME=hadoop-home-dir/share/hadoop/mapreduce1 export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=yarn-conf-dir export JAVA_HOME=/usr/java/version alias hadoop=$HADOOP_HOME/bin/hadoop alias hdfs=$HADOOP_HOME/../../../bin/hdfs
-
Hadoop構成ファイルのバックアップ・コピーを作成します。
# cp /full_path/yarn-conf /full_path/yarn-conf-bak
-
ステップ2でダウンロードした構成ファイルで既存の構成ファイルを上書きします。
# cd /full_path/yarn-conf # cp * /usr/lib/hadoop/conf
3.2.4 Kerberosで保護されたクラスタ用のCDHクライアントの構成
CDHクライアントをセキュアなCDHクラスタで動作できるようにするには、次のステップに従います。
Kerberos用にCDHクライアントを構成するには、次の手順を実行します。
-
CDHクライアントを作成するシステムにログインします。
-
Java Cryptography Extension Unlimited Strength Jurisdiction Policy Filesをインストールします。
-
使用しているJavaのバージョン用のファイルをダウンロードします。
Java 6:
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
Java 7:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
Java 8:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
-
ダウンロードしたファイルを解凍します。この例では、JCE-8を解凍しています。
$ unzip UnlimitedJCEPolicyJDK8.zip Archive: UnlimitedJCEPolicyJDK8.zip creating: UnlimitedJCEPolicy/ inflating: UnlimitedJCEPolicy/US_export_policy.jar inflating: UnlimitedJCEPolicy/local_policy.jar inflating: UnlimitedJCEPolicy/README.txt
注意:
JCE-6ファイルが、UnlimitedJCEPolicyではなくjceという名前のディレクトリに解凍されます。
-
解凍されたファイルをJavaのセキュリティ・ディレクトリにコピーします。次に例を示します。
$ cp UnlimitedJCEPolicy/* /usr/java/latest/jre/lib/security/
-
-
保護されていないクライアントを構成するステップに従います。
「保護されていないクラスタ用のCDHクライアントの構成」を参照してください。
-
Kerberosレルムに追加されているCDHクラスタのユーザーIDがあることを確認します。
「Hadoopクラスタ・ユーザーの作成」を参照してください。
-
CDHクライアント・システムで、
$HADOOP_CONF_DIR
ディレクトリにkrb5.conf
という名前のファイルを作成します。インストール環境に応じ、サーバー名、ドメインおよびレルムに適した値を使用して次のように構成設定を入力します。[libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false clockskew = 3600 ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] EXAMPLE.COM = { kdc = bda01node01.example:88 admin_server = bda01node07:749 default_domain = example.com } [domain_realm] .com = EXAMPLE.COM
-
新しい構成ファイルを有効にします。
export KRB5_CONFIG=$HADOOP_CONF_DIR/krb5.conf export HADOOP_OPTS="-Djava.security.krb5.conf=$HADOOP_CONF_DIR/krb5.conf" export KRB5CCNAME=$HADOOP_CONF_DIR/krb5cc_$USER
-
Oracle Big Data Applianceクラスタへのアクセス権があることを確認します。
「CDHクライアントからクラスタへのアクセス権の確認」を参照してください。
3.2.5 CDHクライアントからクラスタへのアクセス権の確認
Oracle Big Data Applianceクラスタへのアクセス権があることを確認するには、次の手順に従います。
クラスタのアクセス権を確認するには、次の手順を実行します。
-
Kerberosで保護されたCDHクラスタにアクセスするには、まずチケット発行チケット(TGT)を取得します。
$ kinit userid@realm
-
次のような簡単なHadoopファイル・システム・コマンドを入力して、クライアントからOracle Big Data ApplianceのHDFSにアクセスできることを確認します。
$ hadoop fs -ls /user Found 6 items drwxr-xr-x - jdoe hadoop 0 2014-04-03 00:08 /user/jdoe drwxrwxrwx - mapred hadoop 0 2014-04-02 23:25 /user/history drwxr-xr-x - hive supergroup 0 2014-04-02 23:27 /user/hive drwxrwxr-x - impala impala 0 2014-04-03 10:45 /user/impala drwxr-xr-x - oozie hadoop 0 2014-04-02 23:27 /user/oozie drwxr-xr-x - oracle hadoop 0 2014-04-03 11:49 /user/oracle
クライアント・システムではなく、Oracle Big Data Applianceで定義されているHDFSユーザーに対する出力を確認します。Oracle Big Data Appliance上で直接コマンドを入力した場合と同じ結果が表示されます。
-
MapReduceジョブを発行します。Oracle Big Data Appliance上のHDFSユーザー名と同じユーザー名でクライアント・システムにログインする必要があります。
次の例では、piの値を算出します。
$ hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-*jar pi 10 1000000 Number of Maps = 10 Samples per Map = 1000000 Wrote input for Map #0 Wrote input for Map #1 . . . Job Finished in 12.403 seconds Estimated value of Pi is 3.14158440000000000000
-
Cloudera Managerを使用して、ローカル・システムではなくOracle Big Data Applianceでジョブが実行されたことを確認します。「Activities」メニューから「mapreduce Jobs」を選択してジョブのリストを表示します。
次の図に、前述の例で作成されたジョブを示します。
3.3 Hiveへのリモート・クライアント・アクセスの提供
Hiveクライアントを設定するには、次の手順を実行します。
-
CDHクライアントを設定します。「CDHへのリモート・クライアント・アクセスの提供」を参照してください。
-
クライアント・システムにログインし、Cloudera ManagerからHiveクライアント構成をダウンロードします。次の例では、Cloudera Managerが
bda01node03.example.com
のポート7180 (デフォルト)でリスニングしており、構成はhive-conf.zip
というファイルに格納されています。$ wget -O hive-conf.zip http://bda01node03.example.com:7180/cmf/services/5/client-config Length: 1283 (1.3K) [application/zip] Saving to: 'hive-conf.zip' 100%[======================================>] 1,283 --.-K/s in 0.001s 2016-05-15 08:19:06 (2.17 MB/s) - `hive-conf.zip' saved [1283/1283]
-
ファイルを常設のインストール・ディレクトリに解凍します。これがHive構成ディレクトリになります。
$ unzip hive-conf.zip Archive: hive-conf.zip inflating: hive-conf/hive-env.sh inflating: hive-conf/hive-site.xml
-
ClouderaのWebサイトからHiveソフトウェアをダウンロードします。
$ wget http://archive.cloudera.com/cdh5/cdh/5/hive-<version>-cdh5.<version>.tar.gz Length: 49637596 (47M) [application/x-gzip] Saving to: 'hive-<version>-cdh5.<version>.tar.gz' 100%[======================================>] 49,637,596 839K/s in 47s 2016-05-15 08:22:18 (1.02 MB/s) - `hive-<version>-cdh5.<version>.tar.gz' saved [49637596/49637596]
-
ファイルを常設のインストール・ディレクトリに解凍します。これがHiveのホーム・ディレクトリになります。次のコマンドは、現在のディレクトリで
hive-0.12.0-cdh5.0.0
という名前のサブディレクトリにファイルを解凍します。$ tar -xvzf hive-<version>-cdh5.<version>.tar.gz hive-<version>-cdh5.<version>/ hive-<version>-cdh5.<version>/examples/ . . .
-
hive-home-dirとhive-conf-dirを、ステップ3と5で作成したディレクトリに置き換えて、次の変数を設定します。
export HIVE_HOME=hive-home-dir export HIVE_CONF_DIR=hive-conf-dir alias hive=$HIVE_HOME/bin/hive
次のステップは、Hiveクライアントが正常に設定されたかどうかをテストします。
Hiveのアクセス権を確認するには、次の手順を実行します。
-
Kerberosで保護されたCDHクラスタにアクセスするには、まずチケット発行チケット(TGT)を取得します。
$ kinit userid@realm
-
Hiveコンソールを開きます。
$ hive Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-<version>-cdh5.<version>.jar!/hive-log4j.properties Hive history file=/tmp/oracle/hive_job_log_e10527ee-9637-4c08-9559-a2e5cea6cef1_831268640.txt hive>
-
すべての表をリストします。
hive> show tables; OK src
3.4 ユーザー・アカウントの管理
このセクションでは、HDFS、MapReduceおよびHiveにアクセスできるユーザーの作成方法を説明します。この項の内容は次のとおりです。
3.4.1 Hadoopクラスタ・ユーザーの作成
-
MapReduceジョブを実行するには、ユーザーは
hadoop
グループに属しているか、または同等の権限を付与されている必要があります。 -
Hive内に表を作成または変更するには、ユーザーは
hive
グループに属しているか、または同等の権限を付与されている必要があります。 -
Hueユーザーを作成するには、ブラウザでHueを開き、「User Admin」アイコンをクリックします。「Cloudera Hueを使用したHadoopの操作」を参照してください。
3.4.1.1 保護されていないクラスタでのユーザーの作成
保護されていないHadoopクラスタ上でユーザーを作成するには、次の手順を実行します。
例3-1 Hadoopユーザーの作成
# sudo -u hdfs hadoop fs -mkdir /user/jdoe # sudo -u hdfs hadoop fs -chown jdoe:hadoop /user/jdoe # hadoop fs -ls /user Found 5 items drwx------ - hdfs supergroup 0 2013-01-16 13:50 /user/hdfs drwxr-xr-x - hive supergroup 0 2013-01-16 12:58 /user/hive drwxr-xr-x - jdoe jdoe 0 2013-01-18 14:04 /user/jdoe drwxr-xr-x - oozie hadoop 0 2013-01-16 13:01 /user/oozie drwxr-xr-x - oracle hadoop 0 2013-01-16 13:01 /user/oracle # dcli useradd -G hadoop,hive -m jdoe # dcli id jdoe bda1node01: uid=1001(jdoe) gid=1003(jdoe) groups=1003(jdoe),127(hive),123(hadoop) bda1node02: uid=1001(jdoe) gid=1003(jdoe) groups=1003(jdoe),123(hadoop),127(hive) bda1node03: uid=1001(jdoe) gid=1003(jdoe) groups=1003(jdoe),123(hadoop),127(hive) . . . # dcli ls /home | grep jdoe bda1node01: jdoe bda1node02: jdoe bda1node03: jdoe
例3-1では、hadoop
をプライマリ・グループとし、hive
を追加グループとしてjdoe
という名前のユーザーを作成します。
3.4.2 ユーザー・ログイン権限の付与(オプション)
リモート・クライアントからMapReduceジョブを実行する場合、Oracle Big Data Applianceでログイン権限は必要ありません。ただし、Oracle Big Data Applianceにログインする場合、パスワードを設定する必要があります。パスワードの設定とリセットは同じ方法で行えます。
すべてのOracle Big Data Applianceサーバーに対するユーザー・パスワードを設定するには、次の手順を実行します。
-
「Hadoopクラスタ・ユーザーの作成」の説明に従って、Hadoopクラスタ・ユーザーを作成します。
-
ユーザーにパスワードがないことを確認します。
# dcli passwd -S user_name bda1node01.example.com: jdoe NP 2013-01-22 0 99999 7 -1 (Empty password.) bda1node02.example.com: jdoe NP 2013-01-22 0 99999 7 -1 (Empty password.) bda1node03.example.com: jdoe NP 2013-01-22 0 99999 7 -1 (Empty password.)
出力に「Empty password」または「Password locked」と表示された場合は、パスワードを設定する必要があります。
-
パスワードを設定します。
hash=$(echo 'password' | openssl passwd -1 -stdin); dcli "usermod --pass='$hash' user_name"
-
すべてのサーバーに対してパスワードが設定されていることを確認します。
# dcli passwd -S user_name bda1node01.example.com: jdoe PS 2013-01-24 0 99999 7 -1 (Password set, MD5 crypt.) bda1node02.example.com: jdoe PS 2013-01-24 0 99999 7 -1 (Password set, MD5 crypt.) bda1node03.example.com: jdoe PS 2013-01-24 0 99999 7 -1 (Password set, MD5 crypt.)
関連項目:
-
dcli
の詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。 -
useradd
コマンドの完全な構文は、Linuxman
ページを参照してください。
3.5 削除されたファイルのリカバリ
CDHはオプションのごみ箱機能を備えているので、削除されたファイルまたはディレクトリをただちにシステムから削除せずに、指定した期間trashディレクトリに移動できます。デフォルトで、ごみ箱機能はHDFSおよびすべてのHDFSクライアントで有効です。
3.5.1 ごみ箱からのファイルのリストア
ごみ箱機能が有効になっている場合は、削除してしまったファイルを簡単にリストアできます。
trashディレクトリからファイルをリストアするには、次の手順を実行します。
-
削除されたファイルがごみ箱にあることを確認します。次の例では、
oracle
ユーザーによって削除されたファイルを確認します。$ hadoop fs -ls .Trash/Current/user/oracle Found 1 items -rw-r--r-- 3 oracle hadoop 242510990 2012-08-31 11:20 /user/oracle/.Trash/Current/user/oracle/ontime_s.dat
-
以前の場所にファイルを移動またはコピーします。次の例では、
ontime_s.dat
をごみ箱からHDFSの/user/oracle
ディレクトリに移動します。$ hadoop fs -mv .Trash/Current/user/oracle/ontime_s.dat /user/oracle/ontime_s.dat
3.5.2 ごみ箱を空にする間隔の変更
ごみ箱を空にする間隔を変更するには、次の手順を実行します。
-
Cloudera Managerを開きます。「Cloudera Managerを使用した操作の管理」を参照してください。
-
「Home」ページの「Status」で、hdfsをクリックします。
-
hdfsページで、「Configuration」サブタブをクリックし、「View and Edit」を選択します。
-
「NameNode Default Group」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します。図3-2を参照してください。
-
現在の値をクリックして、ポップアップ・フォームに新しい値を入力します。
-
「Save Changes」をクリックします。
-
ページ上部の「Actions」メニューを展開して、「Restart」を選択します。
-
root
として、クラスタ内のノードへの接続を開きます。 -
新しい構成をデプロイします。
dcli -C bdagetclientconfig
次の図は、Cloudera ManagerにFilesystem Trash Intervalプロパティが表示されているところを示しています。
3.5.3 ごみ箱機能の無効化
Oracle Big Data Applianceでは、デフォルトでごみ箱機能が有効になっています。この構成はクラスタに対して無効にできます。ごみ箱機能を無効化すると、削除されたファイルおよびディレクトリはごみ箱に移動しません。リカバリできなくなります。
3.5.3.1 ごみ箱機能の完全な無効化
次の手順を実行すると、HDFSのごみ箱機能は無効化されます。ごみ箱機能が完全に無効化されても、クライアント構成には影響しません。
ごみ箱機能を完全に無効化するには、次の手順を実行します。
-
Cloudera Managerを開きます。「Cloudera Managerを使用した操作の管理」を参照してください。
-
「Home」ページの「Status」で、hdfsをクリックします。
-
hdfsページで、「Configuration」サブタブをクリックし、「View and Edit」を選択します。
-
「NameNode Default Group」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します。図3-2を参照してください。
-
現在の値をクリックして、ポップアップ・フォームに値0 (ゼロ)と入力します。
-
「Save Changes」をクリックします。
-
ページ上部の「Actions」メニューを展開して、「Restart」を選択します。
3.5.3.2 ローカルのHDFSクライアントのごみ箱機能の無効化
Oracle Big Data ApplianceにインストールされているすべてのHDFSクライアントは、ごみ箱機能を使用するように構成されています。HDFSクライアントとは、HDFSに接続して、HDFSファイルの一覧表示、HDFSとの間のファイルのコピー、ディレクトリの作成といった操作を実行する任意のアプリケーションです。
Cloudera Managerを使用すると、ローカルのクライアント構成設定を変更できますが、ごみ箱機能は有効なままです。
注意:
どのクライアントもごみ箱を使用できないようにするには、ごみ箱機能を完全に無効化します。「ごみ箱機能の完全な無効化」を参照してください。
ローカルのHDFSクライアントのごみ箱機能を無効化するには、次の手順を実行します。
-
Cloudera Managerを開きます。「Cloudera Managerを使用した操作の管理」を参照してください。
-
「Home」ページの「Status」で、hdfsをクリックします。
-
hdfsページで、「Configuration」サブタブをクリックし、「View and Edit」を選択します。
-
「Gateway Default Group」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します。図3-2を参照してください。
-
「Client Settings」の下にある「Use Trash」プロパティを検索するか、下方向にスクロールして探します。図3-2を参照してください。
-
「Use Trash」チェック・ボックスの選択を解除します。
-
「Save Changes」をクリックします。この設定は、Oracle Big Data Applianceに新たにダウンロードされるすべてのHDFSクライアントの構成に使用されます。
-
root
として、クラスタ内のノードへの接続を開きます。 -
新しい構成をデプロイします。
dcli -C bdagetclientconfig
3.5.3.3 リモートのHDFSクライアントのごみ箱機能の無効化
リモートのHDFSクライアントは、通常、CDHクライアントをダウンロードおよびインストールすると構成されます(「CDHへのリモート・クライアント・アクセスの提供」を参照)。Oracle SQL Connector for HDFSやOracle R Advanced Analytics for Hadoopなどがリモート・クライアントです。
リモートのHDFSクライアントのごみ箱機能を無効化するには、次の手順を実行します。
-
CDHクライアントがインストールされているシステムへの接続を開きます。
-
テキスト・エディタで
/etc/hadoop/conf/hdfs-site.xml
を開きます。 -
ごみ箱を空にする間隔をゼロに設定します。
<property> <name>fs.trash.interval</name> <value>0</value> </property>
-
ファイルを保存します。