如何将警告消息从命令行重定向到日志文件?

如何将警告消息从命令行重定向到日志文件?

我有一个下面的循环,用于检查 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

查看我对类似内容的回答服务器故障时

相关内容