LoginSignup
3
3

More than 5 years have passed since last update.

Cloudera QuickstartでImpala Kuduが使えるようになるまでにしたこと

Last updated at Posted at 2016-09-03

1.はじめに

今回はを予めClouderaManager、及びCDHの環境が構築されたdockerイメージであるcloudera/quickstartを使用してkuduの構築を行う。
ただし試行錯誤した末に構築できたものなので、少々余分な設定があると思われる。

2.dockerイメージのダウンロードと起動

①Dockerイメージのダウンロード

$ docker pull cloudera/quickstart:latest  

②Dockerコンテナのバックグラウンド起動

$ docker run --hostname=quickstart.cloudera --name=cloudera --privileged=true -t -i -d  -p 7180 -p 80 -p 8888 cloudera/quickstart:latest /usr/bin/docker-quickstart  

③Dockerコンテナへ接続

$ docker exec -it cloudera bash

3.kuduサービス追加の事前設定

これまではホストOS上でDockerコマンドを使用していたが、ここからはコンテナ上の操作となる。

①kuduのrepoファイルを取得

cd /etc/yum.repos.d/
curl -O http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo

②kuduのインストール

sudo yum install kudu -y

③kuduのCSD(Custom Service Descriptor)を追加
CSDはClouderaMangerのアドオンに必要なファイルのこと。

cd /opt/cloudera/csd
curl -O http://archive.cloudera.com/beta/kudu/csd/kudu-latest

jarの拡張子を付与する。
※拡張子を付与しないと何故かClouderaManagerに表示されない。
latest以外はjarの拡張子があるのでそれを取得してもよい。
ちなみに今現在の最新版は0.10である。

mv kudu-latest kudu-latest.jar

clouderaユーザが使用できるためにとりあえず777で権限付与しておく。

chmod 777 kudu-latest.jar

④kudu用ディレクトリ作成
kuduで必要になるMasterServer、TabletServer用のディレクトリを作成し、権限を付与する。

cd /opt

mkdir fs_wal_dir_master fs_data_dirs_master fs_wal_dir_tablet fs_data_dirs_tablet

chmod 777 fs_wal_dir_master fs_data_dirs_master fs_wal_dir_tablet fs_data_dirs_tablet

⑤NTPの設定
KuduはMasterServerをNTPサーバにして、TabletServerと時刻同期する必要がある。Kuduは時刻に相当シビアであり、ずれるとすぐにKuduのサービスがダウンとなる。

sudo yum -y install ntp

日本標準時間に設定する。

sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

自分自身をNTPサーバの頂点にするために、元のNTP接続先はコメントにし、server 127.127.1.0を追加設定する。

/etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0

NTPサーバを起動する。

sudo service ntpd start

正しく時刻同期できているか確認する。ntpq -pコマンドの結果でLOCALの左に*があればOK。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.           5 l    2   64    1    0.000    0.000   0.004

⑥impala-kuduのインストール

元のimpalaサービスをアンインストールする。

yum remove impala impala-catalog impala-server impala-shell impala-state-store impala-udf-devel -y

impala-kuduのrepoファイルを取得する。

cd /etc/yum.repos.d/
curl -O http://archive.cloudera.com/beta/impala-kudu/redhat/6/x86_64/impala-kudu/cloudera-impala-kudu.repo

impala-kuduをインストールする。

yum install impala-kudu impala-kudu-catalog impala-kudu-debuginfo impala-kudu-server mpala-kudu-shell impala-kudu-state-store impala-kudu-udf-devel -y

⑦ClouderaMangerの起動

/home/cloudera/cloudera-manager --express --force

結構時間がかかる。

※先にClouderaManagerを起動していた場合は、service cloudera-scm-server restartでサービス再起動するだけでよい。

下記の結果が出力されればClouderaMangerの起動完了
kobito.1472740286.560109.png

4.ClouderaManagerからkuduサービスの追加

①ブラウザを起動してClouderaManagerに接続
事前にホストOS側でdocker psコマンドから、コンテナのポート番号7180にマッピングされたホストOSのポート番号を確認する。

$ docker ps
CONTAINER ID        IMAGE                        COMMAND                    CREATED             STATUS              PORTS                                                                       NAMES
02493a6f70d4        cloudera/quickstart:latest   "/usr/bin/docker-  quic"   15 hours ago        Up 15 hours         0.0.0.0:32806->80/  tcp, 0.0.0.0:32805->7180/tcp, 0.0.0.0:32804->8888/tcp   cloudera

上記結果からポート番号32805がホスト側にマッピングされているため、ブラウザを起動しhttp://localhost:32805へ接続すると下記画面が表示される。
kobito.1472740658.178790.png

ユーザ名とパスワードはclouderaを入力してログインする。

②クラスタにkuduサービスを追加

  • ClouderaManagerのトップ画面が表示されるため、サービスを追加しますを選択する。
    スクリーンショット 2016-09-01 23.46.07.png

  • Kudu (Beta)のラジボタンにチェックを入れ、続行を選択する
    スクリーンショット 2016-09-02 0.16.44.png

  • MasterTablet Serverともに、quickstart.clouderaをを選択し、続行を選択する。

スクリーンショット 2016-09-02 0.19.01.png

  • 各テキストボックスに事前に作成したディレクトリパスである下記設定を入力し、続行を選択する。
fs_wal_dir fs_data_dirs fs_wal_dir fs_data_dirs
/opt/fs_wal_dir_master /opt/fs_data_dirs_master /opt/fs_wal_dir_tablet /opt/fs_data_dirs_tablet

kobito.1472379647.702280.png

kobito.1472379706.608948.png

スクリーンショット 2016-09-05 0.30.28.png

5.impalaサービスの削除と追加

①ClouderaManagerからimpala-kuduでない元のimpalaサービスを削除する。
(※削除する前にHueの削除が求められるので先に、Hueを削除しておく)

②ClouderaManagerからimpalaサービスを追加する。
(※特にサービス名称がimpala-kuduにはならないので注意)

③Hueを使用する場合、Hueサービスを追加する。

これでkuduを使用したimpalaテーブルが作成できるので、Hueやimpala-shell等から確認を行う。

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3