No description
This repository has been archived on 2025-10-21. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Java 99.1%
  • C# 0.3%
  • C++ 0.2%
  • JavaScript 0.1%
Find a file
Hanyul Park a3da8e3ab6
feat: Apache Ignite 백업 및 클러스터 관리 기능 개선
- build.gradle.kts에 새로운 실행 태스크(runCacheBackupDemo, runSqlBackupDemo) 추가
- README.md에 백업 기능 및 데모 실행 방법 추가
- IgniteSnapshotCreateDemo 및 IgniteSnapshotRestoreDemo 클래스 삭제
- SnapshotCreator 및 SnapshotRestorer 클래스 삭제
- ignite-cluster.properties 파일에서 클라이언트 모드 설정 변경
- log4j2.xml에서 로그 레벨 조정 및 불필요한 로거 제거
- 테스트 클래스 삭제 및 관련 코드 정리
2025-07-02 09:53:54 +09:00
.cursor/rules feat: Apache Ignite 스냅샷 및 클러스터 관리 기능 개선 2025-06-30 17:36:22 +09:00
apache-ignite Initial Commit 2025-06-27 13:49:41 +09:00
backup/sql feat: Apache Ignite 백업 및 클러스터 관리 기능 개선 2025-07-02 09:53:54 +09:00
gradle/wrapper Initial Commit 2025-06-27 13:49:41 +09:00
ignite Initial Commit 2025-06-27 13:49:41 +09:00
src feat: Apache Ignite 백업 및 클러스터 관리 기능 개선 2025-07-02 09:53:54 +09:00
.gitignore refactor: 프로젝트 구조 정리 및 컴파일된 파일 제거 2025-06-27 14:26:06 +09:00
build.gradle.kts feat: Apache Ignite 백업 및 클러스터 관리 기능 개선 2025-07-02 09:53:54 +09:00
gradlew Initial Commit 2025-06-27 13:49:41 +09:00
gradlew.bat Initial Commit 2025-06-27 13:49:41 +09:00
README.md feat: Apache Ignite 백업 및 클러스터 관리 기능 개선 2025-07-02 09:53:54 +09:00
settings.gradle.kts Initial Commit 2025-06-27 13:49:41 +09:00

Apache Ignite Management Framework

Apache Ignite 클러스터 관리 및 백업 시스템을 위한 Java 관리 프레임워크입니다.

주요 기능

  • 클러스터 관리: 클러스터 활성화/비활성화, 베이스라인 토폴로지 관리
  • CRUD 작업: 캐시 기본 작업 (Create, Read, Update, Delete)
  • Cache Dump 백업: Key-Value 데이터의 엔트리별 백업 및 복원
  • SQL COPY 백업: SQL 테이블 데이터의 CSV 백업 및 복원
  • Spark 통합: Apache Spark와의 연동 기능

기술 스택

  • Apache Ignite: 2.17.0
  • Apache Spark: 2.4.8
  • Scala: 2.11.12
  • Java: 11

빌드 및 실행

빌드

./gradlew build
./gradlew test

데모 실행

캐시 백업 데모

./gradlew runCacheBackupDemo

SQL 백업 데모

./gradlew runSqlBackupDemo

서버 데모

./gradlew runServerDemo

백업 기능

SimpleCacheBackup - Key-Value 백업

  • 특징: 캐시 데이터를 CSV 형태로 백업/복원
  • 지원: 인메모리 + 영구 캐시 모두 지원
  • 이식성: 다른 클러스터로 이전 가능
  • 기능:
    • 개별 캐시 백업/복원
    • 전체 캐시 백업
    • 백업 파일 관리
    • 캐시 크기 조회

SqlCopyBackup - SQL 백업

  • 특징: SQL 테이블을 CSV + 스키마로 백업/복원
  • 지원: 데이터 + 스키마 백업
  • 복원: COPY 명령어를 통한 자동 복원
  • 기능:
    • 개별 테이블 백업/복원
    • 전체 테이블 백업
    • 스키마 스크립트 생성
    • 테이블 목록 조회

실제 구현 특징

  • Mock 없음: 실제 Apache Ignite와 연동
  • 완전 자동화: 클러스터 시작부터 백업까지 전체 프로세스
  • 실용적: 운영 환경에서 바로 사용 가능
  • 에러 처리: 완전한 예외 처리 및 리소스 정리

설정

클러스터 활성화

Control Script 사용:

  • Windows: control.bat --set-state ACTIVE
  • Linux/Mac: control.sh --set-state ACTIVE

Java API 사용:

  • cluster.state(ClusterState.ACTIVE)

설정 파일

src/main/resources/ignite-cluster.properties:

ignite.host=localhost
ignite.port=10800
ignite.timeout=30000
ignite.retry.attempts=3
ignite.retry.delay=1000
ignite.baseline.auto.adjust.enabled=true
ignite.baseline.auto.adjust.timeout=300000
ignite.cluster.tag=production-cluster

라이센스

Apache License 2.0