当前位置: 首页 > news >正文

做公益的网站龙岩天宫山缆车门票多少钱

做公益的网站,龙岩天宫山缆车门票多少钱,企业网站手机版,搜索网页怎么制作大数据技术之Oozie 第1章 Oozie简介 Oozie英文翻译为#xff1a;驯象人。一个基于工作流引擎的开源框架#xff0c;由Cloudera公司贡献给Apache#xff0c;提供对Hadoop MapReduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任…大数据技术之Oozie 第1章 Oozie简介 Oozie英文翻译为驯象人。一个基于工作流引擎的开源框架由Cloudera公司贡献给Apache提供对Hadoop MapReduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任务多任务可以按照执行的逻辑顺序调度。 第2章 Oozie的功能模块介绍 2.1 模块 Workflow 顺序执行流程节点支持fork分支多个节点join合并多个节点为一个Coordinator 定时触发workflowBundle Job 绑定多个Coordinator 2.2 常用节点控制流节点Control Flow Nodes 控制流节点一般都是定义在工作流开始或者结束的位置比如start,end,kill等。以及提供工作流的执行路径机制如decisionforkjoin等。动作节点Action Nodes 负责执行具体动作的节点比如拷贝文件执行某个Shell脚本等等。 第3章 Oozie的部署 3.1 部署HadoopCDH版本的 3.1.2 修改Hadoop配置 core-site.xml !-- Oozie Server的Hostname -- propertynamehadoop.proxyuser.atguigu.hosts/namevalue*/value /property!-- 允许被Oozie代理的用户组 -- propertynamehadoop.proxyuser.atguigu.groups/namevalue*/value /property mapred-site.xml !-- 配置 MapReduce JobHistory Server 地址 默认端口10020 -- propertynamemapreduce.jobhistory.address/namevaluehadoop102:10020/value /property!-- 配置 MapReduce JobHistory Server web ui 地址 默认端口19888 -- propertynamemapreduce.jobhistory.webapp.address/namevaluehadoop102:19888/value /property yarn-site.xml !-- 任务历史服务 -- property nameyarn.log.server.url/name valuehttp://hadoop102:19888/jobhistory/logs//value /property完成后记得scp同步到其他机器节点 3.1.3 重启Hadoop集群 [atguiguhadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh [atguiguhadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh [atguiguhadoop102 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver注意需要开启JobHistoryServer, 最好执行一个MR任务进行测试。 3.2 部署Oozie 3.2.1 解压Oozie [atguiguhadoop102 software]$ tar -zxvf /opt/software/cdh/oozie-4.0.0-cdh5.3.6.tar.gz -C ./3.2.2 在oozie根目录下解压oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ tar -zxvf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz -C ../完成后Oozie目录下会出现hadooplibs目录。 3.2.3 在Oozie目录下创建libext目录 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ mkdir libext/3.2.4 拷贝依赖的Jar包 1将hadooplibs里面的jar包拷贝到libext目录下 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ cp -ra hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/2拷贝Mysql驱动包到libext目录下 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar ./libext/3.2.5 将ext-2.2.zip拷贝到libext/目录下 ext是一个js框架用于展示oozie前端页面 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt/software/cdh/ext-2.2.zip libext/3.2.6 修改Oozie配置文件 oozie-site.xml 属性oozie.service.JPAService.jdbc.driver 属性值com.mysql.jdbc.Driver 解释JDBC的驱动 属性oozie.service.JPAService.jdbc.url 属性值jdbc:mysql://hadoop102:3306/oozie 解释oozie所需的数据库地址 属性oozie.service.JPAService.jdbc.username 属性值root 解释数据库用户名 属性oozie.service.JPAService.jdbc.password 属性值000000 解释数据库密码 属性oozie.service.HadoopAccessorService.hadoop.configurations 属性值*/opt/module/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop 解释让Oozie引用Hadoop的配置文件 3.2.7 在Mysql中创建Oozie的数据库 进入Mysql并创建oozie数据库 $ mysql -uroot -p000000 mysql create database oozie;3.2.8 初始化Oozie 上传Oozie目录下的yarn.tar.gz文件到HDFS 提示yarn.tar.gz文件会自行解压 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie-setup.sh sharelib create -fs hdfs://hadoop102:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz执行成功之后去50070检查对应目录有没有文件生成。 2) 创建oozie.sql文件 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/ooziedb.sh create -sqlfile oozie.sql -run打包项目生成war包 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie-setup.sh prepare-war3.2.9 Oozie的启动与关闭 启动命令如下 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh start关闭命令如下 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh stop3.2.10 访问Oozie的Web页面 http://hadoop102:11000/oozie第4章 Oozie的使用 4.1 案例一Oozie调度shell脚本 目标使用Oozie调度Shell脚本 分步实现 1解压官方案例模板 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ tar -zxvf oozie-examples.tar.gz2创建工作目录 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ mkdir oozie-apps/3拷贝任务模板到oozie-apps/目录 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ cp -r examples/apps/shell/ oozie-apps4编写脚本p1.sh [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ vi oozie-apps/shell/p1.sh内容如下 #!/bin/bash /sbin/ifconfig /opt/module/p1.log5修改job.properties和workflow.xml文件 job.properties #HDFS地址 nameNodehdfs://hadoop102:8020 #ResourceManager地址 jobTrackerhadoop103:8032 #队列名称 queueNamedefault examplesRootoozie-apps oozie.wf.application.path${nameNode}/user/${user.name}/${examplesRoot}/shell EXECp1.sh workflow.xml workflow-app xmlnsuri:oozie:workflow:0.4 nameshell-wf start toshell-node/ action nameshell-nodeshell xmlnsuri:oozie:shell-action:0.2job-tracker${jobTracker}/job-trackername-node${nameNode}/name-nodeconfigurationpropertynamemapred.job.queue.name/namevalue${queueName}/value/property/configurationexec${EXEC}/exec!-- argumentmy_outputHello Oozie/argument --file/user/atguigu/oozie-apps/shell/${EXEC}#${EXEC}/filecapture-output//shellok toend/error tofail/ /action decision namecheck-outputswitchcase toend${wf:actionData(shell-node)[my_output] eq Hello Oozie}/casedefault tofail-output//switch /decision kill namefailmessageShell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]/message /kill kill namefail-outputmessageIncorrect output, expected [Hello Oozie] but was [${wf:actionData(shell-node)[my_output]}]/message /kill end nameend/ /workflow-app6上传任务配置 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/bin/hadoop fs -put oozie-apps/ /user/atguigu7执行任务 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job -oozie http://hadoop102:11000/oozie -config oozie-apps/shell/job.properties -run8杀死某个任务 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job -oozie http://hadoop102:11000/oozie -kill 0000004-170425105153692-oozie-z-W4.2 案例二Oozie逻辑调度执行多个Job 目标使用Oozie执行多个Job调度 分步执行 1解压官方案例模板 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ tar -zxf oozie-examples.tar.gz2编写脚本 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ vi oozie-apps/shell/p2.sh内容如下 #!/bin/bash /bin/date /opt/module/p2.log3修改job.properties和workflow.xml文件 job.properties nameNodehdfs://hadoop102:8020 jobTrackerhadoop103:8032 queueNamedefault examplesRootoozie-appsoozie.wf.application.path${nameNode}/user/${user.name}/${examplesRoot}/shell EXEC1p1.sh EXEC2p2.sh workflow.xml workflow-app xmlnsuri:oozie:workflow:0.4 nameshell-wfstart top1-shell-node/action namep1-shell-nodeshell xmlnsuri:oozie:shell-action:0.2job-tracker${jobTracker}/job-trackername-node${nameNode}/name-nodeconfigurationpropertynamemapred.job.queue.name/namevalue${queueName}/value/property/configurationexec${EXEC1}/execfile/user/atguigu/oozie-apps/shell/${EXEC1}#${EXEC1}/file!-- argumentmy_outputHello Oozie/argument--capture-output//shellok top2-shell-node/error tofail//actionaction namep2-shell-nodeshell xmlnsuri:oozie:shell-action:0.2job-tracker${jobTracker}/job-trackername-node${nameNode}/name-nodeconfigurationpropertynamemapred.job.queue.name/namevalue${queueName}/value/property/configurationexec${EXEC2}/execfile/user/admin/oozie-apps/shell/${EXEC2}#${EXEC2}/file!-- argumentmy_outputHello Oozie/argument--capture-output//shellok toend/error tofail//actiondecision namecheck-outputswitchcase toend${wf:actionData(shell-node)[my_output] eq Hello Oozie}/casedefault tofail-output//switch/decisionkill namefailmessageShell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]/message/killkill namefail-outputmessageIncorrect output, expected [Hello Oozie] but was [${wf:actionData(shell-node)[my_output]}]/message/killend nameend/ /workflow-app3上传任务配置 $ bin/hadoop fs -rmr /user/atguigu/oozie-apps/ $ bin/hadoop fs -put oozie-apps/map-reduce /user/atguigu/oozie-apps4执行任务 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job -oozie http://hadoop102:11000/oozie -config oozie-apps/shell/job.properties -run 4.3 案例三Oozie调度MapReduce任务 目标使用Oozie调度MapReduce任务 分步执行 1找到一个可以运行的mapreduce任务的jar包可以用官方的也可以是自己写的 2拷贝官方模板到oozie-apps [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ cp -r /opt/module/cdh/ oozie-4.0.0-cdh5.3.6/examples/apps/map-reduce/ oozie-apps/1)测试一下wordcount在yarn中的运行 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/bin/yarn jar /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount /input/ /output/配置map-reduce任务的job.properties以及workflow.xml job.properties nameNodehdfs://hadoop102:8020 jobTrackerhadoop103:8032 queueNamedefault examplesRootoozie-apps #hdfs://hadoop102:8020/user/admin/oozie-apps/map-reduce/workflow.xml oozie.wf.application.path${nameNode}/user/${user.name}/${examplesRoot}/map-reduce/workflow.xml outputDirmap-reduce workflow.xml workflow-app xmlnsuri:oozie:workflow:0.2 namemap-reduce-wfstart tomr-node/action namemr-nodemap-reducejob-tracker${jobTracker}/job-trackername-node${nameNode}/name-nodepreparedelete path${nameNode}/output///prepareconfigurationpropertynamemapred.job.queue.name/namevalue${queueName}/value/property!-- 配置调度MR任务时使用新的API --propertynamemapred.mapper.new-api/namevaluetrue/value/propertypropertynamemapred.reducer.new-api/namevaluetrue/value/property!-- 指定Job Key输出类型 --propertynamemapreduce.job.output.key.class/namevalueorg.apache.hadoop.io.Text/value/property!-- 指定Job Value输出类型 --propertynamemapreduce.job.output.value.class/namevalueorg.apache.hadoop.io.IntWritable/value/property!-- 指定输入路径 --propertynamemapred.input.dir/namevalue/input//value/property!-- 指定输出路径 --propertynamemapred.output.dir/namevalue/output//value/property!-- 指定Map类 --propertynamemapreduce.job.map.class/namevalueorg.apache.hadoop.examples.WordCount$TokenizerMapper/value/property!-- 指定Reduce类 --propertynamemapreduce.job.reduce.class/namevalueorg.apache.hadoop.examples.WordCount$IntSumReducer/value/propertypropertynamemapred.map.tasks/namevalue1/value/property/configuration/map-reduceok toend/error tofail//actionkill namefailmessageMap/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]/message/killend nameend/ /workflow-app5拷贝待执行的jar包到map-reduce的lib目录下 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt /module/cdh/hadoop-2.5.0-cdh5.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar oozie-apps/map-reduce/lib6上传配置好的app文件夹到HDFS [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/bin/hdfs dfs -put oozie-apps/map-reduce/ /user/admin/oozie-apps7执行任务 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job -oozie http://hadoop102:11000/oozie -config oozie-apps/map-reduce/job.properties -run4.4 案例四Oozie定时任务/循环任务 目标Coordinator周期性调度任务 分步实现 1配置Linux时区以及时间服务器 2检查系统当前时区 date -R 注意如果显示的时区不是0800删除localtime文件夹后再关联一个正确时区的链接过去命令如下 rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime同步时间 ntpdate pool.ntp.org修改NTP配置文件 vi /etc/ntp.conf去掉下面这行前面的# ,并把网段修改成自己的网段 restrict 192.168.122.0 mask 255.255.255.0 nomodify notrap 注释掉以下几行 #server 0.centos.pool.ntp.org #server 1.centos.pool.ntp.org #server 2.centos.pool.ntp.org把下面两行前面的#号去掉,如果没有这两行内容,需要手动添加 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10重启NTP服务 systemctl start ntpd.service注意如果是centOS7以下的版本使用命令service ntpd start systemctl enable ntpd.service注意如果是centOS7以下的版本使用命令chkconfig ntpd on 集群其他节点去同步这台时间服务器时间 首先需要关闭这两台计算机的ntp服务 systemctl stop ntpd.servicecentOS7以下则service ntpd stop systemctl disable ntpd.servicecentOS7以下则chkconfig ntpd off systemctl status ntpd查看ntp服务状态pgrep ntpd查看ntp服务进程id同步第一台服务器linux01的时间 ntpdate hadoop102 使用root用户制定计划任务,周期性同步时间 crontab -e */10 * * * * /usr/sbin/ntpdate hadoop102重启定时任务 systemctl restart crond.servicecentOS7以下使用service crond restart 其他台机器的配置同理。 3配置oozie-site.xml文件 属性oozie.processing.timezone 属性值GMT0800 解释修改时区为东八区区时 注该属性去oozie-default.xml中找到即可 4修改js框架中的关于时间设置的代码 $ vi /opt/module/cdh/oozie-4.0.0-cdh5.3.6/oozie-server/webapps/oozie/oozie-console.js修改如下 function getTimeZone() {Ext.state.Manager.setProvider(new Ext.state.CookieProvider());return Ext.state.Manager.get(TimezoneId,GMT0800); }5重启oozie服务并重启浏览器一定要注意清除缓存 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh stop [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh start6拷贝官方模板配置定时任务\ $ cp -r examples/apps/cron/ oozie-apps/7修改模板job.properties和coordinator.xml以及workflow.xml job.properties nameNodehdfs://hadoop102:8020 jobTrackerhadoop103:8032 queueNamedefault examplesRootoozie-appsoozie.coord.application.path${nameNode}/user/${user.name}/${examplesRoot}/cron #start必须设置为未来时间否则任务失败 start2017-07-29T17:000800 end2017-07-30T17:000800 workflowAppUri${nameNode}/user/${user.name}/${examplesRoot}/cronEXEC3p3.sh coordinator.xml coordinator-app namecron-coord frequency${coord:minutes(5)} start${start} end${end} timezoneGMT0800 xmlnsuri:oozie:coordinator:0.2 actionworkflowapp-path${workflowAppUri}/app-pathconfigurationpropertynamejobTracker/namevalue${jobTracker}/value/propertypropertynamenameNode/namevalue${nameNode}/value/propertypropertynamequeueName/namevalue${queueName}/value/property/configuration/workflow /action /coordinator-app workflow.xml workflow-app xmlnsuri:oozie:workflow:0.5 nameone-op-wf start top3-shell-node/action namep3-shell-nodeshell xmlnsuri:oozie:shell-action:0.2job-tracker${jobTracker}/job-trackername-node${nameNode}/name-nodeconfigurationpropertynamemapred.job.queue.name/namevalue${queueName}/value/property/configurationexec${EXEC3}/execfile/user/atguigu/oozie-apps/cron/${EXEC3}#${EXEC3}/file!-- argumentmy_outputHello Oozie/argument--capture-output//shellok toend/error tofail//action kill namefailmessageShell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]/message /kill kill namefail-outputmessageIncorrect output, expected [Hello Oozie] but was [${wf:actionData(shell-node)[my_output]}]/message /kill end nameend/ /workflow-app8上传配置 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/bin/hdfs dfs -put oozie-apps/cron/ /user/admin/oozie-apps9启动任务 [atguiguhadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job -oozie http://hadoop102:11000/oozie -config oozie-apps/cron/job.properties -run注意Oozie允许的最小执行任务的频率是5分钟 第5章 常见问题总结 1Mysql权限配置 授权所有主机可以使用root用户操作所有数据库和数据表 mysql grant all on *.* to root% identified by 000000; mysql flush privileges; mysql exit;2workflow.xml配置的时候不要忽略file属性 3jps查看进程时注意有没有bootstrap 4关闭oozie 如果bin/oozied.sh stop无法关闭则可以使用kill -9 [pid]之后oozie-server/temp/xxx.pid文件一定要删除。 5Oozie重新打包时一定要注意先关闭进程删除对应文件夹下面的pid文件。可以参考第4条目 6配置文件一定要生效 起始标签和结束标签无对应则不生效配置文件的属性写错了那么则执行默认的属性。 7libext下边的jar存放于某个文件夹中导致share/lib创建不成功。 8调度任务时找不到指定的脚本可能是oozie-site.xml里面的Hadoop配置文件没有关联上。 9修改Hadoop配置文件需要重启集群。一定要记得scp到其他节点。 10JobHistoryServer必须开启集群要重启的。 11Mysql配置如果没有生效的话默认使用derby数据库。 12在本地修改完成的job配置必须重新上传到HDFS。 13将HDFS中上传的oozie配置文件下载下来查看是否有错误。 14Linux用户名和Hadoop的用户名不一致。
http://www.pierceye.com/news/371703/

