¿Cómo redirigir el mensaje de advertencia desde la línea de comando a un archivo de registro?

¿Cómo redirigir el mensaje de advertencia desde la línea de comando a un archivo de registro?

Tengo un bucle a continuación que se usa para verificar el nodo de nombre activo en el clúster de Hadoop y si el primer nodo está inactivo, selecciona el segundo.

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
}

El problema aquí es que cada vez que el nodo de nombre se encuentra inactivo, arroja el siguiente mensaje en la ventana y continúa con otro nodo de nombre.He redirigido mi error al directorio nulo pero aún lo recibo. ¿Cómo puedo deshacerme de él?

test: Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error

Respuesta1

Estás descartando la salida de error de wc, no de hdfs.

Vea mi respuesta a algo similar.en fallo del servidor.

información relacionada