Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

ソースからビルドしてElastic Stackの最新バージョンを触ってみる

こんにちは、ノムラです。
この記事はElastic Stack (Elasticsearch) Advent Calendar 2020 の7日目になります。

目次は以下です。

はじめに

Elastic Stackはご存じの通り、OSSの製品であるため、ソースコードがGit上に公開されています。
github.com
github.com

このソースをビルドすることで開発中の最新バージョンもお試しで触ることができます。
そこで今回は、実際にビルドしてみて、Elastic Stack 8.0を触ってみたいと思います。

環境情報

環境:AWS
OS:Amazon Linux 2 AMI (HVM)
インスタンスタイプ:t2.large
Java:14.0.2

Elasticsearchをビルドする

Elasticsearchのビルドにはgradleを利用します。
まずはgradleのインストールから、と思うところですが、gradlewが作成されているため、実際はgit cloneをしてコマンドを実行するだけです。

ソースを github から clone する

$ sudo yum install -y git
$ git clone https://github.com/elastic/elasticsearch.git

Elasticsearchをビルドする

$ cd elasticsearch/
$ ./gradlew :distribution:archives:linux-tar:assemble

ビルドされたファイルは distribution ディレクトリに出力されます。

$ ls distribution/archives/linux-tar/build/install/elasticsearch-8.0.0-SNAPSHOT
bin     data  lib          logs     NOTICE.txt  README.asciidoc
config  jdk   LICENSE.txt  modules  plugins

Elasticsearchを起動する

$ cd distribution/archives/linux-tar/build/install/elasticsearch-8.0.0-SNAPSHOT
$ bin/elasticsearch
$ curl localhost:9200
{
  "name" : "es-sample",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "tQl8J8LZQPOCfqESKImJRQ",
  "version" : {
    "number" : "8.0.0-SNAPSHOT",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "966189fa6a42882c127742c43c52d29f668c3f48",
    "build_date" : "2020-12-05T16:13:39.509805Z",
    "build_snapshot" : true,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "7.11.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

無事起動できました。
次はKibanaを構築したいと思います。

Kibanaを構築する

Kibanaのソースからの起動方法は公式ドキュメントの開発者ガイドに記載されています。
www.elastic.co

ソースを github から clone する

$ git clone https://github.com/elastic/kibana.git

nvm をインストールする

公式ドキュメントに従ってnvmをインストールします。
github.com

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
$ nvm use
$ nvm install 14.15.1

yarn をインストールする

同様に公式ドキュメントに従ってyarnをインストールします。
classic.yarnpkg.com

$ curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
$ curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
$ sudo yum install -y yarn

bootstrapを実行し必要なパッケージをインストールする

bootstrap実行の前にgccをインストールします。
後述のyarnコマンド実行のために必要です。

$ sudo yum -y install -y gcc*

yarnコマンドを実行し、パッケージをインストールします。

$ yarn kbn bootstrap

Kibanaを起動する

$ yarn start

Kibanaが起動できました。
f:id:acro-engineer:20201207025620p:plain:w400f:id:acro-engineer:20201207071254p:plain:w400

おまけ

今回は利用しませんでしたが、以下のコマンドを実行することで、Kibanaプロジェクトのみで動作確認をすることもできます。便利ですね。

$ yarn es snapshot --license trial

まとめ

ソースからビルドして、Elastic Stack 8.0を触ってみました。
これで、今後いち早く気になる最新機能を触ることができそうです。

それでは。

Acroquest Technologyでは、キャリア採用を行っています。

  • ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
  • Elasticsearch等を使ったデータ収集/分析/可視化
  • マイクロサービス、DevOps、最新のOSSを利用する開発プロジェクト
  • 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

世界初のElastic認定エンジニアと一緒に働きたい人Wanted! - Acroquest Technology株式会社のデータサイエンティストの求人 - Wantedlywww.wantedly.com