ストレージ・クラスタ¶
コンテンツ:
インストール¶
HDFS 専用クラスタのインストール¶
きわめて詳細な公式のガイドライン (初心者の方は複雑かもしれません) に従うか、または Hadoopディストリビューションをインストール・マネージャで使用することで、HDFS クラスタをセットアップして、より簡単に使用できます。よく知られているディストリビューションは :
- Hortonworks Data Platform (HDP) : HDP のインストール方法の詳細については、このリンクを参照してください
- Cloudera Distribution for Hadoop (CDH) : CDH のインストール方法の詳細については、このリンクを参照してください
- MapR : MapRをインストールする方法の詳細については、このリンクを参照してください
Cosmos エコシステムのツールは HDP 2.2 でテストされていますが、他の Hadoop ディストリビューションでも動作するはずです。
これはストレージ専用クラスタなので、HDFS サービスをインストールするだけです。YARN やMapReduce2, Hive などの他の分析ツールはインストールしないでください。サービスとデーモンの完全なリストは次のとおりです。
- HDFS service:
- (Active) Namenode (mandatory)
- (Stand-by) Namenode (optional)
- SecondaryNamende (optional)
- Datanodes (mandatory)
サービス・ノードのインストール¶
Hadoop クラスタに加えて、クラスタの一部ではない、つまり、Hadoop デーモンをホストしない Hadoop ライブラリとクラスタのすべての構成ファイルのコピーをインストールした特別なノードを配置することを強くお勧めします。その理由は、このノードがコンピューティング・サービスの一意のエンドポイントとして機能し、クラスタの詳細を隠し、パブリック IP アドレスを大量に節約できるからです。このノードだけが公開されています。
利用可能なサービスは次のとおりです :
- HttpFS server : このサービスは WebHDFS のゲートウェイとして機能し、同じ REST API を実装しますが、リダイレクトに基づく WebHDFS 操作 (初期コンテンツを含むファイルの作成 with initial content)など) であっても、クラスタのノードの IP アドレス/FQDN を隠すように特別に設計されています。HttpFS はソースからインストールできますが、最終的に Hadoop ディストリビューションを使用した場合は、おそらくリポジトリからインストールすることができます。
- ssh server : ユーザがファイルシステム・シェルを使用して HDFS ユーザ空間を管理したい場合は、このサービス・ノードに ssh 接続する必要があります。
もちろん、クラスタのノードの1つにそれらのサービスを公開し、そのようなノードへのパブリック・アクセスを許可することで、同じ目標を達成できます。しかし、これはパフォーマンス(サービスがノードのリソースを Hadoop デーモンと共有しなければならないと考えます)とセキュリティ(他のユーザのデータを効果的に格納するマシンにユーザがアクセスすることを望みません)の点ではお勧めできません。
構成¶
HDFS 専用クラスタの設定¶
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/core-site.xml
/etc/hadoop/conf/hdfs-site.xml
サービス・ノードの設定¶
HttpFS は、公式ドキュメントに記載されているように構成する必要があります。
ssh サーバはデフォルト設定で使用できます。より適切なのは、sudo 権限を持つ管理用 Unix ユーザの作成と、そのユーザの公開鍵と秘密鍵のペアの作成です。公開鍵をインストールする必要があります。このユーザは、コンピューティング・クラスタ上で特定の管理コマンドを実行するために、Cosmos GUI で必要となります。それを行う方法の詳細については、付録Aを参照してください。
実行¶
HDFS 専用クラスタの実行¶
もう一度、既存のディストリビューションのいずれかでマネージャを使用すると、すべてが簡単になります。これらのマネージャは、通常、クラスタを開始および停止する非常に簡単で直感的な方法を公開しています。
それにもかかわらず、さらなるリファレンスとして、以下は HDFS サービスが実行するデーモンのそれぞれを起動/停止するコマンドです :
$ (su -l hdfs -c) /usr/lib/hadoop/sbin/hadoop-daemon.sh --config /etc/hadoop/conf [start|stop] [namenode|datanode|journalnode]
サービスの実行¶
公式ドキュメントに記載されているように、httpfs は次のようにして停止/再開を開始します :
$ /usr/lib/hadoop-httpfs/sbin/httpfs.sh [start|stop|restart]
管理¶
HDFS 管理コマンドを使用できます。