安裝Oozie4.1.0-cdh5.5.2
安裝oozie經歷了好長的時間,先是源碼包,但是放棄了。。。
然後就是安裝的這個CDH版本的,弄了好久,經常報各種錯誤。
最後整理出來這篇。
先對文件進行下載:
這裏使用的是CDH版本的,免編譯,看著編譯的過程就夠了。下載地址:
http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.5.2.tar.gz
文件較大,1.6G
還需要下載ExjJS,這是擴展的JavaScript的UI桌面框架。
必須是2.2版本的,這是官網指定的,已經寫死在oozied.sh中。下載地址:
http://download.csdn.net/download/feature_09/10015730
安裝環境:
redhat5.5,64位虛擬機
hadoop2.6.0-cdh5.5.2
jdk1.8.0_11
一、解壓安裝oozie
[[email protected] ~]$ tar -zxvf oozie-4.1.0-cdh5.5.2.tar.gz
[[email protected] ~]$ cd oozie-4.1.0-cdh5.5.2
二、配置環境變量
[[email protected] ~]$ vim .bash_profile
export OOZIE_HOME=/home/hadoop/oozie-4.1.0-cdh5.5.2
[[email protected] ~]$ source .bash_profile
三、還需要配置一下hadoop的core-site文件。
我這裏因為之前安hive的時候修改過一次這個內容了,所以沒做修改。
如果修改的話,需要重新啟動一下hadoop集群。
[[email protected] hadoop]$ vim core-site.xml
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
四、創建libext目錄
[[email protected] oozie-4.1.0-cdh5.5.2]$ mkdir libext
五、解壓包中的hadooplibs的tar包,並把hadooplibs目錄下的內容拷貝到剛剛創建的目錄下
[[email protected] oozie-4.1.0-cdh5.5.2]$ tar -zxvf oozie-hadooplibs-4.1.0-cdh5.5.2.tar.gz
解壓後多了一個oozie-4.1.0-cdh5.5.2,這個名字與oozie本身名稱是一樣的,容易混亂~~~
[[email protected] oozie-4.1.0-cdh5.5.2]$ cd oozie-4.1.0-cdh5.5.2/hadooplibs/
[[email protected] hadooplibs]$ cp hadooplib-2.6.0-cdh5.5.2.oozie-4.1.0-cdh5.5.2/* /home/hadoop/oozie-4.1.0-cdh5.5.2/libext/
[[email protected] hadooplibs]$ cp hadooplib-2.6.0-mr1-cdh5.5.2.oozie-4.1.0-cdh5.5.2/* /home/hadoop/oozie-4.1.0-cdh5.5.2/libext/
官網說了,如果用的是不同的hadoop版本,則需要拷貝hadoop的jar文件到libext/下
六、將之前下載好的ext2.2.zip同樣解壓到libext/目錄下
[[email protected] ~]$ unzip ExtJS-2.2.zip -d /home/hadoop/oozie-4.1.0-cdh5.5.2/libext
到解壓目錄看看有沒有。
[[email protected] ~]$ cd oozie-4.1.0-cdh5.5.2/libext/
[[email protected] libext]$ ls
七、生成war包
[[email protected] oozie-4.1.0-cdh5.5.2]$ bin/addtowar.sh -inputwar $OOZIE_HOME/oozie.war -outputwar $OOZIE_HOME/oozie-server/webapps/oozie.war -hadoop 2.6.0 $HADOOP_HOME -extjs /home/hadoop/ExtJS-2.2.zip
顯示下面這樣就成功了。
八、放置JDBC驅動,三個地方
將mysql的JDBC驅動,放到之前創建的libext/目錄下,還有lib/目錄下
下載的這個版本的:mysql-connector-java-5.1.43-bin.jar
鏈接:http://download.csdn.net/download/feature_09/10018454
同時還要修改下權限:
[[email protected] libext]$ chmod 777 /home/hadoop/oozie-4.1.0-cdh5.5.2/lib/mysql-connector-java-5.1.43-bin.jar
[[email protected] libext]$ chmod 777 /home/hadoop/oozie-4.1.0-cdh5.5.2/libext/mysql-connector-java-5.1.43-bin.jar
最後!還得配置一個地方!
就是這個目錄下/home/hadoop/oozie-4.1.0-cdh5.5.2/oozie-server/webapps/oozie/WEB-INF/lib
[[email protected] lib]$ cd /home/hadoop/oozie-4.1.0-cdh5.5.2/lib
[[email protected] lib]$ cp mysql-connector-java-5.1.43-bin.jar /home/hadoop/oozie-4.1.0-cdh5.5.2/oozie-server/webapps/oozie/WEB-INF/lib
[[email protected] lib]$ ls |grep mysql
mysql-connector-java-5.1.43-bin.jar
九、配置conf/oozie-site.xml文件
主要是配置數據庫保存源文件。
[[email protected] conf]$ vim oozie-site.xml
在文件底部添加下面這些內容:
<property>
<name>oozie.db.schema.name</name>
<value>oozie</value>
<description>
Oozie DataBase Name
</description>
</property>
<property>
<name>oozie.service.JPAService.create.db.schema</name>
<value>false</value>
<description>
Creates Oozie DB.
If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
</description>
</property>
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
<description>
JDBC driver class.
</description>
</property>
<property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:mysql://192.168.20.32:3306/oozie?createDatabaseIfNotExist=true</value>
<description>
JDBC URL.
</description>
</property>
<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>oozie</value>
<description>
DB user name.
</description>
</property>
<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>mysql</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>
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/home/hadoop/hadoop-2.6.0-cdh5.5.2/etc/hadoop</value>
<description>
Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
the Hadoop service (JobTracker, HDFS). The wildcard ‘*‘ configuration is
used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
the relevant Hadoop *-site.xml files. If the path is relative is looked within
the Oozie configuration directory; though the path can be absolute (i.e. to point
to Hadoop client conf/ directories in the local filesystem.
</description>
</property>
同時,要在MySQL中,創建好用戶名和密碼。
mysql> create user ‘oozie‘ identified by ‘mysql‘;
mysql> grant all privileges on *.* to ‘oozie‘@‘%‘ with grant option;
由於版本5不識別%,所以需要重新聲明一下主機的地址
mysql> grant all privileges on *.* to oozie@fa01 identified by ‘mysql‘;
mysql> flush privileges;
十、在hdfs上創建包
[[email protected] oozie-4.1.0-cdh5.5.2]$ pwd
/home/hadoop/oozie-4.1.0-cdh5.5.2
[[email protected] oozie-4.1.0-cdh5.5.2]$ bin/oozie-setup.sh sharelib create -fs hdfs://192.168.20.32:9000 -locallib oozie-sharelib-4.1.0-cdh5.5.2-yarn.tar.gz
十一、給oozie-server賦予權限
[[email protected] oozie-4.1.0-cdh5.5.2]$ chmod 777 oozie-server -R
[[email protected] libext]$ chmod 777 ext-2.2 -R
十二、創建數據庫腳本,並初始化數據庫
[[email protected] oozie-4.1.0-cdh5.5.2]$ bin/ooziedb.sh create -sqlfile oozie.sql -run DB Connection
之後的顯示:
十三、開啟oozie的實例
[[email protected] oozie-4.1.0-cdh5.5.2]$ bin/oozied.sh start
十四、運行oozie
[[email protected] oozie-4.1.0-cdh5.5.2]$ bin/oozied.sh run &
十五、測試、查看
jps一下,出現Bootstrap就對了三分之一。
繼續:出現NORMAL就對了三分之二。
[[email protected] oozie-4.1.0-cdh5.5.2]$ bin/oozie admin -oozie http://192.168.20.32:11000/oozie -status
System mode: NORMAL
再繼續:
登錄頁面http://192.168.20.32:11000/oozie/,可以正常顯示如下頁面,就百分之百了。
參考:
http://www.cnblogs.com/zlslch/p/6118431.html
本文出自 “白話” 博客,請務必保留此出處http://feature09.blog.51cto.com/12614993/1972022
安裝Oozie4.1.0-cdh5.5.2