mamori017.log

歴史的クソブログ

Elasticsearchをアップデートしたら起動できなくなったのでKuromojiプラグインを再インストールした

Ubuntuのパッケージを更新したところ、ElasticsearchとKibanaのバージョンが5.6.7にアップデートされていました。 OS再起動ののちElasticsearchとKibanaの起動状態を見てみたところElasticsearchだけ起動していません。

$ sudo service --status-all | grep -e "elastic" -e "kibana"
 [ - ]  elasticsearch
 [ + ]  kibana

www.elastic.co

以前、Elasticsearchを5.0.0から5.4.0にアップデートした時、Kuromojiプラグインがバージョン非対応になり起動できなくなった経緯*1があります。恐らく同事象だと思いElasticsearchのログ(/var/log/elasticsearch/elasticesarch.log)を見たところ、やはりKuromojiプラグインのバージョンが原因のようです。

[2018-02-06T23:49:32,824][ERROR][o.e.b.Bootstrap          ] Exception
java.lang.IllegalArgumentException: plugin [analysis-kuromoji] is incompatible with version [5.6.7]; was designed for version [5.4.0]
    at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:146) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Spawner.spawnNativePluginControllers(Spawner.java:80) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.7.jar:5.6.7]
[2018-02-06T23:49:32,845][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: plugin [analysis-kuromoji] is incompatible with version [5.6.7]; was designed for version [5.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-http://blog.hatena.ne.jp/mamori017/mamori017.hatenablog.com/edit#5.6.7.jar:5.6.7]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.7.jar:5.6.7]
Caused by: java.lang.IllegalArgumentException: plugin [analysis-kuromoji] is incompatible with version [5.6.7]; was designed for version [5.4.0]
    at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:146) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Spawner.spawnNativePluginControllers(Spawner.java:80) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.7.jar:5.6.7]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.7.jar:5.6.7]
    ... 6 more

ログにはインストールされているKuromojiプラグインはElasticsearch 5.4.0用で、 5.6.7は非対応と書かれているのでプラグインを手動で更新します。 プラグインを上書きインストールをしようとするとエラーになったので一旦削除ののち再インストールします。

# 削除
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-kuromoji

# インストール
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji

Kuromojiプラグインを再インストール後、Elasticsearchを手動起動したところサービスが立ち上がるようになりました。

$ sudo /etc/init.d/elasticsearch start
[ ok ] Starting elasticsearch (via systemctl): elasticsearch.service.

$ sudo service --status-all | grep "elastic"
 [ + ]  elasticsearch

データ分析基盤構築入門[Fluentd、Elasticsearch、Kibanaによるログ収集と可視化]

データ分析基盤構築入門[Fluentd、Elasticsearch、Kibanaによるログ収集と可視化]

*1:2017/5/7、5.0.0->5.4.0アップデート時に同様の記事を書いていたので削除した。

UbuntuにJenkinsをインストールした

Ubuntuの環境を新しく作ることにしたので手始めにJenkinsをインストールしました。

手順はJenkinsのWikiを参照しました。

Installing Jenkins on Ubuntu - Jenkins - Jenkins Wiki

こちらのページの手順通りにコマンドを実行しましたが、扱いとしては古いようで新しいページが公開されています。

Debian Repository for Jenkins

リポジトリの参照先が異なっていたりはしますが手順としてやることは変わりません。2018/1/29時点だとどちらもバージョン2.89.3がインストールされました。

古いページの手順

# 公開鍵の追加
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
# パッケージリストにリポジトリを追加
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# パッケージリストのチェック
sudo apt-get update
# Jenkinsをインストール
sudo apt-get install jenkins

新しいページの手順

# 公開鍵の追加
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# deb https://pkg.jenkins.io/debian-stable binary/ をパッケージリストに追加
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list'
# パッケージリストのチェック
sudo apt-get update
# Jenkinsをインストール
sudo apt-get install jenkins

画面

Unlock Jenkins

$ sudo cat /var/lib/jenkins/secrets/initialAdminPasswordで表示されるアンロック用のパスワードを入力します。 f:id:mamori017:20180126153632p:plain

Customize Jenkins

プラグインはあとでインストールするのでおすすめされている方を選択しました。 f:id:mamori017:20180126153621p:plain

Getting Started

待つ。 f:id:mamori017:20180126153624p:plain

Create First Admin User

管理者ユーザーの設定をします。 f:id:mamori017:20180126153627p:plain

Jenkins is ready!

Jenkinsのインストールが完了しました。 f:id:mamori017:20180126153628p:plain

f:id:mamori017:20180126153630p:plain

ヤマハのRTX1200を買った

f:id:mamori017:20180302094548j:plain

ネットワークの勉強用にヤマハRTX1200*1を買いました。 ネットワークの勉強しようと思いつつずっと後回しにしていたので、とりあえず物を買ってモチベーションを上げようという目論見です。

勉強だけならクラウドでやれば?みたいなことも言われたのですが、本質として同じなんでしょうけど、何となくあれはあれで別物だと思っています。

最終的に自宅のネット環境にVLANを切って色々やりたい*2という目標があるのですが、 その前にルーターログから通過ログだけ抜き出してKibanaで可視化しようと考えています。

追記(2018/2/18)

SyslogからURLフィルターのログを抜き出してKibanaで可視化しました。

mamori017.hatenablog.com

ヤマハ ギガアクセスVPNルーター RTX1200

ヤマハ ギガアクセスVPNルーター RTX1200

*1:中古で12000円くらいだった。

*2:できればホームゲートウェイには光電話とRTX1200だけ繋ぎたいという思いもある。