본문 바로가기
반응형

[AWS]/Kafka10

[Kafka 클러스터 환경 구축] 9강. partition과 Message 순서 이번에는 Kafka 에 Topic을 생성하면서 Partition에 데이터가 어떻게 저장 되고 Partition을 여러개 지정 하였을 때, 왜 데이터 순서를 보장 받을 수 없는지 확인 하였습니다. 그리고 데이터 순서를 보장하고싶을 경우에는 어떻게 설정 해야하는지도 알아보았습니다. ## Kafka Topic 생성 ## Kafka Producer 에 Message 생성 ## Kafka Consumer 에 Message 소비 (기대했던 것과 달리 순서대로 출력 되지 않습니다.) ## 첫 번째, Partition Consumer 확인 : topic(partition-test)을 3개의 파티션에 나눠 저장하였는데, 그 중 첫 번째 파티션에 저장된 데이터를 확인할 수 있다. ## 두 번째, Partition Cons.. 2022. 11. 23.
[Kafka 클러스터 환경 구축] 8강. Topic, Producer, Consumer, Partition, Replica 설명 및 테스트 이번에는 Kafka broker에 Topic을 생성해보고, Producer를 이용하여 메시지 데이터를 생성하고 Consumer를 이용하여 데이터를 소비해 보았습니다. 그리고 Partition이 어떻게 저장 되는지 눈으로 확인하고, Replication의 간단한 개념도 살펴 보았습니다.!! [ 환경 구성 ] 아마존 클라우드(AWS) Apache Zookeeper 3.8.0 Apache Kafka 3.1.0 [ 클러스터 ] Kafka01(Broker Leader) Kafka02(Broker Follower) Kafka03(Broker Follower) ## Kafka Topic 생성 - 전체 6개의 파티션이 생성 (3 x 2) ## Kafka Producer 메시지 생성 (1번 서버에서 메시지 생성) ## .. 2022. 11. 23.
[Kafka 클러스터 환경 구축] 7강. Kafka, Zookeeper 실행 ## Zookeeper 실행 ## Zookeeper 실행 확인 ## Zookeeper 리스닝 포트 확인 ## Kafka 실행 (-daemon 옵션으로 백그라운드로 실행 할 것) ## Kafka 리스닝 포트 확인 ## Zookeeper znode 확인 ======================================================== Zookeeper 실행 : 설명 편의를 위해 kafka01 서버로 이동하여 진행한다. # EC2 Ubuntu terminal(kafka03) # kafka03 서버 -> kafka01 서버 ssh kafka01 # EC2 Ubuntu terminal(kafka01) # Kafka01 zookeeper start $ZOOKEEPER_HOME/bin/zkServ.. 2022. 11. 23.
[Kafka 클러스터 환경 구축] 6강. Host 및 클러스터 환경설정 ## kafka01 서버 Host 편집 ## 모든 인스턴스에 Hosts 파일 복제 (kafka01 에서만 진행한다) ====================================================== kafka01 서버 Host 편집 : kafka01 서버로 접속해서 hosts 파일에 각 서버의 Private IP와 hostname을 등록한다. (단, 작업중인 서버의 ip 는 0.0.0.0으로 작업한다.) # My Mac terminal # 로컬에서 kafka01 서버 접속 ssh kafka01 # EC2 Ubuntu terminal(kafka01) # hosts 파일 편집 sudo vim /etc/hosts # 아래 내용으로 추가 후 저장 0.0.0.0 kafka01 172.31.39.3.. 2022. 11. 22.
[Kafka 클러스터 환경 구축] 5강.AMI 생성 및 인스턴스 복제 ssh config 설정 : 로컬 환경에서 kafka01 인스턴스에 접속하기 위해 설정한 것과 동일하게 아래 config 파일을 설정한다. (HostName 에는 각 인스턴스의 Public IP 를 기재한다.) # My Local terminal vim ~/.ssh/config # 아래 내용 추가 후 저장 Host kafka01 HostName [kakfa01 Public IP] User ubuntu IdentityFile ~/identity/hadoop_eco_system.pem Host kafka02 HostName [kakfa02 Public IP] User ubuntu IdentityFile ~/identity/hadoop_eco_system.pem Host kafka03 HostName [kak.. 2022. 11. 22.
[Kafka 클러스터 환경 구축] 4강. Kafka 설치 및 환경설정 ## Apache Kafka 3.1.0 설치 ## Kafka 환경변수 설정 ## Kafka 사용자 환경변수 설정 - Xmx (최대 사용하는 메모리) : 512 메가바이트 - Xms (최소 사용하는 메모리) : 512 메가바이트 ## Kafka 홈 디렉토리 소유권 변경 ## Kafka server.properties 설정 # EC2 Ubuntu terminal cd $KAFKA_HOME/config vim server.properties # 아래 내용 수정 후 저장 broker.id=1 listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://kafka01:9092 log.dirs=/usr/local/kafka/logs zookeeper.connect=k.. 2022. 11. 22.
[Kafka 클러스터 환경 구축] 3강. Zookeeper 설치 및 환경설정 이번에는 Kafka 클러스터에 꼭 필요한 Zookeeper 설치 및 환경 설정을 진행 하였습니다. 메타데이터를 관리하고 Kafka broker의 Leader를 산출하는 등의 많은 역할을 하는 Zookeeper 클러스터 역시 Kafka 클러스터 서버와 별도로 설치, 운영 하는 것이 좋지만, Kafka 클러스터 구축에 초점을 맞췄기 때문에 Kafka와 Zookeeper 모두 같은 인스턴스에서 진행할 예정입니다. ## zookeeper 다운로드 및 설치 (-C 옵션 압축 풀 디렉토리 지정) ## Zookeeper 환경변수 설정 ## Zookeeper 사용자 환경변수 설정 ## zoo.cfg 파일 편집 ## Zookeeper 디렉토리 사용자 그룹 변경 ## Zookeeper myid 설정 ============.. 2022. 11. 21.
[Kafka 클러스터 환경 구축] 2강. Java 설치 및 환경설정 ## 업데이트 및 업그레이드 수행 sudo apt-get -y update &&\ sudo apt-get -y upgrade ## 신규 업그레이드 수행 sudo apt-get -y dist-upgrade ## 추가 라이브러리 설치 sudo apt-get install -y vim wget unzip ssh openssh-* net-tools ## JAVA 설치 sudo apt-get install -y openjdk-8-jdk java -version ## JAVA 홈 디렉토리 확인 sudo find / -name java-8-openjdk-amd64 2>/dev/null 실행 (/usr/lib/jvm/java-8-openjdk-amd64 자바 홈디렉토리 확인) ## JAVA 환경변수 설정 sudo vi.. 2022. 11. 17.
[Kafka 클러스터 환경 구축] 1강 AWS EC2 인스턴스 배포 ## Kafka 용 EC2 생성 2022. 11. 17.
[AWS] Kafka서비스란 무엇인가 1. Kafka란? Kafka는 Pub-Sub 모델의 메시지 큐이다. 분산환경에 특화되어 있는 특징을 가지고 있다. 2. 구성 요소 Event : Event는 Kafka에서 Producer와 Consumer가 데이터를 주고 받는 단위이다. Producer : Producer는 Kafka에 이벤트를 게시(Post)하는 클라이언트 어플리케이션을 의미한다. Consumer : Consumer는 이러한 Topic을 구독하고 이로부터 얻어낸 이벤트를 처리하는 클라이언트 어플리케이션이다. Topic : 이벤트가 쓰이는 곳이다. Producer는 이 Topic에 이벤트를 게시하고, Consumer는 Topic으로부터 이벤트를 가져와 처리한다. Topic은 파일시스템의 폴더와 유사하며, 이벤트는 폴더안의 파일과 유사하.. 2022. 11. 15.
반응형