Eu tenho um loop abaixo que é usado para verificar o namenode ativo no cluster Hadoop e se o primeiro nó estiver inativo ele pega o 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
}
O problema aqui é que sempre que o namenode é encontrado inativo, ele lança a mensagem abaixo na janela e continua com outro namenode.Redirecionei meu erro para o diretório nulo, mas ainda o recebo. Como posso me livrar disso?
test: Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error
Responder1
Você está descartando a saída de erro de wc
, não de hdfs
.
Veja minha resposta para algo semelhanteem falha no servidor.