2015年12月30日 星期三

Install Oozie - you must know

When I want to install Oozie for my hadoop environment , I encounter many problem issues. So I decide to write down here to record.

Install Oozie, something you must do first.

I highly recommend you adduser different from root, and add this user  to sudo group, because oozie can't accept you start hdfs using root user.

1.Install Java, I recommend you use JDK1.7+
export your JAVA_HOME & PATH

2.Install Maven, I use version 3.3.3
export your MAVEN_HOME & PATH

3.Install Hadoop, I use version 2.7
export your HADOOP_HOME & PATH

Someone maybe say it needs to install pig, but I try it without using pig.

OK, now we just start install Oozie.

tar -zxvf oozie-4.1.0.tar.gz

cd oozie-4.1.0

vi pom.xml

change it from 1.6 to 1.7(your version)
<targetJavaVersion>1.7</targetJavaVersion>
bin/mkdistro.sh -DskipTests -Dhadoop.version=2.3.0
(skip test, because build oozie install tar need about 10 minutes.)

Oh No, you execute this command and last it tells you failure.
because some jars are empty.

In my case, I missed three jars.
There are jackson-core-asl-1.5.2.jar & jackson-mapper-asl-1.5.2.jar & jsr311-api-0.11.jar

please go to download 

http://www.java2s.com/Code/Jar/j/Downloadjacksoncoreasl152jar.htm

http://www.java2s.com/Code/Jar/j/Downloadjacksonmapperasl152jar.htm

http://www.java2s.com/Code/Jar/j/Downloadjsr311api011jar.htm

and put them to correct path under oozie

Now, you can rebuild to execute command (bin/mkdistro.sh -DskipTests -Dhadoop.version=2.3.0)

If you build it successful, you can find oozie-4.1.0-distro.tar.gz under /oozie-4.1.0/distro/target , this file is a real oozie intall file.

go to /oozie-4.1.0/distro/target and continue to do

tar -zxvf  oozie-4.1.0-distro.tar.gz

Now you can find oozie-4.1.0 folder under /oozie-4.1.0/distro/target

and you must copy hadoop reference lib to oozie-4.1.0(this folder under /oozie-4.1.0/distro/target)

I recommend you to move this folder to other path, ex: /usr/local/oozie-4.1.0 (to diff from first you tar oozie-4.1.0.tar.gz)

go to /usr/local/oozie-4.10 (tar from oozie-4.1.0-distro.gz)

mkdir libext  (/usr/local/oozie-4.1.0/libext)

cp /usr/local/hadoop/share/hadoop/*/*.jar libext/
cp /usr/local/hadoop/share/hadoop/*/lib/*.jar libext/

cd libext

rm -f  jsp-api-2.1.jar  (because this is oozie tomcat lib, but hadoop also have so to conflict.)

download  ext-2.2.zip to libext

wget wget http://dev.sencha.com/deploy/ext-2.2.zip

#Be careful , this download link from apache is fail, your must use I give you above.

This file is used to build oozie Web UI.

Now go to your $HADOOP_HOME/etc/hadoop
Add properties to core-site.xml

<property>
   <name>hadoop.proxyuser.oozie.hosts</name>
   <value>*</value>
</property>
<property>
   <name>hadoop.proxyuser.oozie.groups</name>
   <value>*</value>

</property>

#Maybe /usr/local/oozie-4.10/conf/hadoop-conf also has core-site.xml, you can add again.

cd /usr/local/oozie-4.1.0

bin/oozie-setup.sh prepare-war
(must be successful, because this is oozie web war)

bin/oozie-setup.sh db create -run
(this step is create database and table for oozie using derby including on install file)

Now , start HDFS

start-dfs.sh
(you must can see namenode,datanode,secondarynamenode process, and start by other user as you install oozie that is diff root)

bin/oozie-setup.sh  sharelib  create -fs hdfs://hostname:8020
(change hostname or port for mapping your configuration on your environment )

Now you can start Oozie Server
bin/oozied.sh start

bin/oozie admin -oozie http://localhost:11000/oozie -status
util appear System mode : Normal

Yes, try to open your browser to connect http://hostname:11000/oozie
util you can see web user interface.

Congratulations 











沒有留言:

張貼留言