본문 바로가기

전체 글74

ElasticSearch 클러스터 구성 1. ElasticSearch를 설치할 리눅스 가상머신 3대를 준비한다. (CPU 2, Memory 4로 설정) 2. JDK를 설치한다. yum -y install java-1.8.0-openjdk-devel.x86_64 3. 레포지토리를 추가한다. 아래 더보기의 내용을 한 줄 씩 입력한다. 더보기 cat > /etc/yum.repos.d/elasticsearch.repo 2023. 3. 22.
AWS) SQS 사용하여 메시지 전송 및 수신 pull은 가져가도 돼? 한 다음에 가져가는 것 push는 subscriber를 찔러서 가져가는 것 aws sqs > 표준 > queue이름 아무거나 > 암호화 원래 시켜야 하지만,, 비활성화로 > 액세스 정책 (JSON편집, Principal : "*" 나머지는 다 비활성화 > 대기열(큐) 생성 AWS 콘솔에서 테스트 > '메시지 전송 및 수신'으로 테스트 가능 > 메시지 받을 땐 '메시지 풀링' 누르면 됨 파이썬 코드 boto3으로 테스트 queue_url에 대기열 넣으면 됨 messageBody에 메시지 입력하면 된다. > 송신코드 import boto3 sqs = boto3.client('sqs') queue_url = '[대기열 url 입력]' response =.. 2023. 3. 21.
리눅스, kafka와 zookeeper 클러스터 상태에서의 장애 상황 테스트 장애 상황일 때 메시지 확인 장애 상황이 발생되기 이전에 주고 받았던 메시지는 어떻게 될 것인가? 새로운 메시지를 발행하면 자동으로 kafka에서 생성이 된다. 새로 생성되는 건 쉬운데 삭제는 어렵다. 유실되는 게 없도록 한다. partition. replicas(메모리와 디스크에 저장을 해두는데 1번 디스크에 저장을 해뒀다.) Isr(replica들 중에서 리더를 선출하여 데이터를 가져갈 수 있도록 해야 한다. 그게 몇 번 브로커에서 가능한지 나타내는 것) Isr이 가리키는 브로커는 죽이면, Leader가 None이 된다. 따라서, 복사본과 파티션의 개수를 지정해줘야한다. (파티션은 늘리는 건 되는데 줄이는 건 안된다.) /opt/kafka/bin/kafka-topics.sh --create --boo.. 2023. 3. 21.
리눅스, kafka 클러스터 구성하기 1. JDK 다운로드 받기 yum -y install java-1.8.0-openjdk-devel.x86_64 2. kafka 다운로드 받기 wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz 3. 2번에서 다운받은 압축 파일 압축 풀기 tar -xzvf kafka_2.13-3.4.0.tgz 4. 파일 이동하기 mv kafka_2.13-3.4.0 /opt/kafka 5. vi /opt/kafka/config/server.properties에서 kafka 설정을 한다. zookeeper를 따로 설정을 했으니까, kafka만 설정하면 된다. broker.id 라는 것이 있다. kafka도 마찬가지로 아이디가 안 겹치게 설정해주면된다. zoo.. 2023. 3. 21.