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

自己做网站好做么typecho wordpress

自己做网站好做么,typecho wordpress,专业做食材网站,房产网站建设价格大数据技术之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://wiki.neutronadmin.com/news/253234/

相关文章:

  • 国内网站模板网站建设教程公司
  • 用绿色做图标的网站山东济南报备小程序
  • 招远做网站案例信阳网站建设招聘
  • 有趣网站之家网站流量统计查询
  • 什么网站可以做时间加减怎样建立自己的个人网站
  • 网站开发制作全包计算机(网站建设与维护)
  • 自定义网站模块邯郸中材建设有限责任公司网站
  • pc网站平台怎样制作网页超链接
  • 苏州吴中区专业做网站three.js 做的网站
  • 网站建设实验小结免费空间访问
  • 建设网站和公告号的意义金华网站建设微信开发
  • 无锡新区企业网站推广万博法务网站
  • 优秀的电商设计网站网站开发服务器
  • 唐山网站建设开发设计公司wordpress支持哪一版本php
  • 国外做仿牌网站济南中企动力怎么样
  • 宿迁市建设局投诉网站首页网站引导页作用
  • 网站开发课程教学目标广东500强企业名单一览表
  • 学习网站建设难吗沈阳专业网站制作团队
  • 深圳自建站有哪些大公司浙江省网站域名备案
  • 网站模板下载百度云链接怎么做的wordpress 授权插件
  • 搭建网站是什么中国交通建设股份有限公司官网
  • 网站名称如何设置招聘网站设计师要求
  • 网站索引量怎么做网站小图标
  • 关于公司网站开发的事项网站怎么在移动端推广
  • 宁波哪家做网站好一流的高密网站建设
  • 金泉网做网站多少钱ftp上传网站之后怎么做
  • 新手做网站怎么上传系统微网站免
  • 广州营销型企业网站建设网站推广服务网站连锁
  • 做暖dnf动态ufo网站网站点击量在哪里看
  • 标准网站建设合同模板网站