인프런 커뮤니티 질문&답변

NooRy님의 프로필 이미지
NooRy

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Apache Kafka 사용 - Producer/Consumer

주키퍼 서버 시작 시 포트 중복 오류가 뜹니다

작성

·

159

0

어제 주키퍼 서버, 카프카 서버, 카프카 커넥트까지 정상적으로 동작했고 DB에서 데이터 등록 시 토픽 생성이 안되어 모두 삭제하고 재설치, 그리고 강사님이 올려주신 파일로도 해봤는데 주키퍼 서버 기동하면 포트 중복 오류가 뜹니다. 사용중인 포트도 없고 기본 포트번호를 바꿔봐도 똑같은 오류가 나오고 있습니다..

[2024-09-01 22:44:51,121] INFO Server environment:java.io.tmpdir=C:\Users\PC\AppData\Local\Temp\ (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,122] INFO Server environment:java.compiler=<NA> (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,122] INFO Server environment:os.name=Windows 10 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,123] INFO Server environment:os.arch=amd64 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,127] INFO Server environment:os.version=10.0 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,128] INFO Server environment:user.name=PC (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,128] INFO Server environment:user.home=C:\Users\PC (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,129] INFO Server environment:user.dir=C:\Work\kafka_2.12-3.4.0 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,130] INFO Server environment:os.memory.free=494MB (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,131] INFO Server environment:os.memory.max=512MB (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,131] INFO Server environment:os.memory.total=512MB (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,132] INFO zookeeper.enableEagerACLCheck = false (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,132] INFO zookeeper.digest.enabled = true (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,133] INFO zookeeper.closeSessionTxn.enabled = true (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,134] INFO zookeeper.flushDelay=0 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,135] INFO zookeeper.maxWriteQueuePollTime=0 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,135] INFO zookeeper.maxBatchSize=1000 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,136] INFO zookeeper.intBufferStartingSizeBytes = 1024 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,138] INFO Weighed connection throttling is disabled (org.apache.zookeeper.server.BlueThrottle)
[2024-09-01 22:44:51,140] INFO minSessionTimeout set to 6000 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,140] INFO maxSessionTimeout set to 60000 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,143] INFO Response cache size is initialized with value 400. (org.apache.zookeeper.server.ResponseCache)
[2024-09-01 22:44:51,143] INFO Response cache size is initialized with value 400. (org.apache.zookeeper.server.ResponseCache)
[2024-09-01 22:44:51,145] INFO zookeeper.pathStats.slotCapacity = 60 (org.apache.zookeeper.server.util.RequestPathMetricsCollector)
[2024-09-01 22:44:51,145] INFO zookeeper.pathStats.slotDuration = 15 (org.apache.zookeeper.server.util.RequestPathMetricsCollector)
[2024-09-01 22:44:51,146] INFO zookeeper.pathStats.maxDepth = 6 (org.apache.zookeeper.server.util.RequestPathMetricsCollector)
[2024-09-01 22:44:51,147] INFO zookeeper.pathStats.initialDelay = 5 (org.apache.zookeeper.server.util.RequestPathMetricsCollector)
[2024-09-01 22:44:51,147] INFO zookeeper.pathStats.delay = 5 (org.apache.zookeeper.server.util.RequestPathMetricsCollector)
[2024-09-01 22:44:51,148] INFO zookeeper.pathStats.enabled = false (org.apache.zookeeper.server.util.RequestPathMetricsCollector)
[2024-09-01 22:44:51,151] INFO The max bytes for all large requests are set to 104857600 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,152] INFO The large request threshold is set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,153] INFO Created server with tickTime 3000 minSessionTimeout 6000 maxSessionTimeout 60000 clientPortListenBacklog -1 datadir \tmp\zookeeper\version-2 snapdir \tmp\zookeeper\version-2 (org.apache.zookeeper.server.ZooKeeperServer)
[2024-09-01 22:44:51,197] INFO Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory (org.apache.zookeeper.server.ServerCnxnFactory)
[2024-09-01 22:44:51,199] WARN maxCnxns is not configured, using default value 0. (org.apache.zookeeper.server.ServerCnxnFactory)
[2024-09-01 22:44:51,201] INFO Configuring NIO connection handler with 10s sessionless connection timeout, 2 selector thread(s), 24 worker threads, and 64 kB direct buffers. (org.apache.zookeeper.server.NIOServerCnxnFactory)
[2024-09-01 22:44:51,208] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
[2024-09-01 22:44:51,210] ERROR Unexpected exception, exiting abnormally (org.apache.zookeeper.server.ZooKeeperServerMain)
java.net.BindException: Address already in use: bind
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:555)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:89)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:81)
        at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:676)
        at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:158)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:112)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:67)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:140)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:90)
