2016-05-16 4 views
0

スケジュールされた時間間隔でビーラインステータスをチェックする自動バッチスクリプトを作成しています。
これを行うには以下のコードを書いていますが、問題は、クラスタのエッジノードが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です。今は私のユーザ名とパスワードを私のパラメータとして渡していますが、それを配備している間はスクリプトが自動化されているため、このスクリプトでパスワードをハードコードすることはできません(人間が入力する必要はありません。また、パスワードは毎月変わり続ける)。
ビーライン設定を変更して認証要件を削除する方法はありますか?はいの場合、どのように進めるべきですか、どのファイルに変更を加えますか?
助けてください、
よろしく。

答えて

1

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

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

OR

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

私はこのことができます願っています。

+0

-nパラメータと-pパラメータを渡さないと、それらのノードで私を認証せず、認証失敗のエラーをスローします。クエリを実行するためにユーザー名とパスワードを必要としないように、ビーラインから認証構成を削除する方法 – aiman

+0

この投稿が見つかりましたhttp://stackoverflow.com/questions/29113323/connecting-to-hive-using-beeline。これはあなたの役に立つかもしれません。 –

+0

ありがとうKarina、それは私のために働いた。 – gyan

関連する問題