Zookeeper #1. 개요
Zookeeper #2. 설치와 설정
Zookeeper #3. 구동과 확인
Kafka #1. 개요
Kafka #2. 설치
※ zookeeper 앙상블에 들어갈 모든 노드에서 구동 되어야 한다.
# zookeeper 시작 [kafka@kafka ~]$ $ZOOKEEPER_HOME/bin/zkServer.sh start Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED # zookeeper 종료 [kafka@kafka ~]$ $ZOOKEEPER_HOME/bin/zkServer.sh stop Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED # zookeeper 재시작 [kafka@kafka ~]$ $ZOOKEEPER_HOME/bin/zkServer.sh restart Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED # zookeeper 프로세스 확인 [kafka@kafka ~]$ jps -l 53088 sun.tools.jps.Jps 38497 kafka.Kafka 52964 org.apache.zookeeper.server.quorum.QuorumPeerMain 87046 org.apache.kafka.connect.cli.ConnectStandalone
# zookeeper 프로세스 확인 [kafka@kafka ~]$ jps -l 53088 sun.tools.jps.Jps 38497 kafka.Kafka 52964 org.apache.zookeeper.server.quorum.QuorumPeerMain 87046 org.apache.kafka.connect.cli.ConnectStandalone
# 네트워크 확인 [kafka@kafka ~]$ netstat -nltp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN - tcp6 0 0 :::35068 :::* LISTEN 52964/java tcp6 0 0 192.168.103.113:9092 :::* LISTEN 38497/java tcp6 0 0 :::2181 :::* LISTEN 52964/java tcp6 0 0 :::3888 :::* LISTEN 52964/java tcp6 0 0 :::2888 :::* LISTEN 52964/java tcp6 0 0 :::111 :::* LISTEN - tcp6 0 0 :::8080 :::* LISTEN 52964/java tcp6 0 0 :::8083 :::* LISTEN 87046/java tcp6 0 0 :::37045 :::* LISTEN 87046/java tcp6 0 0 :::42901 :::* LISTEN 38497/java tcp6 0 0 :::22 :::* LISTEN -
로그 확인
일단 [ERROR], [CRITICAL] 같은 단어가 보이면 뭐가 잘못됐건 잘못 된 것이다.
[WARN]의 경우는 보통 당장 구동에는 문제가 없지만 특정 작업, 조건 등에서 문제가 발생할 수
있다. 주의 깊게 봐야 한다.
[kafka@kafka ~]$ tail -100f $ZOOKEEPER_HOME/logs/zookeeper-kafka-server.out 2020-09-03 10:11:35,822 [myid:2] - WARN [QuorumConnectionThread-[myid=2]-2:QuorumCnxManager@400] - Cannot open channel to 3 at election address /192.168.113.138:3888 java.net.ConnectException: 연결이 거부됨 (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:607) at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:383) at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(Qu .... 2020-09-03 10:11:35,828 [myid:2] - INFO [WorkerReceiver[myid=2]:FastLeaderElection$ ... 후략
예제의 경우 다른 zookeeper 노드가 아직 구동되지 않아 발생한 [WARN] 메시지가 존재한다.
나머지 노드가 구동되고 연결되면 [WARN] 메시지는 사라진다.
로그의 모든 내용을 설명하기는 어렵고 자주 바라보고 눈에 익숙해 질 수 있도록 해야한다.