0

スケジュールされた時間間隔でビーライン ステータスをチェックする自動化バッチ スクリプトを作成しています。
これを行うために以下のコードを作成しましたが、問題は、クラスタのエッジ ノードで 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 構成を変更して認証要件を削除する方法はありますか? はいの場合、どのファイルを変更すればよいですか?
助けてください、
よろしく。

4

1 に答える 1

1

次を使用して、シェルスクリプトファイルからコマンドを実行します。

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

また

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

これが役立つことを願っています。

于 2016-05-16T16:49:15.967 に答える