728x90
반응형
wsl centos 환경에서 kafka를 실행할때 아래의 에러가 발생 했습니다.
[2024-03-28 13:04:20,532] WARN No meta.properties file under dir /tmp/kraft-combined-logs/meta.properties (kafka.server.BrokerMetadataCheckpoint)
[2024-03-28 13:04:20,535] ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
org.apache.kafka.common.KafkaException: No `meta.properties` found in /tmp/kraft-combined-logs (have you run `kafka-storage.sh` to format the directory?)
at kafka.server.BrokerMetadataCheckpoint$.$anonfun$getBrokerMetadataAndOfflineDirs$2(BrokerMetadataCheckpoint.scala:179)
at scala.collection.immutable.List.foreach(List.scala:333)
at kafka.server.BrokerMetadataCheckpoint$.getBrokerMetadataAndOfflineDirs(BrokerMetadataCheckpoint.scala:168)
at kafka.server.KafkaRaftServer$.initializeLogDirs(KafkaRaftServer.scala:141)
at kafka.server.KafkaRaftServer.<init>(KafkaRaftServer.scala:57)
at kafka.Kafka$.buildServer(Kafka.scala:83)
at kafka.Kafka$.main(Kafka.scala:91)
at kafka.Kafka.main(Kafka.scala)
해당 에러 메시지는 Kafka 서버가 시작할 때 필요한 meta.properties 파일을 /tmp/kafka-combined-logs 디렉토리에서 찾을 수 없을 때 발생합니다. 이는 Kafka의 로그 디렉토리가 올바르게 포맷되지 않았음을 나타냅니다. kafka-storage.sh 스크립트를 사용하여 로그 디렉토리를 포맷해야 Kafka 서버가 정상적으로 시작할 수 있습니다.
server.properties 파일을 확인해보면 아래와 같이 로그 파일 경로가 설정되있습니다.
아래의 명령어로 로그 폴더를 만들어줍니다.
mkdir /tmp/kraft-combined-logs
kafka 클러스터 ID를 생성해줍니다.
해당 명령어를 입력하면 랜덤한 uuid가 생성되는데 로그 폴더를 포맷할때 사용하게 됩니다.
./kafka-storage.sh random-uuid
아래의 명령어를 통해 로그 폴더를 포맷합니다.
uuid는 위에서 생성한 uuid 값을 입력해줍니다.
./kafka-storage.sh format -t uuid -c ../config/kraft/server.properties
해당 명령어를 입력하면 아래와 같이 로그 폴더가 포맷이 되었다고 나옵니다.
kafka를 실행하면 정상적으로 실행되는것을 볼 수 있습니다.
./kafka-server-start.sh ../config/kraft/server.properties
참고자료
728x90
반응형
'개발 > Kafka' 카테고리의 다른 글
Kafka 메시지 삭제 문제 해결 방법: retention.ms 설정 이해하기 (0) | 2024.08.12 |
---|---|
Kafka 토픽 메시지 삭제: 디스크 공간 확보 방법 (0) | 2024.08.12 |
Apache Kafka Raft(KRaft) 소개(ZooKeeper 제거) (0) | 2024.02.13 |
Spring Boot에서 Kafka Topic이 Consume 안되는 현상 수정 (1) | 2024.01.29 |
Kafka 서버 비정상적 종료 에러 해결 (다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다) (0) | 2024.01.25 |