やさぐれSEの技術メモ

皆が辛い思いをしないようにハマったポイントなどを書きます

Embulkのインストール及びElasticsearchとの連携設定

Elasticsearchに対してデータを投入するEmbulkについて記述しようと思います。 (すっかり忘れていました)

前提条件

RHEL7.4
Embulk v0.9.4

インストール

Embulkの最新バージョンを取得します。全ユーザが利用可能なようにしています。
# curl --create-dirs -o /usr/local/bin/embulk -L "https://dl.embulk.org/embulk-latest.jar"

実行権限を付与します。
# chmod +x /usr/local/bin/embulk

実行できることの確認 兼 バージョン確認をします。
# embulk -versionembulk 0.9.4

プラグインのインストール

Embulkには各種プラグインがありますので、利用することをオススメします。

インストールされているプラグインの確認

# embulk gem list
2018-02-13 13:16:19.226 +0900: Embulk v0.9.4

********************************** INFORMATION **********************************
Join us! Embulk-announce mailing list is up for IMPORTANT announcement such as
compatibility-breaking changes and key feature updates.
https://groups.google.com/forum/#!forum/embulk-announce
*********************************************************************************

Gem plugin path is: /root/.embulk/lib/gems

*** LOCAL GEMS ***

bundler (1.16.0)
did_you_mean (default: 1.0.1)
embulk (0.9.2 java)
jar-dependencies (default: 0.3.10)
jruby-openssl (0.9.21 java)
jruby-readline (1.2.0 java)
json (1.8.3 java)
liquid (4.0.0)
minitest (default: 5.4.1)
msgpack (1.1.0 java)
net-telnet (default: 0.1.1)
power_assert (default: 0.2.3)
psych (2.2.4 java)
rake (default: 10.4.2)
rdoc (default: 4.2.0)
test-unit (default: 3.1.1)

メモ:プラグインのインストールは下記コマンドで実施できます。

# embulk gem install プラグイン名

Elasticsearchプラグインのインストールを実施します。

# embulk gem install embulk-output-elasticsearch
2018-02-13 13:17:47.128 +0900: Embulk v0.9.2
********************************** INFORMATION **********************************
Join us! Embulk-announce mailing list is up for IMPORTANT announcement such as
compatibility-breaking changes and key feature updates.
https://groups.google.com/forum/#!forum/embulk-announce
*********************************************************************************

Gem plugin path is: /root/.embulk/lib/gems

Fetching: embulk-output-elasticsearch-0.4.5.gem (100%)
Successfully installed embulk-output-elasticsearch-0.4.5
1 gem installed

コンフィグの作成

EmbulkのElasticsearch関連部分のみ記述します。
・接続先 接続先のIPアドレスはKibanaからの接続と同様にクライアントノードを指定します。
冗長化構成を取れないので、指定のElasticsearchがダウンしている場合は  手動でIPアドレスを書き換える必要があります。

・user及びpassword x-packのセキュリティ設定を実施している場合に必要です。
※embulk用にユーザを追加した方が良いと思います。

in: 
~省略~
  type: elasticsearch
  index: embulk
  index_type: embulk 
  nodes:  
    - {host: 192.168.0.3, port: 9200}  #接続先は1行しか記述出来ない。冗長設定なし 
  cluster_name: クラスタ名を記述  
  auth_method: basic #x-packのセキュリティ有効時は認証が必要   
  user: "elasticsearchに登録されているユーザ名" #x-packのセキュリティ有効時は認証が必要   
  password: "パスワード" #x-packのセキュリティ有効時は認証が必要

あとはEmbulkを実行すればデータがElasticsearchに投入できます!