我正在编写一个自动批处理脚本,它将在预定的时间间隔内检查直线状态
我已经编写了下面的代码来执行此操作,但问题是,我的群集的边缘节点似乎需要密码才能运行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
部分。密码每个月都在变化。)
有没有办法更改Beeline配置以删除身份验证要求?如果是,那么我该如何处理,我对哪些文件进行了更改?
请帮忙,
问候。
答案 0 :(得分:1)
我使用以下命令从shell脚本文件运行命令:
beeline -u "jdbc:hive2://" -e "your query" > output.txt
OR
ssh ${node} "beeline -u "jdbc:hive2://" -e 'query;'"
我希望这会有所帮助。