일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- HBase
- LDAP
- re
- execution_date
- 빅데이터
- hadoop
- Namenode
- NoSQL
- HDP
- Windows
- slack app
- HIVE
- SlackWebhookOperator
- Kafka
- Example DAG
- jupyter
- Scala
- MapReduce
- yarn
- HDFS
- python
- Service
- slack
- 람다 아키텍처
- docker
- ambari
- java
- Lambda architecture
- 정규표현식
- airflow
- Today
- Total
IT 삽질기
Yarn NodeManager BindException(Close_wait) 본문
장애내용 확인
NodeManager가 올라온 이후 죽는 현상이 계속 발생하는 노드 발견
log를 확인
원인 분석
log를 확인하니 이미 사용중인 주소로 BindException이 발생
NodeManager에서 사용하는 port인 45454를 이미 사용중이라고 판단하여 45454 port 사용 여부를 확인
다른 서버의 50010 port와 connection이 맺어져 있어 문제가 발생한 것으로 보임
50010 port는 data node에서 사용하는 port
netstat | grep 45454
pid를 얻기 위해 root권한을 획득하여 아래의 명령어를 실행
맨 뒤에 나오는 값이 pid으로 해당 pid를 이용하여 실행중인 process를 탐색
netstat -nap | grep 45454
해당 pid확인 결과 hbase regionserver로 확인
regiond server을 내려도 되는지 여부를 체크, hbase data도 복제 계수 3으로 사용하고 있어 잠시 중단했다 올리는 경우에 큰 문제가 발생하지 않을 것이라 생각하여 작업을 진행
ps -ef | grep pid
ambari에서 아래의 순서대로 작업 진행
1. hbase regionserver maintenance mode로 전환
2. hbase regionserver stop
3. nodemanager start
4. hbase regionserver start
5. hbase regionserver maintenance mode 해제
위와 같이 수행한 결과 nodemanager이 정상적으로 올라왔으며, hbase도 문제없이 동작하는 것을 확인
hbase와 nodemanager간의 문제가 왜 발생했는지에 대한 부분은 명확하게 파악하지 못함
재발하는 경우 정확한 원인 분석 예정
BindException이 발생하는 경우는 RegionServer과 충돌하는 것 뿐만 아니라 다른 이유가 있을 수 있다.
여기서는 하나의 사례를 든 것이며, 위와 동일한 방식으로 추적해 해결의 실마리를 얻을 수 있으면 좋겠다.
'BigData > Hadoop' 카테고리의 다른 글
Namenode fsimage, edits log (0) | 2021.07.26 |
---|---|
Hadoop Kerberos 인증과정 (0) | 2021.06.27 |
Hadoop 데이터 직렬화와 RPC(Remote Procedure Call) (0) | 2021.06.11 |
Hadoop MapReduce 기본 동작방식 (0) | 2021.05.20 |
YARN 스케줄링 (0) | 2021.04.19 |