CentOS に Aerospike インストールしてみた

Aerospike とは

Aerospike(エアロスパイク)とは、米 Aerospike 社によって開発されている NoSQL データベースです

とにかく高速であると言われており、最近では日本の企業でも採用事例が増えてきています

今回は OSS 版を CentOS 上に構築してみたいと思います

作業環境

Aerospike のインストール

公式ドキュメントを参考に Aerospike をインストールします

$ wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/el7'
$ tar -xvf aerospike.tgz
$ cd aerospike-server-community-3.12.0-el7/
$ sudo ./asinstall

自動起動設定をして、Aerospike を起動します

$ sudo systemctl enable aerospike
$ sudo systemctl start aerospike

Aerospike が起動したのでステータスを確認してみましょう

$ sudo systemctl status aerospike
● aerospike.service - Aerospike Server
   Loaded: loaded (/usr/lib/systemd/system/aerospike.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/aerospike.service.d
           └─aerospike.conf
   Active: active (running) since 月 2017-03-27 13:33:10 UTC; 4s ago
  Process: 3559 ExecStartPre=/bin/systemctl start aerospike_telemetry (code=exited, status=0/SUCCESS)
  Process: 3554 ExecStartPre=/usr/bin/asd-systemd-helper (code=exited, status=0/SUCCESS)
 Main PID: 3563 (asd)
   CGroup: /system.slice/aerospike.service
           └─3563 /usr/bin/asd --config-file /etc/aerospike/aerospike.conf --fgdaemon

 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (paxos): (paxos.c:3730) ... no other nodes detected - node will operate a...e cluster
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (partition): (partition_balance.c:285) {test} 4096 absent partitions prom...to master
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (partition): (partition_balance.c:285) {bar} 4096 absent partitions promo...to master
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (paxos): (paxos.c:3740) starting paxos threads
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (nsup): (thr_nsup.c:1421) starting namespace supervisor threads
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (demarshal): (thr_demarshal.c:863) starting 1 demarshal threads
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (demarshal): (socket.c:709) Started client endpoint 0.0.0.0:3000
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (info-port): (thr_info_port.c:307) starting info port thread
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (info-port): (socket.c:709) Started info endpoint 0.0.0.0:3003
 3月 27 13:33:14 localhost.localdomain asd[3563]: Mar 27 2017 13:33:14 GMT: INFO (as): (as.c:449) service ready: soon there will be cake!
Hint: Some lines were ellipsized, use -l to show in full.

Aerospike の起動が確認できました!

AMC(Aerospike Management Console)のインストール

AMC は Aerospike の管理ツールです

複数の node をブラウザ上から一度に管理できるそうなので、こちらもインストールしていきたいと思います

まずは、依存パッケージをインストールします

$ sudo yum install gcc python python-devel

こちらも公式ドキュメントを参考にインストールします

$ wget http://aerospike.com/download/amc/latest/artifact/el7
$ sudo rpm -ivh el7

自動起動設定をしてから起動します

$ sudo systemctl enable amc
$ sudo systemctl start amc

ステータスを確認してみます

$ sudo systemctl status amc
● amc.service - LSB: Aerospike's Management Console
   Loaded: loaded (/etc/rc.d/init.d/amc; bad; vendor preset: disabled)
   Active: active (running) since 月 2017-03-27 13:48:04 UTC; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3819 ExecStart=/etc/rc.d/init.d/amc start (code=exited, status=0/SUCCESS)
 Main PID: 3824 (amc)
   CGroup: /system.slice/amc.service
           └─3824 /opt/amc/amc -config-file=/etc/amc/amc.conf -config-dir=/etc/amc

 3月 27 13:48:04 localhost.localdomain systemd[1]: Starting LSB: Aerospike's Management Console...
 3月 27 13:48:04 localhost.localdomain runuser[3822]: pam_unix(runuser:session): session opened for user root by (uid=0)
 3月 27 13:48:04 localhost.localdomain amc[3819]: Starting amc: [  OK  ]
 3月 27 13:48:04 localhost.localdomain systemd[1]: Started LSB: Aerospike's Management Console.

AMC の起動も確認することができました!

AMC はデフォルトでは 8081 ポートで起動するので、ブラウザからアクセスしてみます

f:id:enomotodev:20170519204627p:plain

Aerospike の IP アドレスとポートを入力する画面が表示されるので、それぞれ localhost, 3000 と設定し、『Connect』ボタンを押下します

特に問題なければ次のような画面が表示されます

f:id:enomotodev:20170519204631p:plain

まとめ

Aerospike をインストールするところまで学習しました

実際にレコードを insert, select, update, delete するなど、今後色々と触って試していきたいと思います

ビッグデータを支える技術―刻々とデータが脈打つ自動化の世界 (WEB+DB PRESS plus)

ビッグデータを支える技術―刻々とデータが脈打つ自動化の世界 (WEB+DB PRESS plus)