如何將警告訊息從命令列重定向到日誌檔案?

如何將警告訊息從命令列重定向到日誌檔案?

我有一個下面的循環,用於檢查 Hadoop 叢集中的活動名稱節點,如果第一個節點不活動,它將選擇第二個節點。

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

看我對類似內容的回答伺服器故障時

相關內容