Aerospikeをインストールしてみる

f:id:komeiy:20150329230850p:plain

インメモリ型のリアルタイムNoSQLデータベースという触れ込みで紹介されているAerospikeですが、

一般的なNoSQL型データベースの10倍、SQL型データベースの100倍の性能を実現可能とアピールしている。

とあるようにリアルタイム処理の需要が上がっている昨今で注目されているようです。aerospikeはロケットの先端部分のことを意味しているようです。community版も出ていてるのでインストールして使ってみようかと思います。

1. インストール

以下からrpmファイルをダウンロードすることが可能です。

http://www.aerospike.com/download/server/

インストール時点では3.5.3でしたが、3.5.4 (March 10 2015)が出ていました。

[komei@localhost tmp]$ tar xvzf aerospike-server-community-3.5.3-el6.tgz
aerospike-server-community-3.5.3-el6/
aerospike-server-community-3.5.3-el6/aerospike-tools-3.5.2-1.el6.x86_64.rpm
aerospike-server-community-3.5.3-el6/LICENSE
aerospike-server-community-3.5.3-el6/SHA256SUMS
aerospike-server-community-3.5.3-el6/python-argparse-1.2.1-2.el6.noarch.rpm
aerospike-server-community-3.5.3-el6/asinstall
aerospike-server-community-3.5.3-el6/aerospike-server-community-3.5.3-1.el6.x86_64.rpm

[komei@localhost tmp]$ cd aerospike-server-community-3.5.3-el6

[komei@localhost aerospike-server-community-3.5.3-el6]$ ls
aerospike-server-community-3.5.3-1.el6.x86_64.rpm
aerospike-tools-3.5.2-1.el6.x86_64.rpm
asinstall
LICENSE
python-argparse-1.2.1-2.el6.noarch.rpm
SHA256SUMS

aerospoke-toolsとaerospike-serverをインストールします。

[komei@localhost aerospike-server-community-3.5.3-el6]$ sudo rpm -ivh  aerospike-tools-3
.5.2-1.el6.x86_64.rpm
Preparing...                ########################################### [100%]
Installing /opt/aerospike
Adding group aerospike
Adding user aerospike
   1:aerospike-tools        ########################################### [100%]
Writing /usr/lib64/python2.6/site-packages/aerospike.pth
Adding python path /opt/aerospike/lib/python

[komei@localhost aerospike-server-community-3.5.3-el6]$ sudo rpm -ivh aerospike-server-community-3.5.3-1.el6.x86_64.rpm
Preparing...                ########################################### [100%]
   1:aerospike-server-commun########################################### [100%]

2. Aerospikeの設定をしてみる

設定ファイルは/etc/aerospike/aerospike.confです。 まず最初にheartbeatの設定をします。デフォルトではマルチキャストになっていますが、mode meshとしてUnicastで設定します。addressには自身のIPを設定し、mesh-seed-address-portで2台目以降のIPを設定します。

[komei@localhost ~]$ cat /etc/aerospike/aerospike.conf


network {


        heartbeat {
                mode mesh
                address 192.168.1.1
                port 3002

namespaceの設定でindexをmemory、データをHDDに格納するように設定します。namespace = datebase, set = tableとして理解するとわかりやすいかと思います。

namespace test01 {
        replication-factor 2
        memory-size 1G
        ldt-enabled true
        default-ttl 0

        storage-engine device {
        file /opt/aerospike/test.dat
        filesize 10G
        }
}

設定が完了したらservice aerospike startでサービスを立ち上げます。

3. Aerospike 動作確認

ここからはaerospike-toolsでインストールしたコマンドで動作確認します。asmonitorでモードを変えてからコマンドを打っても構いません。

[komei@localhost ~]$ asmonitor -e info

Enter help for commands

1 hosts in cluster: 192.168.1.1:3000
===NODES===
2015-03-29 23:24:52.628098
Sorting by IP, in Ascending order:
ip:port              Build   Cluster      Cluster   Free   Free   Migrates              Node         Principal   Replicated    Sys
                         .      Size   Visibility   Disk    Mem          .                ID                ID      Objects   Free
                         .         .            .    pct    pct          .                 .                 .            .    Mem
192.168.1.1:3000    3.5.3         1         true     99     99      (0,0)   BB96954200DB806   BB96954200DB806            1     92
Number of nodes displayed: 1


 ===NAMESPACE===
Total (unique) objects in cluster for test01 : 1
Note: Total (unique) objects is an under estimate if migrations are in progress.


ip/namespace                      Avail   Evicted    Master     Repl     Stop       Used   Used      Used   Used    hwm   hwm
                                    Pct   Objects   Objects   Factor   Writes       Disk   Disk       Mem    Mem   Disk   Mem
                                      .         .         .        .        .          .      %         .      %      .     .
192.168.1.1/test01                 99         0         1        1    false   384.00 B      1   64.00 B      1     50    60
Number of rows displayed: 1

クラスタリングの確認なども上記で確認可能です。


シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。

このエントリーをはてなブックマークに追加

NOSQLの基礎知識 (ビッグデータを活かすデータベース技術)

NOSQLの基礎知識 (ビッグデータを活かすデータベース技術)

データベース徹底攻略 (WEB+DB PRESS plus)

データベース徹底攻略 (WEB+DB PRESS plus)