Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何覆盖Amazon简单工作流StartToCloseTimeout?_Hadoop_Amazon S3_Emr_Amazon Swf - Fatal编程技术网

Hadoop 如何覆盖Amazon简单工作流StartToCloseTimeout?

Hadoop 如何覆盖Amazon简单工作流StartToCloseTimeout?,hadoop,amazon-s3,emr,amazon-swf,Hadoop,Amazon S3,Emr,Amazon Swf,如果数据大小以kb为单位,我已经能够执行代码将数据从一个s3存储桶复制到另一个rbucket。但是,如果大小增长到几mb,则我的任务将失败,并出现START\u to\u CLOSE错误。任务失败,taskStarttoClose超时。我已尝试将defaultTaskStartToCloseTimeoutSeconds重写为60秒,之后在执行工作流时,我看到该值设置为10秒。我不明白当我让它等待60秒时,值为什么会改变。该活动无法复制大文件。下面是复制活动的代码示例 @Override

如果数据大小以kb为单位,我已经能够执行代码将数据从一个s3存储桶复制到另一个rbucket。但是,如果大小增长到几mb,则我的任务将失败,并出现START\u to\u CLOSE错误。任务失败,taskStarttoClose超时。我已尝试将defaultTaskStartToCloseTimeoutSeconds重写为60秒,之后在执行工作流时,我看到该值设置为10秒。我不明白当我让它等待60秒时,值为什么会改变。该活动无法复制大文件。下面是复制活动的代码示例

    @Override
    public String copyData(String jobFlowId, String inputFilename) throws IOException, InterruptedException {
    AmazonS3 s3Client = new AmazonS3Client(credentials);
    String baseOutputFilename = "job/"
    CopyObjectRequest copyObjRequest = new CopyObjectRequest(
            "bucket1", "/job/data.txt", "bucket2", OutputFilename);
    s3Client.copyObject(copyObjRequest);
    return "s3n://bucketName/eOutputFilename";
}
在活动版本类型注册期间,将defaultTaskStartToCloseTimeoutSeconds传递给SWF。版本类型注册只发生一次,之后版本类型是不可变的。因此,更改Java代码中的超时值不会更改已注册的超时值。
解决方案是在注释中添加活动版本号以强制注册新的活动版本,或者明确指定超时覆盖,将参数传递给每个活动调用

您能告诉我们如何设置从开始到结束的超时吗?实际上,您的活动代码对解决问题没有多大帮助。此外,还有几个不同的开始-结束计时器-关于工作流和活动-您是否设置了正确的计时器?是的。这就是我发现的。我必须删除域并设置新域以注册新的超时值。这解决了我的问题。如果我们需要使用相同的域,那么我们必须使用不同的版本。谢谢你的回答。这很有帮助。默认情况下,每个帐户的域数是有限的。因此,不要轻易地使用它们:.100根据这一点,如果我们达到100个域的使用率会怎么样。我们是否可以弃用其中一些域并重新创建一个新域。因此,在使用100个域之后,我们是否可以弃用一些域并重新创建一个新域。