相关文章:

  • 画图在什么网站上做兼职广告词
  • 昆明购物网站建设企业网络设计方案预算
  • 浙江省建设工程质监站网站什么是营销型网站建设
  • 做网站需要云数据库吗企业做网页还是网站
  • wordpress手机网站插件wordpress编辑器添加按钮弹出窗口
  • 网站建设验收单格式建筑工具网站
  • 比较简洁大方的网站伊春住房和城乡建设网站
  • 电商网站开发prd免费个人网页模板
  • 西安 网站开发 招聘响应式网站代理
  • 浙江建设干部学校网站免费wordpress搭建
  • 海尔网站建设内容策划wordpress 登录密码
  • 金融公司网站规划方案四川省住建厅特种作业证报名
  • 做网站员培训网站小视频怎么做
  • 做网站是学什么专业的电子商务网络营销方式
  • 东莞电商网站公司goz建站
  • 深圳石岩建网站权威发布李建
  • 大连哪家公司做网站比较好网页搜索的快捷键
  • 怎样建个小公司的网站濮阳网络电视直播
  • 台州低价网站建设阆中做网站
  • 兰州网站运营诊断学校网站报价方案
  • 宿迁做网站大公司现在企业做网站一般用什么框架
  • 企业如何建自己的网站自己网站的登录api怎么做
  • 专业的网站建设企业微信小程序服务器一年多少钱
  • 关于网站建设的句子苏州实力做网站公司有哪些
  • 网页制作与网站建设》在线作业 答案wordpress信息量几百万
  • 代刷网站系统怎么做wordpress数据库连接
  • 邢台网站改版开发开封美食网站建设规划
  • 网站建设佰金手指科杰二五国内网站推广
  • wordpress 多站点 用户天津经济持续恢复
  • 做网站邯郸怎样建立平台