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に投入できます!