Skip to content

Installation

Park JunHyun edited this page Jan 19, 2024 · 7 revisions

arcus-memcached 1.13.5 버전부터 libeventarcus-zookeeper C client 의존성을 포함하는 tarball 파일을 제공합니다.
arcus-memcached 1.13.5 버전의 tarball 파일을 이용한 설치 방법을 설명합니다.

Quickstart

아래 명령을 실행하면 홈 디렉토리 하위에 arcus-memcached가 설치됩니다.

export ARCUS_MEMCACHED_INSTALL_PATH="$HOME/arcus-memcached"

# Download arcus-memcached tarball.
wget https://github.com/naver/arcus-memcached/releases/download/1.13.5/arcus-memcached-1.13.5.tar.gz
tar -zxvf arcus-memcached-1.13.5.tar.gz

# Install dependencies of libevent and arcus-zookeeper C client.
cd arcus-memcached-1.13.5
./deps/install.sh ${ARCUS_MEMCACHED_INSTALL_PATH}

# Build & Install arcus-memcached
./configure --enable-zk-integration --prefix=${ARCUS_MEMCACHED_INSTALL_PATH}
make
make install

Install step by step

0. Prerequisites

빌드에 필요한 패키지를 설치합니다.

sudo yum install gcc make which libtool      # CentOS
sudo apt-get install build-essential libtool # Ubuntu

1. Get source

arcus-memcached는 다음 명령을 통해 다운받을 수 있습니다.

wget https://github.com/naver/arcus-memcached/releases/download/1.13.5/arcus-memcached-1.13.5.tar.gz
tar -zxvf arcus-memcached-1.13.5.tar.gz

2. Install dependencies

arcus-memcached는 libeventarcus-zookeeper C client 라이브러리를 사용하고 있습니다.
두 라이브러리는 deps 디렉토리 하위에 .tar.gz 파일로 포함되어 있고, 원하는 경로에 일괄 설치하기 위한 스크립트를 제공하고 있습니다.
아래와 같이 설치 경로를 주어 install.sh 스크립트를 수행하여, 한번에 모든 의존성 라이브리리를 설치할 수 있습니다.

cd arcus-memcached-1.13.5
./deps/install.sh <target path>

라이브러리가 정상 설치되면 아래와 같이 출력됩니다. install.log에서 자세한 로그를 확인하실 수 있습니다.

---------------------------------------------------
ARCUS MEMCACHED DEPENDENCIES BUILD & INSTALL: START
---------------------------------------------------
INSTALL PATH : <target path>
LOG PATH : <current path>/deps/install.log
---------------------------------------------------
[libevent-2.1.12-stable installation] .. SUCCEED
[arcus-zookeeper-3.5.9-p3 installation] .. SUCCEED
---------------------------------------------------
ARCUS MEMCACHED DEPENDENCIES BUILD & INSTALL: END
---------------------------------------------------

3. Build

configure

./configure --enable-zk-integration
            [--prefix=<target path>]
            [--with-libevent=<libevent installed path>]
            [--with-zookeeper=<arcus-zookeeper installed path>]

configure의 각 속성 별 의미는 다음과 같습니다.

  • --enable-zk-integration: zookeeper clustering 기능을 사용하기 위해 반드시 필요합니다.
  • --prefix: memcached가 설치될 경로를 지정합니다.
    생략하면 system default path에 설치합니다.
  • --with-libevent, --with-zookeeper: 각 라이브러리가 설치된 위치를 지정합니다.
    생략하면 --prefix 위치와 system default path에서 필요한 라이브러리를 탐색합니다.

config.log에서 자세한 로그를 확인하실 수 있습니다.

make

configure 수행한 이후에는 make 명령을 통해 바이너리를 빌드합니다.

make

4. Install

make install

makemake install 수행하면 configure에서 설정한 경로에 아래와 같이 arcus-memcached가 설치됩니다.

<target path>
├── bin
│   ├── memcached
│   └── ...
├── conf
│   └── ...
├── include
│   └── ...
├── lib
│   ├── ascii_scrub.so
│   ├── default_engine.so
│   ├── syslog_logger.so
│   ├── libevent.so
│   ├── libzookeeper_mt.so
│   └── ...
└── share
    └── ...

make install 수행 이후에는 빌드에 사용한 소스파일 제거를 고려할 수 있습니다.

Run

설치가 정상 완료되었다면 아래와 같은 명령으로 캐시 서버를 실행할 수 있습니다. 구동 옵션에 관한 내용은 구동 옵션 wiki를 참고 바랍니다.

<target path>/bin/memcached -E <target path>/lib/default_engine.so -p 11211 -v

ETC

git clone

.tar.gz파일을 다운받는 방법 외에도 git의 source를 직접 받아 설치할 수 있습니다.
이때는 ./configure 전에 ./config/autorun.sh 명령을 추가로 수행해야 합니다.
autorun.sh 수행 결과로 configure 파일이 생성되고, .tar.gz 압축 해제한 것과 동일한 상태가 됩니다.

config/autorun.sh 수행을 위해서는 추가 의존성이 필요합니다.

# CentOS
sudo yum install gcc gcc-c++ make autoconf automake libtool pkgconfig cppunit-devel perl-Test-Harness perl-Test-Simple
# Ubuntu
sudo apt-get install build-essential autoconf automake libtool libcppunit-dev
# OSX
brew install autoconf automake libtool pkg-config cppunit
git clone https://github.com/naver/arcus-memcached.git
cd arcus-memcached
./config/autorun.sh