スケジュールされた時間間隔でビーラインステータスをチェックする自動バッチスクリプトを作成しています。
これを行うには以下のコードを書いていますが、問題は、クラスタのエッジノードがbeelineコマンドを実行するためにパスワードを必要としているようです。
コード:バリケードがどこにある認証なしで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パラメータと-pパラメータを渡さないと、それらのノードで私を認証せず、認証失敗のエラーをスローします。クエリを実行するためにユーザー名とパスワードを必要としないように、ビーラインから認証構成を削除する方法 – aiman
この投稿が見つかりましたhttp://stackoverflow.com/questions/29113323/connecting-to-hive-using-beeline。これはあなたの役に立つかもしれません。 –
ありがとうKarina、それは私のために働いた。 – gyan