ZooKeeper 클라이언트 ./zkCli.sh 를 실행하니 java.net.ConnectionException : 연결이 거부됨 에러가 뜨면서 실행에 실패하였다. zkSever.sh 실행도 성공까지 오래걸렸는데 산넘어 산이다 !! 그래도 해결했으니까 해결한 과정에서 또 하나 배워간다...
위의 사진은 ./zkCli.sh 실행 시 출력된 결과인데 저것만으로는 아무리 구글링을 해도 ZooKeeper 관련 java.net.ConnectException 에러를 해결하는 게시글이 마땅히 없어 zookeeper 로그파일을 천천히 뜯어보기로 했다.
zookeeper 의 logs 디렉토리
1
2
|
cd /usr/zookeeper
ls
cd logs ls |
cs |
본인이 설정한 Zookeeper 디렉토리의 하위 디렉토리로 logs 디렉토리가 존재한다. logs 디렉토리에서 zookeeper-root-...-.out 파일에 Zookeeper 관련 로그들이 저장되어 있다.
첫번째 라인부터 쭉 훑은 결과, 77번째 라인부터 문제상황이 발생한걸 직감할 수 있는(ㅜㅜ) 에러 로그 메시지들이 쏟아져 나왔다.
Unable to start AdminServer, abnormally
AdminServerAdeminServerException Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL
caused by: java.io.IOException: Failed to bind to /0.0.0.0:8080
caused by: java.net.BindException: 주소가 이미 사용 중입니다.
즉. java.ConnectionException: 연결이 거부됨 에러는 내부 AdminServer의 8080 port 주소가 이미 다른 어플리케이션에 의해 사용 중이라 bind 되지 못해서 Zookeeper 클라이언트가 서버와 연결하지 못했다는 것을 유추할 수 있다.
netstat -l | grep 8080 명령어를 사용하여 8080 port 를 사용하고 있는 다른 프로세스를 조회해보았는데 사용 중인 프로세스가 없었다. 앞서 zookeeper 환경 설정 변경/추가 시 작성했던 zoo.cfg 파일에 admin.ServerPort를 지정하여 앞으로 ZooKeeper가 사용할 adminPort를 명시했다.
1
2
3
4
5
6
|
# zoo.cfg 파일에 아래의 내용 추가
sudo vi /usr/zookeeper/conf/zoo.cfg
######################
admin.serverPort=8081
######################
|
cs |
저장 후 zkServer.sh 을 다시 실행 후 zkCli.sh 을 실행하니 zkCli.sh 정상 작동 됨을 확인할 수 있었다.
+ 앞으로 알 수 없는 에러가 발생하면 로그파일을 뜯어보는 습관을 가지도록 깨달았다ㅜㅜ
'DataEngineering > Kafka' 카테고리의 다른 글
[Kafka] docker-compose 에서 Kafka 실행하기 | 프로삽질러 (0) | 2021.04.25 |
---|---|
[Kafka] Kafka ZookeeperClientTimeoutException 오류 해결 | 프로삽질러 (0) | 2021.04.17 |
[ZooKeeper] 리눅스 ZooKeeper 설치 및 여러 오류 해결 정리 | 프로삽질러 (0) | 2021.04.15 |