[2024-09-01 22:44:51,214] INFO ZooKeeper audit is disabled. (org.apache.zookeeper.audit.ZKAuditProvider)
[2024-09-01 22:44:51,218] ERROR Exiting JVM with code 1 (org.apache.zookeeper.util.ServiceUtils)
캡처.PNG

 

답변 2

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

말씀하신 내용처럼 Zookeeper에 대한 포트 중복 오류가 발생한 것 같습니다. 실습에 필요한 내용 중 Kafka + Kafka Connect가 정상적으로 작동되었다면, Zookeeper 없이 Single Broker로 작업하실 수 있습니니다. 추가로, Kafka 역시 Docker로 기동할 수 있도록 이미지가 제공되고 있습니다. 혹시 모를 좀비 프로세스로 Zookeeper가 작동되고 있을 수도 있으니, Java 관련 프로세스 및 포트를 모두 삭제하시거나 시스템 재기동 하신 후에, Docker를 이용하여 Kafka 실행하고 실습해 보셔도 좋을 것 같습니다.

https://hub.docker.com/r/apache/kafka

감사합니다.

NooRy님의 프로필 이미지
NooRy
질문자

안녕하십니까 강사님, 아침 일찍부터 자세히 답변해주셔서 감사드립니다. 말씀해주신 대로 좀비 프로세스, Java 관련 프로세스 및 포트를 확인해보았지만 없었습니다. 왜인지는 모르겠으나 6개월 전에 사용하던 하이퍼V를 윈도우 기능 자체에서 꺼봤는데 놀랍게도 실행이 아주 잘 됩니다, 감사합니다.

누리.jpg

 

0

안녕하세요, 인프런 AI 인턴입니다. NooRy님의 주키퍼 서버 포트 중복 문제와 관련하여 비슷한 문제를 경험하신 분들의 질문을 찾았습니다. 해당 질문에서는 Kafka 서버 실행 시 9092 포트가 이미 사용 중이라는 오류가 발생하는 상황을 다루고 있습니다. 질문의 상황은 주키퍼와 Kafka 모두 동일한 포트 충돌 문제를 겪고 있다는 점에서 유사합니다.

질문 중 “kafka h2 포트 충돌 질문입니다!” (링크)에서는 이와 관련된 문제를 다루고 있습니다. 해당 질문에서는 h2 데이터베이스와 Kafka가 동일한 포트(9092)를 사용하고자 할 때 발생하는 포트 충돌 문제에 대해 설명하고 있습니다. 지식공유자는 이미 사용중인 포트를 확인하기 위해 Windows 환경에서는 netstat -ano 명령어를 사용하여 현재 사용 중인 포트를 확인하고, macOS에서는 sudo lsof -i:포트번호를 사용하여 문제의 포트를 사용 중인 프로세스를 찾아내야 한다고 조언합니다.

주키퍼 서버 포트 중복 오류의 경우, java.net.BindException: Address already in use: bind 오류는 시스템 내 다른 프로세스가 이미 2181 포트(주키퍼 기본 포트)를 사용하고 있음을 의미합니다. 이를 해결하기 위해서 해당 포트를 사용 중인 프로세스를 찾아 종료시킨 후 재시도해야 합니다. 윈도우 환경에서는 netstat -ano | findstr :2181 명령어를 통해 해당 포트를 사용 중인 프로세스의 ID를 찾을 수 있고, taskkill /F /PID 프로세스ID 명령어로 강제 종료할 수 있습니다.

진행 중인 동일한 포트 사용 문제를 해결하는 데 도움이 될 것으로 보입니다. 주키퍼 서버의 경우도 비슷한 조치를 취하여 2181 포트를 사용 중인 프로세스를 확인하고 필요한 경우 해당 프로세스를 종료한 후 다시 시도해보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

NooRy님의 프로필 이미지
NooRy

작성한 질문수

질문하기