しばたテックブログ

気分で書いている技術ブログです。

WindowsでInfluxDBをビルドしてみた


-- 2015/10/09追記 --

Ver.0.9.4からWindows版のインストーラーが提供される様になりました。
インストール手順については以下のエントリを参考にしてください。

stknohg.hatenablog.jp

-- 追記ここまで --


最近InfluxDBに興味が出ましてGoと併せて少しづつ勉強しております。

influxdb.com

InfluxDBはWindowsをサポートしておらず当然インストーラーも提供されていないのですが、ソースからビルドすればとりあえず動かせるらしいとの事で、StackOverflowの以下の情報を参考に試してみました。

stackoverflow.com

以下の手順はWindows Server 2012 R2の仮想マシン上で行っています。

1. Goのインストール

ビルドのためにGoをインストールします。

The Go Programming Language

公式サイトからWindows用のインストーラーをダウンロードしてインストールします。

今回はgo1.5.windows-amd64.msiをデフォルト設定のままC:\goにインストールしました。
インストーラーからインストールしてるのでGOROOT環境変数も同時に設定されています。

2. git for Windowsのインストール

go getコマンド用にGitクライアントをインストールします。

git-for-windows.github.io

公式サイトからGit-2.5.0-64-bit.exeをダウンロードして、すべてデフォルト設定でインストールしました。
とりあえずgitコマンドが通る様にしておけば何でも良いので設定は適当で良いと思います。

3. InfluxDBのビルド

以降の作業はgit CMD上で行っています。

GOPATHの設定

最初に適当なディレクトリを作ってGOPATHを設定します。

> mkdir C:\Project
> cd C:\Project
> SET GOPATH=C:\Project

InfluxDBソースの取得+ビルド

go getコマンドでInfluxDBと依存モジュールのソース取得し、go buildコマンドでビルドします。

> go get github.com/influxdb/influxdb
>
> cd .\src\github.com\influxdb\influxdb
>
> go get -u -f .\...
>
> go build .\...
>

go buildコマンドはびっくりする程一瞬で終わります。
あと、go get時に以下の様なメッセージが出てホスト名の解決に失敗したことがありましたが、何度かリトライすると解消されました。

# cd C:\Project\src\github.com\influxdb\influxdb; git pull --ff-only
fatal: unable to access 'https://github.com/influxdb/influxdb/': Couldn't resolve host 'github.com'
package github.com/influxdb/influxdb: exit status 1

ビルドが終わると%GOPATH%\binフォルダに以下の実行ファイルが作成されます。

  • influx.exe
  • influxd.exe
  • influx_stress.exe
  • test_client.exe
  • urlgen.exe

InfluxDBの起動

作成されたinfluxd.exeから以下の様にして設定ファイルのひな形を作成します。

> cd C:\Project\bin
> influxd.exe config > influxdb.conf

作成されたinfluxdb.confファイルを環境に応じて修正し、influxd.exeを起動します。

> influxd.exe -config .\influxdb.conf

f:id:stknohg:20150827191133p:plain

Windowsでも普通に起動してくれました。現時点のバージョンはVer.0.9.3です。

デフォルト設定であればhttp://localhost:8083/にアクセスすればWeb Admin Interfaceが表示されます。

f:id:stknohg:20150827191313p:plain

InfluxDBのサービス化

あと、nssmを使ってinfluxd.exeを適当にサービス化してみましたが特に問題なく動作しました。

動作確認

InfluxDBがWindows上でどこまでまともに動くのか正直怪しさ満点ですが、

InfluxData | Documentation | Getting Started

の手順を試して一通り動かすことはできました。 とりあえず使う分には問題なさそうです。

いずれは公式にWindowsをサポートしてほしいですね。