Cludera ManagerでImpalaをインストールする
こんにちは。
前回でCludera Managerが動作するようになったため、
Impalaを実際動く所までインストールしてみます。
1.OS設定実施
前回のvm.swappinessのエラーが出ていたため、それだけは解消してしまいます。
各サーバで下記のコマンドを実行することで解消可能です。
# echo "vm.swappiness = 0" >> /etc/sysctl.conf # sysctl -p
上記のコマンドを実行後、再度ホストインスペクタを実行するとエラーが解消するため、「続行」を押下します。
2. Impalaのインストール
「続行」を押下すると下記の画面が表示されるため、「Impalaがあるコア」を選択し、「続行」を押下します。
すると、必要なサービスをどこにインストールするか、を選択する画面が出るため、
下記のように修正します。
- HDFS:NameNode > cluster1
- HDFS:Secondary NameNode > cluster2
- HDFS:Balancer > cluster1
- HDFS:DataNode > cluster2、cluster3、cluster4
- Hive:Gateway > cluster1、cluster2、cluster3、cluster4
- Hive:Hive MetaStore Server > cluster1
- Hive:HiveServer2 > cluster1
- Hue:Hue Server > cluster1
- Impala:Impala Catalog Server > cluster1
- Impala:Impala State Store > cluster1
- Impala:Impala Daemon > HDFS:DataNodeと同じ
- Cloudera Management Service:Service Monitor > cluster1
- Cloudera Management Service:Host Monitor > cluster1
- Cloudera Management Service:Event Server > cluster1
- Cloudera Management Service:Alarm Publisher > cluster1
- Oozie:Oozie Server > cluster1
- Sqoop2:Sqoop2 Server > cluster1
- YARN(MR2 Included):Resource Manager > cluster1
- YARN(MR2 Included):Job History Server > cluster1
- YARN(MR2 Included):NodeManager > HDFS:DataNodeと同じ
- ZooKeeper:Server > cluster2、cluster3、cluster4
次はデータベースの設定です。
これはそのまま組み込みのデータベースを使う、として先に進めます。
わかりやすくするために下記の通りデータの出力先だけ「/opt」配下に修正し、「続行」を行います。
#記述が無いものはデフォルトです。
- データディレクトリ : /opt/zookeeper/snapshot
- トランザクションログのディレクトリ : /opt/zookeeper/transaction
- DataNode データディレクトリ(DataNode Default Group) : /opt/dfs/dn
- DataNode データディレクトリ(DataNode Group 1) : /opt/dfs/dn
- NameNode データディレクトリ : /opt/dfs/nn
- HDFS チェックポイントディレクトリ : /opt/dfs/snn
- NodeManager のローカルディレクトリリスト(NodeManager Default Group) : /opt/yarn/nm
- NodeManager のローカルディレクトリリスト(NodeManager Group 1) : /opt/yarn/nm
- Hive ウェアハウスディレクトリ : /opt/hive/warehouse
- Sqoop 2 Server の Metastore ディレクトリ : /opt/sqoop2
- Impala Daemon スクラッチディレクトリ(Impala Daemon Default Group) : /opt/impala/impalad
- Impala Daemon スクラッチディレクトリ(Impala Daemon Group 1) : /opt/impala/impalad
- Oozie Server のデータディレクトリ : /opt/oozie/data
- Host Monitor のストレージディレクトリ : /opt/cloudera-host-monitor
- Service Monitor のストレージディレクトリ : /opt/cloudera-service-monitor
すると、インストールがはじまり、各サーバにサービスがインストールされ、起動します。
・・・このあたり、以前rpmファイルを一つ一つ指定してHadoopのサービスを各サーバに
必要なものだけインストールしていたころと比べるとあっけなく感じる位楽ですね。
これでクラスタのインストールは完了です。
ちなみにトップページに戻ると設定の警告が出ているため、確認すると
下記のようにリソース系の設定エラーが出ていました。
とはいえ、今回は仮想マシンを使用しているためこの手のエラーは出るものとして継続します。
3. Impalaコマンドの動作確認
クラスタのサービス一覧からHueを選択し、Hueの画面を開いてアカウントを登録します。
アカウント登録後、サービスのテンプレートを全て登録し、継続します。
ユーザは特に何もせず次へ進みます。
続行後、画面上部のQuery Editor > Impalaを選択します。
すると、Impala Editor画面が表示されます。
まだテーブルは作成していないため、「show databases」を実行し、結果が表示されるのを確認します。
cluster2にログインし、impala-shellから同じコマンドを実行してみます。
# impala-shell Starting Impala Shell without Kerberos authentication Connected to cluster2:21000 Server version: impalad version 2.0.0-cdh5 RELEASE (build ecf30af0b4d6e56ea80297df2189367ada6b7da7) Welcome to the Impala shell. Press TAB twice to see a list of available commands. Copyright (c) 2012 Cloudera, Inc. All rights reserved. (Shell build version: Impala Shell v2.0.0-cdh5 (ecf30af) built on Sat Oct 11 13:56:06 PDT 2014) > show databases; Query: show databases +------------------+ | name | +------------------+ | _impala_builtins | | default | +------------------+
Hueの画面と同じ結果が表示されることが確認できました。
とりあえずImpala用のコマンドが実行可能になったため、次はImpalaに投入するためのデータを作成します。
ただ、CSVで投入してParquetに変換する、だといまいち効率が悪いため、
事前にParquetに変換するための処理を実際に流してみます。
あまりそのあたりの情報が無いようですが、
データを投入してからImpalaで変換を行うのは効率が悪いため、まずは試してみます。