![警告メッセージをコマンド ラインからログ ファイルにリダイレクトするにはどうすればよいですか?](https://rvso.com/image/88762/%E8%AD%A6%E5%91%8A%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%20%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%8B%E3%82%89%E3%83%AD%E3%82%B0%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
以下のループは、Hadoop クラスター内のアクティブなネームノードをチェックするために使用されます。最初のノードが非アクティブな場合は、2 番目のノードを選択します。
for (( i=0;i<$(($(wc -l < $LOCAL_DIR/'tempip.txt')/3));i++ )){
j=$(($i*3))
echo ${ipArray[j]} >> $LOCAL_DIR/tmpOp.txt 2> /dev/null
if hdfs dfs -test -e ${ipArray[$j+1]} ; then
hdfs dfs -cat ${ipArray[$j+1]}/* | wc -l>> $LOCAL_DIR/tmpOp.txt 2> /dev/null
elif hdfs dfs -test -e ${ipArray[$j+2]} ; then
hdfs dfs -cat ${ipArray[$j+2]}/* | wc -l>> $LOCAL_DIR/tmpOp.txt 2> /dev/null
else
echo "Invalid"
fi
}
ここでの問題は、ネームノードが非アクティブであると判断されるたびに、ウィンドウに以下のメッセージが表示され、別のネームノードが続行されることです。エラーをnullディレクトリにリダイレクトしましたが、それでもエラーが発生しますどうすれば取り除くことができますか?
test: Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error
答え1
wc
からではなく、からのエラー出力を破棄していますhdfs
。
似たような引用に対する私の回答を参照してくださいサーバーフォルト。