Skip to content

FEATURE: Add zk start, stop, status, list, delete commands#45

Open
f1v3-dev wants to merge 1 commit into
developfrom
f1v3/zk-command
Open

FEATURE: Add zk start, stop, status, list, delete commands#45
f1v3-dev wants to merge 1 commit into
developfrom
f1v3/zk-command

Conversation

@f1v3-dev

@f1v3-dev f1v3-dev commented Jun 16, 2026

Copy link
Copy Markdown

🔗 Related Issue

⌨️ What I did

  • ZK Ensemble 관리를 위한 명령어(start, stop, status, list, delete)를 추가합니다.
    • arcusctl zk start <name> [--node <myid>]: 앙상블 전체 또는 특정 서버 기동
    • arcusctl zk stop <name> [--node <myid>]: 앙상블 전체 또는 특정 서버 중지
    • arcusctl zk status <name>: 각 서버의 상태(leader/follower) 출력
    • arcusctl zk list: 배포된 앙상블 목록 출력
    • arcusctl zk delete <name>: 원격 파일과 로컬 메타데이터 삭제

테스트 방법

로컬에 SSH가 설정되어 있다는 가정하에 local-test.yml 로 테스트할 수 있습니다.

MacOS 기준: 설정 - 일반 - 공유 - 원격 로그인 활성화

local-test.yml

name: local-test
path: /tmp/arcusctl-test/zookeeper

servers:
  - myid: 1
    address: localhost:3181:3281:3381
  - myid: 2
    address: localhost:3182:3282:3382
  - myid: 3
    address: localhost:3183:3283:3383

global_config:
  data_dir: /tmp/arcusctl-test/data

command

go build

./arcusctl zk deploy 3.5.9 local-test.yml
./arcusctl zk start local-test
./arcusctl zk status local-test           # leader, follower 확인
./arcusctl zk list                        # 앙상블 목록 출력
./arcusctl zk stop local-test --node 2    # 특정 노드만 중지
./arcusctl zk start local-test --node 2   # 특정 노드만 기동
./arcusctl zk stop local-test
./arcusctl zk delete local-test

@f1v3-dev f1v3-dev requested review from namsic and oliviarla June 16, 2026 08:30
@f1v3-dev f1v3-dev self-assigned this Jun 16, 2026
Comment thread internal/store/store.go Outdated
Comment thread internal/zk/delete.go Outdated
@f1v3-dev f1v3-dev requested a review from namsic June 19, 2026 06:14

@oliviarla oliviarla left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 완료입니다.

Comment thread internal/zk/delete.go Outdated
Comment thread internal/zk/ensemble.go
Comment thread internal/zk/server.go Outdated
Comment thread internal/zk/server.go Outdated
@f1v3-dev f1v3-dev requested a review from oliviarla July 2, 2026 08:45

@oliviarla oliviarla left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

최종 리뷰입니다.

Comment thread internal/zk/server.go
"github.com/jam2in/arcusctl/internal/topology"
)

func pickServer(topo *topology.ZKTopology, myID int) (*topology.ZKServer, error) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기랑 zkServerScript 함수에서도 ZKTopology 구조체의 특정 필드만 넘기면 좋겠습니다.

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.

3 participants