今までの流れでタイトルを"IsilonianTech 第7回 Isilonとオープンソース ~Isilon Hadoop tools~"にするか悩んだのですが、昨今Hadoopという言葉だけでは収まりきれずデータアナリティクス全般の基盤として採用頂くことも多いので"Isilonとデータアナリティクス"というタイトルにしました。

Isilonはデータアナリティクス基盤(データレイク)としての相性が非常に良い製品です。各ベンダが提供している様々な商用のアナリティクス製品の基盤として幅広く採用されているだけでなくオープンソースとの組み合わせも多いので、今後もストリーミングなどのワークロードとの連携を強化していく予定です。

Analytics.png

     Isilonは、HDFSをネイティブに統合するために2012年1月(OneFS 6.5.5)からHDFSに対応しており現在まで他の追随を許していません。

     事実、昨年の段階でデータアナリティクス基盤として220PB、440社以上の実績があります。

 

Isilonがデータアナリティクス製品と相性が良い理由は幾つもあるのですが、主だった点としては拡張が容易(スケールアウト)、マルチプロトコル、インプレース分析、ディザスタリカバリ、コンピュートとデータを分離することによるライフサイクルやデータ移行からの解放などが挙げられます。またHadoopに関しては複数ディストリビューションをサポートしているためマルチディストリビューションでの使用も可能としています。更にIsilonの全ノードが、Name Node(メタデータを格納するノード)とData Nodeの役割を担うことになり可用性や容量の効率面に於いてもメリットが出てきます。(Hadoop分析にDellEMC ISILONを選ぶ主な理由

Role.png


今回は、あらためてClouderaのCDH(Cloudera Distribution with Apache Hadoop)との組み合わせに関する基本的な設定についてご紹介します。最低限用意するものはCDH用のLinux1台とIsilonSD Edge(またはシミュレータ)となります。Hadoopをあまりご存知ないかたや、動かすために何から始めれば良いのかわからないというかたも、本ブログでセットアップの流れをご確認頂き、出来れば一度セットアップして頂けるとIsilonとHadoopの良さをご理解いただけると思います。なお、導入にあたっては下記の導入ガイドおよびベストプラクティスが参考になります。

EMC ISILON ONEFS WITH CLOUDERA HADOOP INSTALLATION GUIDE

EMC ISILON BEST PRACTICES GUIDE FOR HADOOP DATA STORAGE


CDH_ENV.png

 

 

1. Isilonの設定

はじめにIsilonから準備していきます。HDFS(無償)ライセンスが入っているかを確認し、SmartConnectやAccessZoneの設定をしていきます。


1.1 ライセンスの確認

HDFSとSmartConnect Advancedのライセンスが入っているかを確認します。IsilonSD Edgeを使う場合は既にライセンスが有効になっており下記のように表示されます。なお、Isilonは全プロトコルライセンスが無償です。

sdedge-1# isi license list

OneFS License ID: -

Valid Signature: Yes


Module                Licensed node count  Actual node count  Status     Expiration date

-----------------------------------------------------------------------------------------

SMARTQUOTAS           6 Nodes              3 Nodes            Licensed   -   

SNAPSHOTIQ            6 Nodes              3 Nodes            Licensed   -   

SMARTCONNECT_ADVANCED 6 Nodes              3 Nodes            Licensed   -  

SYNCIQ                6 Nodes              3 Nodes            Licensed   -   

SMARTPOOLS            6 Nodes              3 Nodes            Licensed   -   

SMARTLOCK             0 Nodes              0 Nodes            Unlicensed -   

HDFS                  6 Nodes              3 Nodes            Licensed   -   

SMARTDEDUPE           6 Nodes              3 Nodes            Licensed   -   

CLOUDPOOLS            0 Nodes              0 Nodes            Unlicensed -   

SWIFT                 6 Nodes              3 Nodes            Licensed   -   

HARDENING             0 Nodes              0 Nodes            Unlicensed -   

ONEFS                 6 Nodes              3 Nodes            Licensed   -   

-----------------------------------------------------------------------------------------

Total: 12

 

1.2 Access Zoneの作成

ベストプラクティスでは、デフォルトのSystem Zoneとは別にHDFS専用のAccess Zoneを用意することを推奨しています。Access ZoneとはIsilonを論理的に分割することでネットワークや共有、認証基盤を分離する機能です。今回は、zone1-cdhというAccess Zoneを作成します。

sdedge-1# isi zone zones create --name=zone1-cdh --path=/ifs/zone1/cdh --create-path

sdedge-1# isi zone zones modify --user-mapping-rules="hdfs=>root" --zone zone1-cdh

sdedge-1# isi zone zones view zone1-cdh

                       Name: zone1-cdh

                       Path: /ifs/zone1/cdh

                   Groupnet: groupnet0

              Map Untrusted: -

             Auth Providers: lsa-local-provider:zone1-cdh

               NetBIOS Name: -

         User Mapping Rules: hdfs=>root

       Home Directory Umask: 0077

         Skeleton Directory: /usr/share/skel

         Cache Entry Expiry: 4H

Negative Cache Entry Expiry: 1m

                    Zone ID: 2

 

1.3 SmartConnectの設定

今回は、SmartConnect Zone Nameをsc.isilonian.localという名前で作成します。なお、CDHのマシンとDNSで名前解決(正引き/逆引き)出来るようにしておきます。

sdedge-1# isi network pools create --id=groupnet0:subnet0:hadoop-pool-cdh --ranges=<IPレンジを入力します> --access-zone=zone1-cdh --alloc-method=dynamic --ifaces=1:ext-1,2:ext-1,3:ext-1 --sc-subnet=subnet0 --sc-dns-zone=sc.isilonian.local --description=hadoop

 

作成したSmartConnectの確認

sdedge-1# isi network pools view --id=groupnet0:subnet0:hadoop-pool-cdh

                     ID: groupnet0.subnet0.hadoop-pool-cdh

               Groupnet: groupnet0

                 Subnet: subnet0

                   Name: hadoop-pool-cdh

                  Rules: -

            Access Zone: zone1-cdh

      Allocation Method: dynamic

       Aggregation Mode: lacp

     SC Suspended Nodes: -

            Description: hadoop

                 Ifaces: 1:ext-1, 2:ext-1, 3:ext-1

              IP Ranges: <IPレンジ>

       Rebalance Policy: auto

SC Auto Unsuspend Delay: 0

      SC Connect Policy: round_robin

                SC Zone: sc.isilonian.local

    SC DNS Zone Aliases: -

     SC Failover Policy: round_robin

              SC Subnet: subnet0

                 SC TTL: 0

          Static Routes: -

 

1.4 HDFSブロックサイズの設定

ブロックサイズを大きくすることにより殆どのケースでパフォーマンスを向上させることができるのでHDFSのブロックサイズを変更します。(デフォルトは64MB)

sdedge-1# isi hdfs settings modify --zone=zone1-cdh --default-block-size=128M

sdedge-1# isi hdfs settings view --zone=zone1-cdh

                 Service: Yes

      Default Block Size: 128M

   Default Checksum Type: none

     Authentication Mode: all

          Root Directory: /ifs/zone1/cdh

         WebHDFS Enabled: Yes

           Ambari Server: -

         Ambari Namenode: -

             Odp Version: -

    Data Transfer Cipher: none

Ambari Metrics Collector: -

 

1.5 ACL設定の変更

sdedge-1# isi auth settings acls modify --group-owner-inheritance=parent

 

1.6 HDFSユーザとグループの作成

ADやLDAPがない環境では、IsilonおよびCDHのLinuxに同じUID、GIDを持つユーザとグループを作成する必要がありますが、ローカルユーザを簡単に作成するためにDellEMCではIsilon Hadoop toolsを用意しています。Isilon Hadoop toolsの詳細についてはGitHub(https://github.com/isilon/isilon_hadoop_tools/)を参照ください。

sdedge-1# mkdir -p /ifs/zone1/cdh/scripts

sdedge-1# cd /ifs/zone1/cdh/scripts

sdedge-1# wget https://raw.githubusercontent.com/Isilon/isilon_hadoop_tools/master/isilon_create_users.sh --no-check-certificate

sdedge-1# wget https://raw.githubusercontent.com/Isilon/isilon_hadoop_tools/master/isilon_create_directories.sh --no-check-certificate

sdedge-1# chmod u+x *

 

ユーザの作成を実施します。CDHなのでdistはcdh、UIDとGIDの開始は501とし、zoneは作成したzone1-cdhとします。

sdedge-1# bash isilon_create_users.sh --dist cdh --startuid 501 --startgid 501 --zone zone1-cdh

 

ディレクトリの作成を実施します。CDHなのでdistはcdh、zoneはzone1-cdhとします。

sdedge-1# bash isilon_create_directories.sh --dist cdh --zone zone1-cdh

 

1.7 ユーザ、グループのコピー

Isilonで作成したユーザおよびグループをCDHのLinuxへコピーします。

まず、下記のファイルの中身をCDHのLinuxの/etc/passwdへ追記します。

sdedge-1# cat zone1-cdh.passwd

# use this file to add to the passwd file of your clients

hdfs:x:501:501:hadoop-svc-account:/home/hdfs:/bin/bash

mapred:x:502:502:hadoop-svc-account:/home/mapred:/bin/bash

yarn:x:503:503:hadoop-svc-account:/home/yarn:/bin/bash

HTTP:x:504:504:hadoop-svc-account:/home/HTTP:/bin/bash

hbase:x:505:505:hadoop-svc-account:/home/hbase:/bin/bash

hive:x:506:506:hadoop-svc-account:/home/hive:/bin/bash

impala:x:507:507:hadoop-svc-account:/home/impala:/bin/bash

hue:x:508:508:hadoop-svc-account:/home/hue:/bin/bash

cloudera-scm:x:509:509:hadoop-svc-account:/home/cloudera-scm:/bin/bash

accumulo:x:510:510:hadoop-svc-account:/home/accumulo:/bin/bash

flume:x:511:511:hadoop-svc-account:/home/flume:/bin/bash

httpfs:x:512:512:hadoop-svc-account:/home/httpfs:/bin/bash

apache:x:513:513:hadoop-svc-account:/home/apache:/bin/bash

kafka:x:514:514:hadoop-svc-account:/home/kafka:/bin/bash

kms:x:515:515:hadoop-svc-account:/home/kms:/bin/bash

keytrustee:x:516:516:hadoop-svc-account:/home/keytrustee:/bin/bash

kudu:x:517:517:hadoop-svc-account:/home/kudu:/bin/bash

llama:x:518:518:hadoop-svc-account:/home/llama:/bin/bash

oozie:x:519:519:hadoop-svc-account:/home/oozie:/bin/bash

solr:x:520:520:hadoop-svc-account:/home/solr:/bin/bash

spark:x:521:521:hadoop-svc-account:/home/spark:/bin/bash

sentry:x:522:522:hadoop-svc-account:/home/sentry:/bin/bash

sqoop:x:523:523:hadoop-svc-account:/home/sqoop:/bin/bash

sqoop2:x:524:524:hadoop-svc-account:/home/sqoop2:/bin/bash

zookeeper:x:525:525:hadoop-svc-account:/home/zookeeper:/bin/bash

anonymous:x:526:526:hadoop-svc-account:/home/anonymous:/bin/bash

cmjobuser:x:527:527:hadoop-svc-account:/home/cmjobuser:/bin/bash

admin:x:528:528:hadoop-svc-account:/home/admin:/bin/bash

 

続いて下記のファイルの中身をCDHのLinuxの/etc/groupへ追記します。

sdedge-1# cat zone1-cdh.group

# use this file to add to the group file of your clients

hdfs:x:501:

mapred:x:502:

yarn:x:503:

HTTP:x:504:

hbase:x:505:

impala:x:507:

hue:x:508:

cloudera-scm:x:509:

accumulo:x:510:

flume:x:511:

httpfs:x:512:

apache:x:513:

kafka:x:514:

kms:x:515:

keytrustee:x:516:

kudu:x:517:

llama:x:518:

oozie:x:519:

solr:x:520:

spark:x:521:

sentry:x:522:

zookeeper:x:525:

anonymous:x:526:

cmjobuser:x:527:

admin:x:528:

hadoop:x:529:hdfs,mapred,yarn,HTTP,hbase,

supergroup:x:530:hdfs,mapred,yarn,HTTP,hbase,

sqoop:x:523:sqoop2

sqoop2:x:524:sqoop

hive:x:506:impala

Isilonの設定は以上で終了です。次にClouderaのセットアップを実施します。

 

 

2. Clouderaのセットアップ

続いてclouderaのセットアップを実施します。今回、私のほうではCDH 5.14.1とOneFS 8.1.0.2で構築しました。IsilonとClouderaのバージョンに関しては下記を参照ください。

Product Compatibility Matrix for EMC Isilon(Cloudera)

Hadoop Distributions and Products Supported by OneFS

 

2.1 Cloudera Managerのインストール

はじめにインストーラをダウンロードします。なお、現時点での最新版は5.14.1となります。

[root@cdh ~]# wget http://archive.cloudera.com/cm5/installer/5.14.1/cloudera-manager-installer.bin

 

ダウンロードしたインストーラに実行権限を付与して実行します。

setup1.png

 

ClouderaおよびOracle(Java)のライセンス規約が表示されますので同意する場合はNextで進んでいきます。

JDKからインストールが始まり、次にCloudera Manager Serverのインストールとなります。

setup2.png

 

以下の画面が表示されたらインストール完了となります。

setup3.png


インストール後にCloudera Managerが起動しているか確認します。

[root@cdh ~]# systemctl status cloudera-scm-server.service

 

2.2 CDHのセットアップ

Cloudera Manager(GUI)にアクセスします。

http://<IPアドレスもしくはホスト名>:7180、ユーザ名/パスワードはadmin/adminでログインします。

Cloudera_Login.png


バージョンの選択画面が表示されますので適切なものを選択します。(私のほうではEnterpriseの評価版を選択しました。)

Cloudera_Select_Enterprise.png

 

CDHをインストールするホストを検索します。複数ホストを検索する場合はホスト名を改行して入力もしくはパターンマッチングで登録できます。

Install1.png

 

検出したホストに対してCDHをインストールする場合はチェックボックスをチェックします。

Install2.png

 

エージェントのインストールが開始されます。

Install3.png

 

続いてParcelのインストールが開始されます。

Install4.png

 

インストール完了後、ホストの正常性をチェックします。エラーが出ている場合は指示に従って修正後に正常性チェックを再実行します。

Install5.png

 

インストールするサービスを選択します。今回はカスタムサービスを選択します。

Install51.png

 

使用するサービスをチェックしていきます。中段あたりにIsilonという名前のサービスがありますので選択します。また、IsilonがHDFSの役割を司るのでHDFSのサービスのチェックは外します。(インストールしません)

Install52.png

 

各サービスをどのホストに割り当てるか選択していきます。今回はLinuxマシンが1台だけですので全てのサービスを1台のホストに割り当てていきます。

Install6.png

 

各サービスで使用するデータベースを選択します。今回は組み込みのデータベース(PostgreSQL)を選択しました。

Install_DB.png

 

Isilonに必要な項目を入力していきます。

Default File System URI    hdfs://sc.isilonian.local:8020

WebHDFS URL                 http://sc.isilonian.local:8082/webhdfs/v1

Install7.png

 

各サービスがインストールされ開始されます。

Install8.png

 

以上で、セットアップ完了となります。万が一、インストール中にエラーが出た場合は殆どがネットワークの問題(名前解決)か、CPU、メモリ、ディスク容量などリソースが足りていなものと思われます。

Install9.png

 

 

3. インストール後の確認

今回のように1台で構築した際には幾つかのアラームが出ていると思いますので、内容を確認して沈静化(Suppress)します。

CM_dashboard.png

 

セットアップ直後の段階では、Isilonの所を見るとスパナマークが必ず2つ表示されます。内容は下記の画面キャプチャとなりますが、HDFSとしてIsilonを用いる際にはHDFS Trash(ゴミ箱機能)は使わずIsilonのスナップショットで対応しますので、これらは無効にして問題ありません。

Isilon_Use_Trash.png

 

以上でセットアップは完了となります。

CM_dashboad2.png

 

 

4. 動作確認

最後に簡単にHBaseを使って動作確認を実施したいと思います。HBaseでテーブルを作成するとHDFSでIsilon側にファイルとして作成されるのが確認できます。

 

Isilonianテーブルの作成

hbase(main):001:0> create 'Isilonian','hoge1','hoge2'

0 row(s) in 1.3990 seconds


=> Hbase::Table - Isilonian

hbase(main):002:0> list

TABLE

Isilonian

1 row(s) in 0.0210 seconds


=> ["Isilonian"]

 

hdfsコマンドで確認

[root@cdh ~]# hdfs dfs -ls /hbase/data/default

Found 1 items

drwxr-xr-x   - hbase hbase          0 2018-04-02 23:34 /hbase/data/default/Isilonian

 

Isilon側から確認

sdedge-1# ls -l /ifs/zone1/cdh/hbase/data/default

total 2

drwxr-xr-x    5 505  505  100 Apr  2 23:34 Isilonian

 

 

おわりに

いかがでしたでしょうか?Isilonではあればコンピューティングとデータを分離することができマルチプロトコルでアクセスができることがお解り頂けたかと思います。また、Cloudera Managerなどの各ディストリビューションの管理ツールとも統合されていますし、Cloudera、Hortonworks(Pivotal、IBM)等の主要ディストリビューションとの互換性情報やセットアップガイド、ホワイトペーパやHadoop用のユーザ、グループを迅速にセットアップするためのツール(Isilon Hadoop tools)を提供していますので企業でのHadoopの導入や運用のに対する工数を低減することができます。なお、最新のOneFSではCloudera Navigatorとの統合が出来ており、今後も各ディストリビューションと更に連携を強化していきますので、その辺につきましても本ブログでご紹介していきたいと思います。

 

 

参考情報

互換性情報など

Product Compatibility Matrix for EMC Isilon(Cloudera)

Hadoop Distributions and Products Supported by OneFS

Isilon Hadoop tools

Isilon Hadoop tools

導入ガイド(Cloudera)

EMC ISILON ONEFS WITH CLOUDERA HADOOP INSTALLATION GUIDE

EMC ISILON ONEFS WITH HADOOP AND CLOUDERA FOR KERBEROS INSTALLATION GUIDE

ベストプラクティスガイド

EMC ISILON BEST PRACTICES GUIDE FOR HADOOP DATA STORAGE

Isilon Info Hub(IsilonとHadoopに関する様々な情報)

Using Hadoop with Isilon - Isilon Info Hub

その他

ビッグデータにEMC ISILONスケールアウトNASを選ぶ理由

Hadoop分析にDellEMC ISILONを選ぶ主な理由

EMC ISILONスケールアウトNAS上のHadoop

HADOOP分析向けにDELL EMC ISILONベースのスケールアウトデータレイクストレージを導入する主な理由

EMC ISILON SCALE-OUT NAS FOR IN-PLACE HADOOP DATA ANALYTICS(日本語)

DELL EMC ISILON & CLOUDERA ENTERPRISE を使用したHADOOPソリューション

Dell EMC PowerEdgeサーバとスケールアウト NAS “Dell EMC Isilon” によるデータレイクソリューション



バックナンバー

IsilonianTech 第1回 Isilonとオープンソース ~REX-Ray編~

IsilonianTech 第2回 Isilonとオープンソース ~OpenStack Manila編~

IsilonianTech 第3回 Isilonとオープンソース ~Isilon Data Insights Connector~

IsilonianTech 第4回 Software Defined Storage ~IsilonSD Edge~

IsilonianTech 第5回 Isilonとオープンソース ~Isilon-POSH~

IsilonianTech 第6回 Isilonとオープンソース ~Elastic Stack編~

IsilonianTech 第7回 Isilonとデータアナリティクス ~Cloudera編~

IsilonianTech 第8回 Elastic Cloud Storage (ECS) ~ECS Community Edition~

IsilonianTech 第9回 ISILON + ECS = UNLIMITED ~Isilon CloudPools~

 

安井 謙治

Dell EMC Unstructured Data Solutions

UDS事業本部 SE