・1台のLinux環境で、簡単に、Oozieを試してみます。
・Ubuntu(1台)でCloudera社のHadoop(CDH3beta2)が動いていることを前提とします。 → 構築方法はこちら
Hadoop(1台構成) | HBase,Hive,Pig,HUE,Oozie等(1台構成) | Hadoop(複数台構成) | |
CentOS | こちら | HBase,Hive,Pig, HUE(旧Cloudera Desktop), Oozie | こちら |
---|---|---|---|
Ubuntu | こちら | HBase,Hive,Pig,HUE(旧Cloudera Desktop) |
必要なもの
・Linux(Ubuntu)+Cloudera版Hadoop環境(1台) → 構築方法はこちら
・インターネット接続
・Cloudera社のOozieのパッケージ(aptでインターネットからインストール)
作業手順
1. インストール
Linux環境にて、rootで作業します。
1-1. Oozieパッケージのインストール
インストール
apt-get -y install oozie oozie-client
※ 2010年8月中旬現在、パッケージがおかしく、うまくインストールできないようです。
1-2. Oozieサーバーまわりの設定
・MySQLのインストール
インストール
apt-get -y install mysql-server mysql-client(DBのrootパスワードは、覚えておきましょう)
動作確認例
service mysql status
mysql start/running, process 11242
・Tomcatのインストール
apt-get -y install tomcat6
・ExtJS libraryの設定
http://www.sencha.com/learn/Ext_Version_Archives
からext-2.2.zipをダウンロードします。 (2.2.1とか3は不可です)
ダウンロードファイルを、例えば/tmp/ext-2.2.zipとして配置したとして、
cd /usr/lib/oozie
./installextjs.sh /tmp/ext-2.2.zip
Oozie WAR '/usr/lib/oozie/wars/oozie.war' file now contains ExtJS library
・MySQL JDBC connector library
http://www.mysql.com/downloads/connector/j/5.1.htmlから、mysql-connector-java-5.1.13.tar.gzを、ダウンロードします。
ダウンロードファイルを、例えば/tmp/mysql-connector-java-5.1.13.tar.gzとして配置したとして、
mkdir /tmp/jdbc/
cd /tmp/jdbc/
tar xzf /tmp/mysql-connector-java-5.1.13.tar.gz
cp /tmp/jdbc/mysql-connector-java-5.1.13/mysql-connector-java-5.1.13-bin.jar /usr/share/tomcat6/lib/
・OozieをTomcatに配備
cp /usr/lib/oozie/wars/oozie.war /var/lib/tomcat6/webapps/
設定ファイル/etc/tomcat5/tomcat5.confを編集します。以下の行をファイルの最後にでも追加します。
# oozie
JAVA_OPTS="$JAVA_OPTS -Doozie.config.dir=/usr/lib/oozie/conf"
・Oozieの設定ファイル
vi /usr/lib/oozie/conf/oozie-site.xml
二か所のコメントアウト部分(「Disable automatic DB schema creation」と「DBコネクション関連の設定」で、<!--と-->で囲まれている部分)を、有効にします。
特に、oozie.db.schema.createのvalueはtrueに変更(もとはfalse)します。
以下のような設定を有効にします。
<property>
<name>oozie.db.schema.create</name>
<value>true</value>
<description>
Creates Oozie DB.
</description>
</property>
<property>
<name>oozie.service.DataSourceService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
<description>
JDBC driver class.
</description>
</property>
<property>
<name>oozie.service.DataSourceService.jdbc.url</name>
<value>jdbc:mysql://localhost:3306</value>
<description>
JDBC URL.
</description>
</property>
<property>
<name>oozie.service.DataSourceService.jdbc.username</name>
<value>oozie</value>
<description>
DB user name.
</description>
</property>
<property>
<name>oozie.service.DataSourceService.jdbc.password</name>
<value>oozie</value>
<description>
DB user password.
IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value, if empty Configuration
assumes it is NULL.
</description>
</property>
・MySQL
mysql -u root -p
mysql> grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
・Oozie Server(Tomcat)の起動と自動DB作成
Tomcatを起動させます。初回起動時に、自動で必要なDBが作成されます。
service tomcat6 start
初回起動時にDBが作成されるので、確認します。
mysql -u oozie -p1-3. 動作確認
Enter password:(パスワードは、上記の設定通りなら"oozie")
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.0.77 Source distribution
sType 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| oozie |
+--------------------+
2 rows in set (0.00 sec)
mysql> use oozie;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------+
| Tables_in_oozie |
+---------------------+
| ACTIONS |
| VERSION |
| WF_PROCESS_INSTANCE |
| WORKFLOWS |
+---------------------+
4 rows in set (0.00 sec)
mysql> exit
Bye
コマンドラインから動作確認
OOZIE_URL=http://localhost:8080/oozie oozie admin -version
Oozie server build version: 1.6.2-0.20.2-320--SNAPSHOT
ブラウザから動作確認
http://10.44.4.180:8080/oozie
画面例
(おまけ)
ドキュメントを入れたいならば、
cp /usr/lib/oozie/wars/ooziedocs.war /var/lib/tomcat6/webapps/として、
http://10.44.4.180:8080/ooziedocs
2. exampleを動かしてみる
2-1. example準備
exampleのファイルを展開します。
mkdir /tmp/oozie-example
cd /tmp/oozie-example/
tar xzf /usr/lib/oozie/oozie-examples.tar.gz
cd examples/
prepare-examples.shを編集します。ファイル下の方の、以下の部分を変更します。
echo "jobTracker=localhost:9001" >> ${example}-job.properties例えば、Clouderaのお手軽デフォルト設定のHadoopなら、以下のように変更します。
echo "nameNode=hdfs://localhost:8020" >> ${example}-job.properties
echo "jobTracker=localhost:8021" >> ${example}-job.properties
echo "nameNode=hdfs://localhost:8020" >> ${example}-job.properties
example用の設定やテストファイルを作成
./prepare-examples.sh
hadoop fs -put input-data input-data
hadoop fs -put workflows /tmp/`whoami`/workflows
2-2. exampleを実行してみる
・実行
oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
job: 0000000-100820220527261-oozie-tomc
・ジョブの様子を確認(実行時に表示されるJob Idを引数に)
oozie job -oozie http://localhost:8080/oozie -info 0000000-100820220527261-oozie-tomc
Job Id: 0000000-100820220527261-oozie-tomc
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Workflow Name : map-reduce-wf
App Path : hdfs://localhost:8020/tmp/root/workflows/map-reduce
Status : RUNNING
Run : 0
User : root
Group : users
Created : 2010-08-20 14:30 +0000
Started : 2010-08-20 14:30 +0000
Last Modified : 2010-08-20 14:30 +0000
Ended : -
Actions
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Action Name Type Status Transition Ext. Id Ext. Status Error Code Started Ended
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
hadoop1 map-reduce RUNNING - job_201008202153_0002 RUNNING - 2010-08-20 14:30 +0000 -
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
・同様に他の.propertiesファイルも試すことができます。
oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
job: 0000000-100820214321863-oozie-tomc
oozie job -oozie http://localhost:8080/oozie -config hive-job.properties -run
job: 0000005-100820220527261-oozie-tomc
oozie job -oozie http://localhost:8080/oozie -config pig-job.properties -run
job: 0000004-100820220527261-oozie-tomc
それぞれの実行内容はworkflowsの中のディレクトリに書いてあります。
0 件のコメント:
コメントを投稿