Zookeeper #3. 구동과 확인

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] 메시지는 사라진다.

로그의 모든 내용을 설명하기는 어렵고 자주 바라보고 눈에 익숙해 질 수 있도록 해야한다.

댓글 남기기