У меня есть цикл ниже, который используется для проверки активных namenode в кластере 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
}
Проблема здесь в том, что всякий раз, когда namenode обнаруживается неактивным, он выдает следующее сообщение в окне и продолжает работу с другим namenode. Я перенаправил моя ошибка в пустом каталоге, но я все равно получаю ее . Как мне от нее избавиться?
test: Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error