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
.
유사한 콘텐츠에 대한 내 답변을 확인하세요.서버에 장애가 발생한 경우.