草庐IT

scheduler_cron

全部标签

java - 在 Spring 测试@Scheduled

Spring提供了使用注释以特定时间间隔安排和执行任务的可能性,例如@Scheduled有没有一种方便的方法来对该行为进行单元测试?当然我可以自己调用bean的方法,但我想确保我不会遇到像multipleexecutionsduetomisconfiguration这样的问题等等。其他框架提供了自己快进时间的可能性。一个例子是Activiti你可以在哪里打电话org.activiti.engine.impl.util.ClockUtil.setCurrentTime(date)快进框架使用的时间。Spring有什么可比的吗?基本上我想要在单元测试中做这样的事情(使用SpringJUni

java - 在 Spring 测试@Scheduled

Spring提供了使用注释以特定时间间隔安排和执行任务的可能性,例如@Scheduled有没有一种方便的方法来对该行为进行单元测试?当然我可以自己调用bean的方法,但我想确保我不会遇到像multipleexecutionsduetomisconfiguration这样的问题等等。其他框架提供了自己快进时间的可能性。一个例子是Activiti你可以在哪里打电话org.activiti.engine.impl.util.ClockUtil.setCurrentTime(date)快进框架使用的时间。Spring有什么可比的吗?基本上我想要在单元测试中做这样的事情(使用SpringJUni

shell - hadoop 命令手动运行但在 cron 中不运行

我正在尝试执行定期运行我的hadoop作业的shell脚本,我将我的脚本放在crontab中,但所有hadoop命令都没有运行。当我手动(从cli)执行我的脚本shell时,hadoop命令运行正常我正在使用ubuntu14.04 最佳答案 如果你看到脚本在terminal上执行正常,而通过cron执行时失败,那么问题可能主要是因为terminal和cronenv的环境差异。问题可能是因为您直接调用hadoop命令的PATH变量可能没有完全传送到cronenv。我的建议是在您的shell脚本中使用hadoop命令的绝对路径(完整路径

Hadoop Fair Scheduler 没有将任务分配给某些节点

我正在尝试运行FairScheduler,但它没有将Map任务分配给某些节点,只有一个作业正在运行。我的理解是,公平调度程序将使用conf插槽限制,除非存在多个作业,此时公平计算开始。我还尝试在fair-中将所有队列设置为FIFO-scheduler.xml,但我得到了相同的结果。我已经使用mapreduce.jobtracker.taskscheduler参数在所有mapred-site.xml文件中设置了调度程序(尽管我相信只有JobTracker需要它)并且部分节点接收和运行Map任务没有问题。然而,其他节点要么永远不会获得任何Map任务,要么获得一轮Map任务(即,所有槽都被填

hadoop - 为什么 mapreduce 尝试由于 "Container preempted by scheduler"而被终止?

我刚刚注意到Hadoop上的许多Pig作业由于以下原因而被杀死:Containerpreemptedbyscheduler有人可以向我解释是什么原因造成的,我是否应该(并且能够)对此做些什么?谢谢! 最佳答案 如果您有公平的调度程序并启用了多个不同的队列,那么更高优先级的应用程序可以终止您的作业(以抢占方式)。Hortonworks有一个很好的解释和更多的细节https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_yarn_resource_mgt/content/pr

shell - cron 无法在 shell 脚本中使用 hadoop 命令

我正在尝试使用crontab安排一个cronjob来执行一个shell脚本,该脚本按顺序执行一系列hadoop命令,但是当我查看hadoop文件夹时,文件夹没有创建或删除。我们集群上的hadoop连接非常慢。因此,由于重试次数,这些hadoop命令可能需要一些时间才能执行。Cron表达式*/5****sh/test1/a/bin/ice.sh>>/test1/a/run.logshell脚本#!/bin/shif[$#==1]thenTODAY=$1elseTODAY=`/bin/date+%m%d%Y%H%M%S`fi#defineseedfolderhere#filelist="l

hadoop - Hadoop Fair/Capacity Scheduler 可以用在 MR1 上吗?

据我所知,YARN(MRv2)允许插入调度程序,替换默认的FIFO调度程序。我的问题是,我们可以在MRv1中做同样的事情吗?有没有办法在旧版本的Hadoop中替换FIFO调度程序,或者这是仅随YARN提供的东西? 最佳答案 我在Hadoop的0.20.x版本中使用公平调度程序已有一段时间了,从未遇到过任何问题。您可以设置以下属性:mapred.jobtracker.taskSchedulerorg.apache.hadoop.mapred.FairScheduler然后您可以转到http:///scheduler有关如何在MR1中设

hadoop - Hive on tez in EMR schedule tasks very slow

我正在尝试在tez上使用Hive来查询存储在S3中的orc格式数据。TezAM定时任务非常慢,很多Map任务长时间处于“PENDING”状态。集群中有足够的资源(我会说足够了。有超过6TB的内存和超过1000个vcores可用,在这个作业中每个容器只花费2GB内存。这是唯一在集群中运行的作业yarncluster),但它们在调度任务方面做得很慢。有什么方法可以加快这个过程吗? 最佳答案 我遇到了同样的问题。我决定更换Hive的引擎。试试这个命令:设置hive.execution.engine=mr;在任何情况下,MR都是最好的。AW

java - 由 cron 调用时 Hadoop 作业失败

我创建了以下用于调用hadoop作业的shell脚本:#!/bin/bash/opt/hadoop/bin/hadoopjar/path/to/job.jarcom.do.something...&wait%1STATUS=$?if[$STATUS-eq0]thenecho"SUCCESS"|mailx-s"Status:"$STATUS-r"mail@mysite.com""mail@mysite.com"exit$STATUSelseecho"FAILED"|mailx-s"Status:"$STATUS-r"mail@mysite.com""mail@mysite.com"exi

java - 每 30 分钟后的 Spring cron 表达式

我有以下Spring作业每30分钟运行一次。请检查我的cron表达式,正确吗?000**30这是来自相关Spring配置文件的完整cron作业定义: 最佳答案 根据Quartz-SchedulerTutorial应该是value="00/30***?"cronExpression的字段顺序是秒分钟营业时间月份中的某天月星期几年份(可选字段)确保您至少有6个参数,否则您会收到错误消息(年份是可选的)。 关于java-每30分钟后的Springcron表达式,我们在StackOverflow