cluster 2

카프카 내부 메커니즘 - 1.클러스터 멤버십

실제 업무에서 카프카를 사용하는 작성하는 어플리케이션을 위해서 내부 구조를 알 필요는 없지만 어떻게 동작하는지 알아두면 문제가 발생했을 때 신속히 원인을 파악하고 대처하는(트러블슈팅) 기반이 될 수 있다. 이 글에서는 책 을 바탕으로 카프카 복제(Replication)가 동작하는 방식, 카프카가 프로듀서와 컨슈머의 요청을 처리하는 방법, 카프카가 스토리지(파일 형식, 인덱스 등)를 처리하는 방법을 알아본다. 클러스터 멤버십 주키퍼의 트리구조 데이터 저장 카프카에서 사용하는 주키퍼의 중요사항을 알아볼 필요가 있다. 주피커는 내부적으로 디렉터리처럼 계층적인 트리구조로 데이터를 저장한다. 데이터를 저장하는 노드를 znode라고 하며 각 znode의 이름 앞에는 /(슬래시)를 붙여 디렉터리처럼 경로(path)를..

Spark Application Architecture - 실행 모드

실행 모드는 스파크 애플리케이션을 실행할 때 요청한 자원의 물리적인 위치를 결정한다. 실행 모드는 총 3가지로 클러스터 모드, 클라이언트 모드, 로컬모드가 있다. 클러스터 모드 클러스터 모드를 사용하려면 컴파일된 JAR파일이나 파이썬 스크립트, R 스크립트를 클러스터 매니저에게 전달해야 한다. 클러스터 매니저는 파일을 받은 다음 하나의 워커 노드에 스파크 드라이버을 실행하고 다른 워커 노드에 스파크 익스큐터 프로세스를 실행한다. 클러스터 매니저는 모든 스파크 애플리케이션과 관련된 프로세스를 유지하는 역할을 한다. 클러스터 모드에서는 스파크 드라이버, 스파크 익스큐터가 모두 클러스터 워커 노드에서 실행된다. 클라이언트 모드 클라이언트 모드는 애플리케이션을 제출한 클라이언트 머신에 스파크 드라이버가 위치한다..