Skip to content

INTERNAL: Restructure ZooKeeper deployment and cleanup - #53

Open
f1v3-dev wants to merge 1 commit into
developfrom
f1v3/install-struct
Open

INTERNAL: Restructure ZooKeeper deployment and cleanup#53
f1v3-dev wants to merge 1 commit into
developfrom
f1v3/install-struct

Conversation

@f1v3-dev

@f1v3-dev f1v3-dev commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

🔗 Related Issue

  • jam2in/arcus-tool#3

⌨️ What I did

구조 변경

  • ZooKeeper 바이너리를 원격 장비의 <path>/<version> 에 설치하도록 구조를 변경합니다.
  • 앙상블별 설정 파일을 <path>/conf/<ensemble-name>/zk<myid> 경로에 분리했습니다.
  • data_dir을 생략하면 <path>/data/<ensemble-name>을 기본 경로로 사용하도록 변경했습니다.
  • 운영 장비의 ZooKeeper 관리 정보 저장 경로를 clusters/zookeeper 로 수정했습니다.

기능 개선

  • zk delete 명령에도 --purge 옵션을 추가합니다.
    • 기본 삭제에서는 앙상블별 설정과 데이터를 제거하고 바이너리는 보존합니다.
    • --purge 사용 시 같은 설치를 공유하는 다른 앙상블이 없는 원격 장비에서만 <path>/<version>을 제거합니다.

arcusctl 설치 구조

운영 장비 구조

기본 home~/.arcusctl 에 아카이브와 배포 관리 정보가 저장됩니다.

~/.arcusctl/
├── images/
│   ├── arcus-community/
│   │   └── arcus-memcached-1.16.1.tar.gz
│   ├── arcus-enterprise/
│   │   └── arcus-memcached-0.12.1-E.tar.gz
│   └── zookeeper/
│       ├── apache-zookeeper-3.5.9-bin.tar.gz
│       └── apache-zookeeper-3.8.4-bin.tar.gz
└── clusters/
    ├── arcus/
    │   ├── service-code-a/
    │   │   ├── meta.yml
    │   │   └── topology.yml
    │   └── service-code-b/
    │       ├── meta.yml
    │       └── topology.yml
    └── zookeeper/
        └── ensemble-1/
            ├── meta.yml
            └── topology.yml

원격 장비 구조

토폴로지의 설치 기준 경로가 다음과 같이 지정되어있을 때 아래와 같은 구조로 설치됩니다.

# Arcus 클러스터
path: /home/rocky/arcusctl/arcus-memcached

# ZooKeeper 앙상블
path: /home/rocky/arcusctl/zookeeper
/home/rocky/arcusctl/
├── arcus-memcached/
│   ├── 1.13.5/
│   │   ├── bin/
│   │   ├── conf/
│   │   ├── include/
│   │   ├── lib/
│   │   ├── sbin/
│   │   ├── share/
│   │   ├── src/
│   │   └── memcached-<port>.pid
│   ├── 1.16.1/
│   │   └── ...
│   └── 0.12.1-E/
│       └── ...
└── zookeeper/
    ├── 3.5.9/
    │   ├── bin/
    │   ├── conf/
    │   ├── docs/
    │   ├── lib/
    │   └── logs/
    ├── 3.8.4/
    │   └── ...
    ├── conf/
    │   └── <ensemble-name>/
    │       └── zk<myid>/
    │           ├── zoo.cfg
    │           ├── zoo.cfg.dynamic
    │           └── zoo.cfg.dynamic.*
    ├── data/
    │   └── <ensemble-name>/
    │       └── zk<myid>/
    │           ├── myid
    │           ├── zookeeper_server.pid
    │           └── version-2/
    └── data_log/
        └── <ensemble-name>/
            └── zk<myid>/
                └── version-2/

@f1v3-dev f1v3-dev self-assigned this Aug 13, 2026
@f1v3-dev
f1v3-dev requested review from namsic and oliviarla August 13, 2026 01:12
@f1v3-dev
f1v3-dev force-pushed the f1v3/install-struct branch from a17b2e9 to 8001e83 Compare August 13, 2026 01:27
@linear-code

linear-code Bot commented Aug 13, 2026

Copy link
Copy Markdown

APL-29

@f1v3-dev
f1v3-dev force-pushed the f1v3/install-struct branch from 8001e83 to 3422158 Compare August 13, 2026 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant