1 到http://archive.cloudera.com/cdh5/cdh/5 选择hadoop和oozie的对应版本,版本一定要对应,否则可能安装成功但运行时可能不成功。
1.1) 本案例以hadoop2.2.0和oozie4.0.0为样本
1.2) 下载oozie-4.0.0-cdh5.0.0-beta-2.tar.gz
1.3) 解压tar -zxvf oozie-4.0.0-cdh5.0.0-beta-2.tar.gz ./
1.4) 修改文件名 mv oozie-4.0.0-cdh5.0.0-beta-2 oozie
1.5) 进入安装目录 cd oozie
1.6) 拷贝ext-2.2.zip 到安装目录 cp /home/ext-2.2.zip /opt/oozie/
1.7) 拷贝mysql-connector-java-3.1.14-bin.jar 到解压后的 /opt/oozie/libtools
2 执行安装操作
进入 oozie/bin下
执行命令 其中hadoop 2.2.0 表示hadoop的版本 中间需要有空格
./addtowar.sh -inputwar /opt/oozie/oozie.war -outputwar /opt/oozie/oozie-server/webapps/oozie.war -hadoop 2.2.0 ${HADOOP_HOME} -extjs /opt/oozie/ext-2.2.zip 解压oozie.war
./ooziedb.sh create -sqlfile oozie.sql 创建oozie.sql文件
./oozie-setup.sh db create -run -sqlfile /opt/oozie/bin/oozie.sql 向oozie.sql增加创建表文件语句
./oozie-setup.sh sharelib create -fs hdfs://master:9000 -locallib /opt/oozie/oozie-sharelib-4.0.0-cdh5.0.5-yarn.tar.gz 设置共享库
共享库会在hdfs路径的 /user/root/share/lib/lib_20150423135432(年月日时分秒) 其中你在oozie-site.xml中设置用户是谁 那么共享目录 /user/用户名称就是谁
3 修改oozie-site.xml配置文件 ---> 入下操作都是在oozie-site.xml中操作
3.1 修改oozie.service.HadoopccessorService.hadoop.configurations属性 (/opt/hadoop-2.2.0/etc/hadoop为hadoop安装路径)
<property>
<name>oozie.service.HadoopccessorService.hadoop.configurations</name>
<value>*=/opt/hadoop-2.2.0/etc/hadoop</value>
</property>
3.2 配置mysql为元数据管理
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:mysql://master:3306/oozie?characterEncoding=utf-8</value> master为服务器169机器别名 需要在169服务器上安装mysql数据库并创建好数据库oozie
</property>
<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>root</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>123456</value>
</property>
3.3 添加操作用户权限(这里使用root用户 这里是配置linux用户提交任务到oozie的 linux--->oozie)
<property>
<name>oozie.service.ProxyUserervic.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>oozie.service.ProxyUserervic.proxyuser.root.groups</name>
<value>*</value>
</property>
3.4 oozie提交任务的权限设置: 增加oozie白名单whitelist(这里配置hadoop进入oozie的持有证书 hadoop ---> oozie) 下面的*可以使用空格取代
<property>
<name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
<value>*</value>
<description>whitelisted job tracker for oozie service</description>
</property>
<property>
<name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
<value>*</value>
<description>whitelisted job tracker for oozie service</description>
</property>
4 启动oozie
/opt/oozie/bin, 执行 ./oozie-run.sh 此时是前台启动oozie,可以在命令行里查看启动信息,看看是否有错,
如果没错,访问 http://master:11000/oozie 看是否出现oozie管理页面,如果没有什么问题,ctrl+c停掉oozie,
并/opt/oozie/bin/oozie-start.sh 来后台启动oozie
5 配置hadoop文件(以下配置文件需要在所有hadoop集群节点上进行修改)
在 /opt/hadoop-2.2.0/etc/hadoop下
5.1 修改mapred-site.xml 添加如下配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/history/done_intermediate</value>
</property>
5.2 修改yarn-site.xml 添加如下配置
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
5.3 启动hadoop的historyserver服务
a) hadoop的sbin下 ./mr-jobhistory-daemon.sh start historyserver
5.4 修改hadoop的core-site.xml (配置hadoop接受oozie用户提交任务的用户声明 配置 oozie--->hadoop的持有证书)
<property> root是linux提交任务到oozie的用户 在 3.4 oozie提交任务的权限设置 里面设置过
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
5.5 hdfs-site.xml中
<property>
<name>dfs.permission</name>
<value>false</value>
</property>
6 配置hive的hive-site.xml
6.1
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
<property>
<name>hadoop.metastore.local</name>
<value>false</value>
</property>
6.2 启动metastore服务
hive --service metastore
7 至此,oozie, hadoop, hive 相关配置完毕,重新启动hadoop集群和oozie组件
8 建议使用谷歌浏览器打开 如果你开启的oozie界面仅仅只现实一部分的时候(比如作者使用360打开) ,此时可以使用谷歌浏览器打开
像这种开源的东东,感觉谷歌浏览器会支持的更好。