첫 걸음

첫 걸음 (First Steps)

Apache Flink에 오신 것을 환영합니다! 이 가이드는 Flink의 기능을 탐색해 볼 수 있도록 Flink 클러스터를 설치하고 실행하는 방법을 도와줍니다.

출처: 문서

본문

Apache Flink에 오신 것을 환영합니다! 이 가이드는 Flink의 기능을 탐색해 볼 수 있도록 Flink 클러스터를 설치하고 실행하는 방법을 도와줍니다.

사전 요구사항

다음 설치 방법 중 하나를 선택하세요:

  • Docker: Java 설치 불필요, SQL Client 포함
  • 로컬 설치 (Local Installation): Java 11, 17, 또는 21 필요
  • PyFlink: Java 와 Python 3.9+ 필요

옵션 A: Docker 설치

가장 빠르게 Flink를 시작하는 방법입니다. Java 설치가 필요하지 않습니다.

1단계: docker-compose.yml 파일 받기

docker-compose.yml 다운로드 하거나 다음 내용으로 docker-compose.yml 파일을 만드세요:

services:
  jobmanager:
    image: flink:latest
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager

  taskmanager:
    image: flink:latest
    depends_on:
      - jobmanager
    command: taskmanager
    scale: 1
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        taskmanager.numberOfTaskSlots: 2

  sql-client:
    image: flink:latest
    depends_on:
      - jobmanager
    command: bin/sql-client.sh
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        rest.address: jobmanager

2단계: 클러스터 시작

$ docker compose up -d

3단계: 클러스터 실행 확인

http://localhost:8081 에서 Flink Web UI 를 열어 클러스터가 실행 중인지 확인하세요.

SQL Client 사용하기

대화형 SQL 세션을 시작하려면:

$ docker compose run sql-client

SQL Client 를 종료하려면 exit; 를 입력하고 Enter 를 누르세요.

클러스터 중지

$ docker compose down

더 많은 Docker 옵션(스케일링, Application Mode)은 Docker 배포 가이드를 참고하세요.

옵션 B: 로컬 설치

Docker 없이 Flink를 직접 머신에서 실행하고 싶다면 이 방법을 사용하세요.

1단계: Flink 다운로드

Flink는 Linux, Mac OS X, Cygwin(Windows용)을 포함한 모든 UNIX 계열 환경에서 실행됩니다.

먼저 Java 버전을 확인하세요:

$ java -version

Java 11, 17, 또는 21이 설치되어 있어야 합니다. 그런 다음 최신 바이너리 릴리스를 다운로드 하고 압축을 해제하세요:

$ tar -xzf flink-*.tgz
$ cd flink-*

2단계: 클러스터 시작

로컬 Flink 클러스터를 시작합니다:

$ ./bin/start-cluster.sh

3단계: 클러스터 실행 확인

http://localhost:8081 에서 Flink Web UI 를 열어 클러스터가 실행 중인지 확인하세요. 사용 가능한 task slot 을 가진 TaskManager 하나가 표시되는 Flink 대시보드를 볼 수 있어야 합니다.

SQL Client 사용하기

대화형 SQL 세션을 시작하려면:

$ ./bin/sql-client.sh

SQL Client 를 종료하려면 exit; 를 입력하고 Enter 를 누르세요.

클러스터 중지

작업이 끝나면 다음 명령으로 클러스터를 중지하세요:

$ ./bin/stop-cluster.sh

Table API 또는 DataStream API를 사용한 Python 개발을 위한 옵션입니다. Flink 클러스터는 필요하지 않습니다—개발 중 PyFlink는 로컬 모드로 실행됩니다.

1단계: 사전 요구사항 확인

PyFlink는 Java 와 Python 이 필요합니다:

$ java -version
# Java 11, 17, or 21

$ python --version
# Python 3.9, 3.10, 3.11, or 3.12

2단계: PyFlink 설치

$ python -m pip install apache-flink==2.3.0

팁: 프로젝트 의존성을 격리하기 위해 가상 환경(venv)에 PyFlink를 설치할 것을 권장합니다.

3단계: 설치 확인

$ python -c "import pyflink; print(pyflink.__version__)"

이제 Python 탭을 사용해 Table API 튜토리얼 또는 DataStream API 튜토리얼을 따라갈 준비가 되었습니다.

다음 단계

학습을 시작할 튜토리얼을 선택하세요:

Tutorial 설명 필요한 설정
Flink SQL Tutorial SQL을 사용해 데이터를 대화형으로 질의합니다. 코딩 불필요. 옵션 A 또는 B (클러스터)
Table API Tutorial Java 또는 Python으로 스트리밍 파이프라인을 구축합니다. Maven (Java) 또는 옵션 C (Python)
DataStream API Tutorial Java 또는 Python으로 상태 기반 스트리밍 애플리케이션을 구축합니다. Maven (Java) 또는 옵션 C (Python)
Flink Operations Playground Flink 운영을 배웁니다: 스케일링, 장애 복구, 업그레이드. Docker

Flink의 핵심 개념에 대해 더 알아보려면 Concepts 섹션을 방문하세요.

더 알아보기 (Learn more)