전체 글

반응형

Kafka 재기동시 meta.properies 예외 처리 방법

ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) kafka.common.InconsistentClusterIdException: The Cluster ID vfLZT_S7RvmNW1lR9MpWkQ doesn't match stored clusterId Some(9rbkYR5aTZC2VH2d5R5axQ) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.

The problem

Docker volume 설정 시 해당 위치에서 meta.properties를 열어보면 아래와 같이 저장되어 있습니다. Log 메시지 내용과 같이 새로 생성된 Kafka clusterId와 kafka-log에는 정상적으로 종료되지 않은 시점에 저장된 ClusterId가 저장되어 있는데, 재 시작 시 ClusterId가 일치하지 않아 Borker server가 종료되고 있다는 메시지입니다.

Solution

해결 방법은 2가지가 존재합니다. Production 환경에서는 사용을 권장하지 않는다고 하지만, 현재로서는 다른 대안은 아직 찾지 못했습니다.

#option-1: 해당 kafka-log/meta.properties 파일을 삭제 후 재기동 한다.

#option-2: log에 기록된 The cluster ID vfLZT_S7RvmNW1lR9MpWkQ로 cluster.id 정보를 업데이트한다.

위 2가지 옵션을 활용하면 Borker는 정상적으로 기동이 됩니다.

우선 문제는 해결했지만, 찝찝함이 😭 

반응형
반응형

docker-compose with Redis Container 환경 구성

들어가며,
회사에서 업무로 Redis를 Global Cache 용도로 사용 하고 있습니다. Cache 전략은 다양한 패턴이 있는데, 그 중 현재는 Cache Aside 전략으로 DB 조회 전 Cache에 동일한 Key에 해당하는 데이터가 있는지 조회 후 결과를 리턴해주는 용도로 사용 중입니다. 가장 일반적인 Cache 용도라고 보실 수 있습니다. Cache 전략에 관한 자세한 내용은 다음에 한번 다뤄 보도록 하고, 오늘은 docker-compose를 활용하여 로컬 환경에 Redis Container를 구성하는 방법에 대한 실습 과정을 공유해보겠습니다.

docker-compose file 구성

Redis docker image 6.2.8
Redis Cluster 구성
redis.conf 설정

Container properties를 먼저 보겠습니다.

  • 각 클러스터와의 연결을 위해 ports 추가,
  • Redis 환경 구성을 위해 설정한 redis.conf 파일 경로를 volumes에 추가.
  • 컨테이너 기동시 설정된 conf 파일을 로드하기 위한 Command 명령어 추가.

redis.conf 파일은 redis.io 사이트에서 설치하시는 image 버전에 맞게 다운로드 받으실 수 있습니다.
다운 받은 conf 파일에 기본적으로 port 설정과 보안, 클러스터 그리고 백업 정책 등을 아래와 같이 변경하였습니다. 이 부분에서 삽질을 많이 했네요ㅜㅜ
보안 설정의 경우 추후 Spring Boot application과 연동을 위해서는 반드시 적절한 정책으로 설정을 하셔야 합니다. Default로 설정할 경우 Redis Container는 정상적으로 생성되고 redis-cli Command를 사용하여 Redis command 테스트는 가능하지만 실제 Spring Boot application과 연동하여 개발 용도로는 사용할 수 없기 때문입니다.. 주저리주저리..했네요

redis-master:
      image: redis:6.2.8
      container_name: redis-6379
      restart: always
      ports:
        - 6379:6379
        - 6380:6380
        - 6381:6381
      volumes:
        - ./data/redis/6379:/data
        - ./data/redis.conf:/usr/local/etc/redis/redis.conf
      command: redis-server /usr/local/etc/redis/redis.conf

Redis Container 구성을 위해 yml 파일에 설정한 properties 입니다.
아래 설정한 내용은 Github에 프로젝트로 생성하였으니 Clone 하셔서 활용하셔도 좋을 거 같습니다.

version: '3'

