첫 걸음
첫 걸음 (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
옵션 C: PyFlink 설치
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 섹션을 방문하세요.