shell运行bash脚本,通过azkaban运行配置单元命令

bnl4lu3b  于 2021-06-24  发布在  Hive
关注(0)|答案(0)|浏览(305)

我有一个azure hd insights集群,我正在使用一个来自remove unix服务器的直线客户机连接它。我有连接的jdbc连接详细信息,可以使用如下命令执行配置单元查询:

beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p '<password>' -e "select 'abc';"

我还有一个azkabanexec服务器和azkabanweb服务器运行在同一台unix机器上。现在我有了一个azkaban作业,它基本上使用以下配置运行shell脚本:


# test2.job

type=command
command =sh ./echo_ys.sh

echo_ys.sh与上面的beeline命令基本相同。
如果我从unix运行这个sh脚本 ./echo_ys.sh 它能够成功运行配置单元命令。但我试着对阿兹卡班的工作做同样的事,它说不行 ./echo_ys.sh: line 8: beeline: command not found 所以我更新了sh文件以给出直线的完整路径,这使我的命令看起来像

/opt/apache-hive-1.2.1-bin/bin/beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p '<password>' -e "select 'abc';"

现在出现错误:找不到hadoop安装:$hadoop\u home或$hadoop\u prefix必须设置,或者hadoop必须在路径中
我尝试在作业中创建具有以下参数的.properties文件:

env.HADOOP_HOME="/opt/hadoop-2.7.3"
HADOOP_HOME=/opt/hadoop-2.7.3

还尝试设置流参数hadoop.home=/opt/hadoop-2.7.3,但没有效果。
感谢您的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题