services:
    redis-master:
      image: redis:6.2.8
      container_name: redis-6379
      restart: always
      ports:
        - 6379:6379
        - 6380:6380
        - 6381:6381
      volumes:
        - ./data/redis/6379:/data
        - ./data/redis.conf:/usr/local/etc/redis/redis.conf
      command: redis-server /usr/local/etc/redis/redis.conf

    redis-slave1:
      image: redis:6.2.8
      container_name: redis-6380
      network_mode: "service:redis-master"
      restart: always
      volumes:
        - ./data/redis/6380:/data
        - ./data/redis6380.conf:/usr/local/etc/redis/redis.conf
      command: redis-server /usr/local/etc/redis/redis.conf

    redis-slave2:
      image: redis:6.2.8
      container_name: redis-6381
      network_mode: "service:redis-master"
      restart: always
      volumes:
        - ./data/redis/6381:/data
        - ./data/redis6381.conf:/usr/local/etc/redis/redis.conf
      command: redis-server /usr/local/etc/redis/redis.conf

    redis-cluster-entry:
      image: redis:6.2.8
      container_name: redis-cluster-entry
      network_mode: "service:redis-master"
      command: redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 --cluster-yes
      depends_on:
        - redis-master
        - redis-slave1
        - redis-slave2

update 중....

반응형
반응형

SAN PEDRO SIDERAL 2020
2021.12.25

Rating: ⭐️⭐️⭐️⭐️⭐️
Producer: San Pedro
Region: Cachapoal Vally, Chile
Reginal Style: Red
Grapes: Cabernet Sauvignon, Shiraz/Syrah, Cabernet Franc, Petit Verdot, Carmenere
Price: 30,000
Purchase: 올리브영
ALC: 14.5%
Color: Deep Perple
Aroma: Oak, vanilla, chocolate
Taste: 칠레 와인 특유의 타닌감과 보디감이 강한편이네요, 적당한 산미에 입안에서 느껴지는 강한 탄닌감이 너무 매력적이고 밸런스가 좋은 와인이라는 생각이 드네요. 까베르네 쇼비뇽 즐기시는 분들에게 추천합니다.

반응형
반응형

BERAN NAPA VALLY ZINFANDEL 2014
2022.02.21

Rating: ⭐️⭐️⭐️⭐️
Producer: Bv Vineyard
Region: Napa Valley Califonia, USA
Reginal Style: Red
Grapes: Zinfandel
Price: 35,000
Purchase: 이마트 트레이더스
ALC: 15.2%
Color: Deep Perple
Aroma: Hub, Blueberry
Taste: 첫 시음한 진판델 블루베리, 자두 같은 과실향이 좋았고 낮은 산미에 목넘김이 부드러운게 특징이다, 약간 밋밋한 타닌감은 호불호가 갈릴 수 있을 듯 하지만 탄닌감을 좋아하는 내 입맛에 너무 만족스러웠다. 그럼에도 입안을 조여오는 묵진한 탄닌감을 즐기시는 분 보다는 목넘김이 부드러운 레드 와인을 원하시는 분에게 추천드립니다.

반응형
반응형

ROBERT MONDAVI PRIVATE SELECTION RYE BARRERS RED BLEND 2018
2022.04.26


Rating: ⭐️⭐️⭐️
Producer: Robert Mondavi
Region: Monterey Country, USA
Reginal Style: Table Red
Grapes: Cabernet Sauvignon, Cabernet Franc,
Vintage: 2018
Price: 19,900
Purchase: 코스트코
ALC: 14.2%
Color: Deep Ruby
Aroma: Oak, Vanilla, Chocolate
Taste: 타닌감이나 산미는 미디움 정도인 거 같고, 음.. 풀바디의 전형적인 미국 와인 같은 기분인데 개인적으로 전체적인 밸런스는 그냥 그랬던 거 같은 기억이 지배하네요.

반응형
반응형

MARQUES de CASA CONCHA CABERNET SAUVINON 2018
2022.06.20

Rating: ⭐️⭐️⭐️
Producer: Concha y Toro
Region: Maipo Valley, Chile
Reginal Style: Red
Grapes: Cabernet Sauvignon
Price: 25,000
Purchase: 올리브영
ALC: 14.5%
Color: Deep Perple
Aroma: Oak
Taste: 칠레 와인 특유의 타닌감과 보디감이 강한편이고 산미는 중간 정도고 입안에서 느껴지는 타닌감이 너무 매력적입니다. 까베르네 쇼비뇽 즐기시는 분들에게 추천합니다.

반응형

+ Recent posts

반응형