Raspberry Pi上でARM用のGridDBと時系列データベースを構築する方法

このブログでは、64ビットARM用のGridDBを構築し、Ubuntu Server 18.04のRaspberry Pi 3または4で実行する方法を紹介します。 多くの事例において、IoTソリューションのエッジにあるNoSQLデータベースに時系列データを保存することは理にかなっているといえます。低コストで低消費電力のARMデバイスは、これを実現する優れた方法です。

まず、なぜUbuntu Server 18.04なのかというと、Ubuntu Server 18.04は、Raspberry Pi 3やPi 4用の唯一のLinuxディストリビューションで、64ビットでGCC 4.8のパッケージを持っているからです。こちらからダウンロードして、Raspberry Pi Imagerでカスタムイメージとして簡単にインストールすることができます。

Raspberry Pi上でサーバを構築する

次に、Ubuntu 18.04をインストールしてRaspberry Pi上で実行している状態で、GridDB構築のための依存パッケージをインストールします。

$ apt-get -y install gcc-4.8 g++-4.8 build-essential git tcl tk ant libz-dev autoconf automake

メインの GridDB git リポジトリではなくgriddbnet/griddb_arm フォークに、ARMの修正があります。

$ git clone https://github.com/griddbnet/griddb_arm.git

これでサーバー構築の準備ができました。

$ cd griddb_arm
 $ ./bootstrap.sh
 $ CC=gcc-4.8 CXX=g++-4.8 ./configure
 $ make

GridDBを起動し、Javaサンプルを構築、実行する

構築が完了したら、READMEに従ってGridDBを起動し、Javaサンプルを実行します。

サーバーを設定します。

$ export GS_HOME=$PWD
 $ export GS_LOG=$PWD/log
 $ export PATH=${PATH}:$GS_HOME/bin
$ bin/gs_passwd admin -p admin
 $ sed  sed -i -e s/\"\"/\"defaultCluster\"/ conf/gs_cluster.json 

サーバーを起動します。

$ bin/gs_startnode
 $ bin/gs_joincluster -c defaultCluster -u admin/your_password

サンプルプログラムを構築して実行します。

$ export CLASSPATH=${CLASSPATH}:$GS_HOME/bin/gridstore.jar
 $ mkdir gsSample
 $ cp $GS_HOME/docs/sample/program/Sample1.java gsSample/.
 $ javac gsSample/Sample1.java
 $ java gsSample/Sample1 239.0.0.1 31999 defaultCluster admin admin
  --> Person:  name=name02 status=false count=2 lob=[65, 66, 67, 68, 69, 70, 71, 72, 73, 74]

Cクライアントを構築する

サーバと同様に、C クライアントは ARM 上で動作させるためにいくつかの小さな修正を必要とします。README の指示に従って構築してインストールします。

$ git clone https://github.com/griddbnet/c_client_arm.git
 $ cd client/c
 $ ./bootstrap.sh
 $ ./configure
 $ make
 $ sudo make install

これで、ARMベースのRaspberry Pi 3または4でGridDBが動作するようになりました。同様の手順で、PythonNodeJSや他のGridDBクライアントを構築するのも簡単に行えます。

Leave a Reply

Your email address will not be published.