如何在没有身份验证的情况下从直线进行查询

问题描述:

我在写一个自动化批处理脚本,它将在计划的时间间隔内检查直线状态。
我已经写了下面的代码来做到这一点,但问题是,似乎我的集群的边缘节点需要密码才能运行beeline命令。
代码:如何在没有身份验证的情况下从直线进行查询

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部分。密码也每个月都在变化)。
是否有方法更改直线配置以删除身份验证要求?如果是,那么我应该如何继续,对哪些文件进行更改?
请帮忙,
问候。

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

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

OR

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

我希望这有助于。

+0

如果我不传递-n和-p参数,它不在这些节点处对我进行身份验证,并引发身份验证失败的错误。任何想法如何从直线删除身份验证配置,以便它不需要任何用户名和密码来运行查询? – aiman

+0

我发现这篇文章http://*.com/questions/29113323/connecting-to-hive-using-beeline。这可能对你有所帮助。 –

+0

感谢Karina,它为我工作。 – gyan