HAAS エンジン (Hadoop バージョンを共有)¶
コンテンツ:
インストール¶
クラスタのインストール¶
きわめて詳細な公式のガイドライン(初心者にとってはおそらくは複雑な)に従うことで Hadoop クラスタをセットアップすることができます。また、Hadoop ディストリビューションをインストール・マネージャとともに使用することで、より使いやすくなります。よく知られているディストリビューションは:
- Hortonworks Data Platform (HDP) : HDP のインストール方法の詳細については、このリンクをご覧ください
- Cloudera Distribution for Hadoop (CDH) : CDH のインストール方法の詳細については、このリンクを参照してください
- MapR : MapR をインストールする方法の詳細については、このリンクをご覧ください
Cosmos エコシステムのツールは、HDP 2.2 でテストされていますが、他の Hadoop ディストリビューションでも動作するはずです。
これは完全な Hadoop クラスタですので、少なくとも HDFS, YARN, MapReduce2 をインストールすることが必須です。Hive などの他の分析ツールが推奨されます。サービスとデーモンの完全なリストは次のとおりです :
- HDFS service:
- (Active) Namenode (mandatory)
- (Stand-by) Namenode (optional)
- SecondaryNamende (optional)
- Datanodes (mandatory)
- YARN service:
- ResourceManager (mandatory)
- Scheduler (mandatory)
- Timeline (mandatory)
- MapReduce2
- HistoryServer (mandatory)
- Hive service
- HiveMetastore (mandatory)
- HiveServer2 (mandatory)
- MySQLServer (mandatory)
サービス・ノードのインストール¶
Hadoop クラスタに加えて、クラスタの一部ではない (つまり、Hadoop デーモンをホストしない) Hadoop ライブラリとクラスタのすべての構成ファイルのコピーをインストールした特別なノードを配置することを強くお勧めします。その理由は、このノードがコンピューティング・サービスの一意のエンドポイントとして機能し、クラスタの詳細を隠し、パブリック IP アドレスを大量に節約できるからです。このノードだけが公開されています。
利用可能なサービスは次のとおりです :
- Hive server.
- Oozie server.
- ssh server.
もちろん、クラスタのノードの 1つにそれらのサービスを公開し、そのようなノードへのパブリック・アクセスを許可することで、同じ目標を達成できます。しかし、これは性能とセキュリティの点では推奨されません。サービスがノードのリソースを Hadoop デーモンと共有する必要があると考えてください。他のユーザの分析を効果的に計算するマシンにユーザがアクセスすることを望めません。
最後に、Maven、git などの特定の開発ツールをインストールして、ユーザがそれらを利用できるようにすることができます。それぞれのツールをインストールするのを避けます。
構成¶
クラスタの構成¶
Hadoop ディストリビューションによって開発されたさまざまなマネージャー/インストーラが、設定に関する作業のほとんどを行います。単に次々にウィザードを実行するだけで完了します。
それにもかかわらず、さらなるリファレンスのために、Hadoop で使用される設定ファイルは次のとおりです :
- サイト固有のものがない場合の読み取り専用のデフォルト設定 :
/etc/hadoop/conf/[http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml core-default.xml]
/etc/hadoop/conf/[http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml hdfs-default.xml]
/etc/hadoop/conf/[http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml mapred-default.xml]
/etc/hadoop/conf/[http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml yarn-default.xml]
- サイト固有の設定 :
/etc/hadoop/conf/core-site.xml
/etc/hadoop/conf/hdfs-site.xml
/etc/hadoop/conf/mapred-site.xml
/etc/hadoop/conf/yarn-default.xml
サービス・ノードの設定¶
Hive と Oozie は通常、ディストリビューション・マネージャによって、インストールされます(有効にした場合)ので、使用準備が整います。それにもかかわらず、以下の設定ファイルが参考になります :
- サイト固有のものがない場合の読み取り専用のデフォルト設定 :
/etc/hadoop/conf/hive-default.xml
/etc/hadoop/conf/oozie-default.xml
- サイト固有の設定 :
/etc/hadoop/conf/hive-site.xml
/etc/hadoop/conf/oozie-site.xml
Hive 設定の詳細は、こちらを参照してください。Oozie も同じです。
ssh サーバはデフォルト設定で使用できます。より適切なのは、sudo 権限を持つ管理 Unix ユーザの作成と、そのユーザの公開鍵と秘密鍵のペアの作成です。公開鍵をインストールする必要があります。このユーザは、ストレージ・クラスタ上で特定の管理コマンドを実行するために、Cosmos GUI で必要となります。それを行う方法の詳細については、付録 A を参照してください。
実行¶
もう一度、既存のディストリビューションのいずれかでマネージャを使用すると、すべてが簡単になります。これらのマネージャは、通常、クラスタを開始および停止する非常に簡単で直感的な方法を公開しています。
それにもかかわらず、さらなるリファレンスのために、これらは、さまざまな Hadoop サービスが実行するデーモンのそれぞれを起動/停止するコマンドです :
$ (su -l hdfs -c) /usr/lib/hadoop/sbin/hadoop-daemon.sh --config /etc/hadoop/conf [start|stop] [namenode|datanode|journalnode]
$ (su -l yarn -c) /usr/lib/hadoop-yarn/sbin/yarn-daemon.sh --config /etc/hadoop/conf [start|stop] [resourcemanager|nodemanager|historyserver]
$ () /usr/lib/hadoop-mapreduce/sbin/mr-jobhistory-daemon.sh --config /etc/hadoop/conf [start|stop] [historyserver]
管理¶
管理