0

我正在编写一个自动化批处理脚本,它将在预定的时间间隔内检查直线状态。
我已经编写了下面的代码来执行此操作,但问题是,我的集群的边缘节点似乎需要密码才能运行直线命令。
代码:

for node in `cat /root/myscripts/edgeNodes.txt`
do
ssh ${node} "beeline -u  jdbc:hive2://${node}:10000/default -n $usrnm -p $pwd -e 'select  col1 , col2 from my_tab limit 3;'" >> /root/report/beeline_report.txt
done

-n $ntid -p $pwd就是障碍所在。现在我将用户名和密码作为我的参数传递,但是在部署它时,我无法在此脚本中硬编码我的密码,因为脚本是自动化的并且不需要人工输入(我将不得不删除该-n $ntid -p $pwd部分。另外密码每个月都在变化)。
有没有办法更改直线配置以删除身份验证要求?如果是,那么我应该如何进行,我应该对哪些文件进行更改?
请帮忙,
问候。

4

1 回答 1

1

我使用以下命令从 shell 脚本文件运行命令:

beeline -u "jdbc:hive2://" -e "your query" > output.txt

或者

ssh ${node} "beeline -u "jdbc:hive2://" -e 'query;'"

我希望这有帮助。

于 2016-05-16T16:49:15.967 回答