os | ubuntu 22.04 |
---|---|
mariadb | 10.6 |
spring cloud data flow | 2.11.5 |
mariadb 준비
docker pull mariadb
docker run -p 3306:3306 --name ygmariadb -e MARIADB_ROOT_PASSWORD=root -d mariadb
docker exec -it {containerId} mariadb -uroot -p
create database task;
scdf 다운로드
wget https://repo.maven.apache.org/maven2/org/springframework/cloud/spring-cloud-dataflow-server/2.11.5/spring-cloud-dataflow-server-2.11.5.jar
wget https://repo.maven.apache.org/maven2/org/springframework/cloud/spring-cloud-dataflow-shell/2.11.5/spring-cloud-dataflow-shell-2.11.5.jar
scdf 서버 실행
데이터베이스 지정하고 실행하면 자동으로 scdf서버에 필요한 메타테이블들이 생성된다.
java -Xdebug -jar spring-cloud-dataflow-server-2.11.5.jar \
--spring.datasource.url=jdbc:mariadb://localhost:3306/task \
--spring.datasource.username=root \
--spring.datasource.password=root \
--spring.datasource.driver-class-name=org.mariadb.jdbc.Driver \
--spring.cloud.dataflow.features.streams-enabled=false \
--spring.flyway.enabled=true
web ui 확인
http://localhost:9393/dashboard
샘플 프로젝트 다운로드
./mvnw clean package
샘플 프로젝트 테이블 셋업
scdf와 연동된 메타DB에 BILL_STATEMENTS 테이블이 생성된다.
java -jar billsetuptask-2.0.0-SNAPSHOT.jar \
--spring.datasource.url=jdbc:mariadb://localhost:3306/task?useSSL=false \
--spring.datasource.username=root \
--spring.datasource.password=root \
--spring.datasource.driverClassName=org.mariadb.jdbc.Driver
샘플 프로젝트 실행
BILL_STATEMENTS 테이블에 샘플 데이터가 insert된다.
java -jar billrun-2.0.0-SNAPSHOT.jar \
--spring.datasource.url="jdbc:mariadb://localhost:3306/task?useSSL=false" \
--spring.datasource.username=root \
--spring.datasource.password=root \
--spring.datasource.driverClassName=org.mariadb.jdbc.Driver \
--spring.sql.init.mode=always \
--spring.batch.jdbc.initialize-schema=always
데이터 확인
MariaDB [task]> select * from BILL_STATEMENTS;
+------+------------+-----------+---------+------------+-------------+
| id | first_name | last_name | minutes | data_usage | bill_amount |
+------+------------+-----------+---------+------------+-------------+
| 1 | jane | doe | 500 | 1000 | 6.00 |
| 2 | john | doe | 550 | 1500 | 7.00 |
| 3 | melissa | smith | 600 | 1550 | 7.55 |
| 4 | michael | smith | 650 | 1500 | 8.00 |
| 5 | mary | jones | 700 | 1500 | 8.50 |
+------+------------+-----------+---------+------------+-------------+
scdf 확인
http://localhost:9393/dashboard
터미널에서 샘플 배치 프로젝트 실행하면 대시보드상에 task execution 기록이 남는다.
웹에서 job등록하기
application 생성
task 생성
위에서 생성한 application이 왼쪽에 보이면 drag & drop으로 오른쪽에 옮겨서 화살표로 이어주고 create task.
생성한 task 선택하고 실행