반응형

namespace는 서버의 영역으로 client api를 제공하지 않으므로 서버에 직접 환경설정을 해야함

  • 기본 설정방법
    • 터미널에서 /etc/aerospike/aerospike.conf 설정파일을 연다.
    • 파일 내용 하단부에  aerospike 설치시 기본으로 생성되는  namespace 항목을  참고 하여 원하는 이름의 namespace로 작성하면 된다
# Aerospike database configuration file. 
 
# This stanza must come first. 
service { 
        user root 
        group root 
        paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. 
        pidfile /var/run/aerospike/asd.pid 
#       service-threads 2 # cpu x 5 in 4.7  
#       transaction-queues 2 # obsolete in 4.7  
#       transaction-threads-per-queue 4 # obsolete in 4.7 
        proto-fd-max 15000 
} 
.
.
.
.

namespace test { 
        replication-factor 2 
        memory-size 1G 
        default-ttl 30d # 5 days, use 0 to never expire/evict. 
        nsup-period 120 
        #       storage-engine memory 
 
        # To use file storage backing, comment out the line above and use the 
        # following lines instead. 
 
        storage-engine device { 
                file /opt/aerospike/data/test.dat 
                filesize 4G 
                data-in-memory true # Store data in memory in addition to file. 
        } 
} 

namespace 신규namespace {
      설정값
      .
      .
      .
}
  • Docker container를 사용하는 경우 설정방법
    • https://docs.aerospike.com/operations/configure (aerospike 공식사이트) 에 config example이 있으나 세부 설정에 대한 값은 본인이 커스텀해야함
    • aerospike docker container 실행한 후 내부로 접속하여 기본설정 방법에 나와있는 파일내용을 복사해둠
    • aerospike container 내부로 접속
    • /etc/aerospike/aerospike.conf 파일을 열어 내용 복사
    • container에서 나온 후 기존 aerospike container 정지 후 삭제
    • aerospike container를 실행할 서버 내부에 새로운 config 파일 생성 - /opt/aerospike/etc/aerospike.conf 파일을 만들고 내부에 b.iv에서 복사한 내용을 넣은 후 추가하려는 namespace 설정을 작성한다.
    • 새로운 aerospike conatiner 실행할때 /opt/aerospike/etc/aerospike.conf  파일을 바라보도록 하면 됨
# aerospike docker container 실행
# aerospike:ce는 커뮤니티 버전, ee는 엔터프라이즈 버전
$ docker run -d --name aerospike -p 3000-3002:3000-3002 aerospike:ce-[version]

# aerospike container 내부로 접속
$ docker exec -it aerospike bash

# conf 파일 열어서 복사
$ vi /etc/aerospike/aerospike.conf

# 실행했던 docker container 정지
$ docker stop aerospike

# 정지한 container 삭제
$ docker rm {container id}

# 새로운 conf 작성 - 복사해둔 내용 넣고 namespace추가
$ vi /opt/aerospike/etc/aerospike.conf 

# 외부 conf파일을 바라보는 새로운 aerospike container 실행
$ docker run -d -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 aerospike/aerospike-server --config-file /opt/aerospike/etc/aerospike.conf
  • docker를 사용하는 경우 외부에 파일을 두지 않으면 컨테이너를 정지하고 재실행시 설정값이 기본설정값으로 복구되는 이슈가 있어 복잡하지만 위에 방법과 같이 처리함.
728x90
반응형

+ Recent posts