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打开) ,此时可以使用谷歌浏览器打开
像这种开源的东东,感觉谷歌浏览器会支持的更好。