Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Json 无法使用oozie shell操作运行shell脚本_Json_Shell_Encryption_Amazon S3_Oozie - Fatal编程技术网

Json 无法使用oozie shell操作运行shell脚本

Json 无法使用oozie shell操作运行shell脚本,json,shell,encryption,amazon-s3,oozie,Json,Shell,Encryption,Amazon S3,Oozie,我为shell操作创建了一个oozie工作流。下面是简单的oozie shell操作。我将Shell脚本放在workflow lib文件夹中。此shell脚本正在执行以下操作: 1) 从s3 bucket获取加密的json并将其放入本地 文件夹 2) 解密json并将其放入一个hdfs位置 3) 对于aws连接和解密json,它使用一些密钥,例如。 pem和酒吧钥匙 4) 我将这些键与shell脚本一起放在lib文件夹中 ${jobTracker} ${nameNode} pullDataS3

我为shell操作创建了一个oozie工作流。下面是简单的oozie shell操作。我将Shell脚本放在workflow lib文件夹中。此shell脚本正在执行以下操作:

1) 从s3 bucket获取加密的json并将其放入本地 文件夹

2) 解密json并将其放入一个hdfs位置

3) 对于aws连接和解密json,它使用一些密钥,例如。 pem和酒吧钥匙

4) 我将这些键与shell脚本一起放在lib文件夹中


${jobTracker}
${nameNode}
pullDataS3.sh
LaborHExtract工作流失败,错误消息[${wf:errorMessage(wf:lastErrorNode())}]
我面临的问题是,此工作流在7-8秒内结束,状态为success,但它会获取任何文件。通常,当我在命令提示符下运行此脚本时,大约需要2-3分钟我不确定是否正确放置了解密密钥和连接密钥。请告诉我这是否是将钥匙放入oozie的正确方法。

此外,我使用下面的hadoop命令和相同的工作流运行了一个简单的脚本,效果很好


hadoop fs-mkdir/com/kapil/kumar

在您的工作流程中

<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>pullDataS3.sh</exec>

您是否检查了纱线日志中的错误消息?您说工作流以“成功状态”结束,但如果其中一个命令失败,会发生什么情况?您的脚本是否会捕获错误并使用非零代码退出,以便Oozie能够检测到失败?嗨,新手,问题已经解决。问题是此shell脚本使用密钥连接到aws群集。当通过oozie运行此脚本时,由于数据位置问题,它在分布式环境中找不到密钥,因此我使用SSH oozie操作连接到主机并在主机上运行脚本,它运行良好。无论如何,谢谢:)
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>pullDataS3.sh</exec>
<file>/user/xxxxx/oozie/import/lib/pullDataS3.sh#pullDataS3.sh</file>