我有如下的shell脚本
ssh -q -v -i id_rsa -o "StrictHostKeyChecking no" user@remotemachine script > file
hdfs dfs -put -f file hdfspath
当我在oozie shell操作中使用“”运行此脚本时,文件从远程计算机复制到我的计算机。实际上,它的文件超过2kb。 但是当我使用(hdfs dfs -put)命令将其移动到hdfs时,它在错误以下抛出
Oozie Launcher失败,主班 [org.apache.oozie.action.hadoop.ShellMain],调用main()的异常, 输出数据超出其限制[2048] org.apache.oozie.action.hadoop.LauncherException:输出数据超过 其上限[2048]
答案 0 :(得分:0)
在shell操作中添加以下内容或将其放入response = categoriesByProduct.entrySet()
.stream()
.map(e -> toMap(e))
.collect(Collectors.toList());
public static Map<String, Object> toMap(Map.Entry<Integer, List<Integer>> en) {
Map<String,Object> responseObject = new HashMap<>();
responseObject.put("pid", en.getKey());
responseObject.put("categories",en.getValue());
return responseObject;
}
中,然后重新启动oozie服务器。这将增加控制台输出数据,这些数据可以作为外壳操作标签<form id="BilledeUpload" action="" method="POST" enctype="multipart/form-data">
<input type="file"accept="image/*" name="file"class="">
<button form="BilledeUpload" name ="SendpictoDBbtn"onclick="indsaetIdb()">Upload</button>
</form>
function indsaetIdb(){
let randomnummer = Math.floor(Math.random()*999999999)+1;
var billedenavn = document.getElementById("BilledeUpload");
var url = "https://storage.googleapis.com/randombucketname/nottoday/"+randomnummer
document.cookie="linket="+url;
//document.getElementById("BilledeUpload").reset();
console.log(findCookieBeskrivelse("linket"));
}
的一部分进行捕获。默认值为2048,这是输出数据的最大字符数。
/etc/oozie/conf/oozie-site.xml
如果您不将shell操作的控制台输出用于下一个操作中的任何决定,则不需要<capture-output/>
。如果不需要,请尝试删除标签 <configuration>
<property>
<name>oozie.action.max.output.data</name>
<value>8192</value>
</property>
</configuration>
。