Hue 3.5をビルドする

ClouderaのHueチームは、現在タイで静養中(バカンス)のようです。(羨ましい)
しかし、一方Hue3.5に向けての開発が順調に進んでいるようです。

Hue 3.5で搭載されそうなアプリ

ブログに公開されていた興味深いアプリ3つ+1つ

  1. グラフィカルファセット
  2. 外部ウェブアプリの統合
  3. DBQueryアプリ:MySQLとPostgreSQLエディタ
  4. そして、Sparkアプリ!(スクリーンショット


前にも紹介した通り、HueのSolrアプリ(Cloudera Search)の検索結果の「見た目」は、カスタマイズできます。

現在開発中のグラフィカルファセットは、検索結果をグラフィカルに表示し、動的に変更できるようになるようです。

外部ウェブアプリの統合は、簡単にHueのメニューにウェブアプリを統合できるもの。

DBQueryアプリは名前の通り、HueからMySQLとPostgreSQLへの検索などができるアプリです。

外部ウェブアプリの統合はHue3.5からサポートされるようなので、残念ながらCDH5b1では利用できません。仕方がないので手元でビルドしてみました。

Hue 3.5をビルドする

1. JDK1.7の用意
HueのビルドにはJDK1.7が必要です。手元にインストールされていたのはJDK1.6だったので、JDK1.6を削除し、ダウンロードしてインストールします。
Oracleのダウンロードサイトに行き、JDK7u5、Linuxの64bit RPMをダウンロードします。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

[root@localhost hue]# rpm -e jdk-1.6.0_31-fcs
[root@localhost hue]# rpm -ivh ~/Downloads/jdk-7u45-linux-x64.rpm
[root@localhost hue]# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
[root@localhost hue]#

2. Apache mavenのインストール

[root@localhost hue]# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
[root@localhost hue]# tar xvf apache-maven-3.1.1-bin.tar.gz
[root@localhost hue]# mv apache-maven-3.1.1 /usr/local/apache-maven/
[root@localhost hue]# export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
[root@localhost hue]# export M2=$M2_HOME/bin
[root@localhost hue]# export PATH=$M2:$PATH

うまくいきました。念のためバージョンを確認します。

[root@localhost hue]# mvn --version
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
Maven home: /usr/local/apache-maven/apache-maven-3.1.1
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_45/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.el6.x86_64", arch: "amd64", family: "unix"
[root@localhost hue]#

3. ここからはrootじゃないユーザーで作業をします。必要なパッケージをインストールします。手元の環境では以下をインストールしました。

[training@localhost hue]$ export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
[training@localhost hue]$ export M2=$M2_HOME/bin
[training@localhost hue]$ export PATH=$M2:$PATH
[training@localhost hue]$ sudo yum -y install ant asciidoc libxml2-devel libxslt-devel python-devel python-simplejson sqlite-devel openldap-devel mysql-devel krb5-devel gcc-c++

4. Hueのリポジトリをクローンします。

[training@localhost hue]$ git clone git://github.com/cloudera/hue

5. Hueをビルドします。前回同様、日本語も表示できるようにしておきましょう。

[training@localhost hue]$ make apps
[training@localhost hue]$ make locales

6. さて、いよいよ外部のウェブアプリを統合してみましょう。
手順に従い、何かのサイトを足してみます。予想に反してワーニングが、、、

[training@localhost hue]$ build/env/bin/hue create_proxy_app kawasaki http://linux.wwing.net
/home/training/work/hue/build/env/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/conf/__init__.py:110: DeprecationWarning: The SECRET_KEY setting must not be empty.
warnings.warn("The SECRET_KEY setting must not be empty.", DeprecationWarning)
[training@localhost hue]$ tools/app_reg/app_reg.py --install kawasaki --relative-paths
=== Installing app at yahoo
=== yahoo v.0.1 is already installed
=== Saved registry at /home/training/work/hue/app.reg
=== Saved /home/training/work/hue/build/env/lib/python2.6/site-packages/hue.pth
Running '/home/training/work/hue/build/env/bin/hue syncdb --noinput' with None
/home/training/work/hue/build/env/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/conf/__init__.py:110: DeprecationWarning: The SECRET_KEY setting must not be empty.
warnings.warn("The SECRET_KEY setting must not be empty.", DeprecationWarning)
Syncing...
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

Synced:
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.admin
> django_extensions
> south
> about
> filebrowser
> help
> jobbrowser
> metastore
> proxy
> zookeeper
> kawasaki

Not synced (use migrations):
- desktop
- beeswax
- hbase
- jobsub
- oozie
- pig
- search
- sqoop
- useradmin
(use ./manage.py migrate to migrate these)
Running '/home/training/work/hue/build/env/bin/hue migrate' with None
/home/training/work/hue/build/env/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/conf/__init__.py:110: DeprecationWarning: The SECRET_KEY setting must not be empty.
warnings.warn("The SECRET_KEY setting must not be empty.", DeprecationWarning)
Running migrations for desktop:
- Nothing to migrate.
- Loading initial data for desktop.
Installed 0 object(s) from 0 fixture(s)
Running migrations for beeswax:
- Nothing to migrate.
- Loading initial data for beeswax.
Installed 0 object(s) from 0 fixture(s)
Running migrations for hbase:
- Nothing to migrate.
- Loading initial data for hbase.
Installed 0 object(s) from 0 fixture(s)
Running migrations for jobsub:
- Nothing to migrate.
- Loading initial data for jobsub.
Installed 0 object(s) from 0 fixture(s)
Running migrations for oozie:
- Nothing to migrate.
- Loading initial data for oozie.
Installed 0 object(s) from 0 fixture(s)
Running migrations for pig:
- Nothing to migrate.
- Loading initial data for pig.
Installed 0 object(s) from 0 fixture(s)
Running migrations for search:
- Nothing to migrate.
- Loading initial data for search.
Installed 0 object(s) from 0 fixture(s)
Running migrations for sqoop:
- Nothing to migrate.
- Loading initial data for sqoop.
Installed 0 object(s) from 0 fixture(s)
Running migrations for useradmin:
- Nothing to migrate.
- Loading initial data for useradmin.
Installed 0 object(s) from 0 fixture(s)
[training@localhost hue]$

また、/home/training/work/hue/desktop/conf.dist/hue.ini に下記の2行を追加します。

[kawasaki]
url=http://linux.wwing.net

7. Hueを開始します。

[training@localhost hue]$ build/env/bin/hue runserver
/home/training/work/hue/build/env/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/conf/__init__.py:110: DeprecationWarning: The SECRET_KEY setting must not be empty.
warnings.warn("The SECRET_KEY setting must not be empty.", DeprecationWarning)
/home/training/work/hue/build/env/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/conf/__init__.py:110: DeprecationWarning: The SECRET_KEY setting must not be empty.
warnings.warn("The SECRET_KEY setting must not be empty.", DeprecationWarning)
Validating models...

0 errors found
Django version 1.4.5, using settings 'desktop.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

8. 前回の教訓があるので、Firefoxブラウザもバージョンアップをします。

sudo yum update firefox

9. さて、アクセスしてみましょう
Hue_Home
行がずれているようですが、一応うすく「Other apps」と表示されています。

マウスカーソルをあてると、kawasakiと表示されました。
hue_webapp

さあ、うまくいくでしょうか?
hue_proxyapp_err

残念!!

無念ですが、今日はここまで。

Pocket

One thought on “Hue 3.5をビルドする

  1. Pingback: Hueの最新版をビルドする | Tech Blog

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)