ZooKeeper 3.4.7

Apache ZooKeeperにおいて表題のversionについて。

■ 環境

  • Apache ZooKeeper 3.4.7

■ 状況

現在、公式のページを見てもリリースされたはずの”3.4.7“が表示されていない。

http://zookeeper.apache.org/

どうやら致命的なバグがあったらしく切り戻しをしたようである。

https://issues.apache.org/jira/browse/ZOOKEEPER-2347

上記のISSUEがそのチケットのようだ。デッドロックが発生する場合があるようである。次の”3.4.8“で対応される様子だ。もうそろそろリリースが来るのであろうか。

3.4.8“がリリースされるまでは”3.4.6“を使用するのが良いようである。

以上。

■ 関連

Elasticsearch + Kibana on Docker Compose

表題の通り。先日のエントリ「Elasticsearch + Kibana on Docker」をDocker Composeで稼働させてみる。

■ 環境

  • Mac OSX (10.10.5)
  • Docker 1.9.1
  • Docker Compose 1.5.2

■ Elasticsearch + Kibana on Docker

それぞれのコンテナは下記のように起動している。

Elasticsearch:

$ docker run -d -p 9200:9200 --name elasticsearch elasticsearch

Kibana:

$ docker run -d -p 5601:5601 --name kibana --link elasticsearch:elasticsearch kibana

ひとつずつ起動するのは面倒なので、`docker-compose`で起動をさせる。

■ docker-compose.yml

ディレクトリ名称がプロジェクト名として使用され、コンテナ名にもprefixとして含まれるが、今回は`docker-compose`の`scale`は使用せずに1台のElasticsearchと1台のKibanaだけを利用したいので、コンテナ名は固定で設定する。その為、ディレクトリ名称も気にしない。

docker-compose.yml“は下記のようにしている。

elasticsearch:
  image: elasticsearch
  container_name: elasticsearch
  ports:
    - "9200:9200"
kibana:
  image: kibana
  container_name: kibana
  links:
    - elasticsearch:elasticsearch
  ports:
    - "5601:5601"

image“はどちらもタグを指定していないので最新版を取得してくる。”container_name“を付けなければ”dir_elasticsearch_1“や”dir_kibana_1“といったコンテナ名が付けられてしまい、Kibanaの”links“で指定できなくなってしまうので、このようにしている。

■ up

実際に起動してみる。

$ docker-compose up -d
Creating elasticsearch
Creating kibana
$

Kibanaにブラウザでアクセスしてみる。

kibana-001

先日と変わりなくアクセスできた。

■ stop & rm

$ docker-compose stop
Stopping kibana ... done
Stopping elasticsearch ... done
$
$ docker-compose rm
Going to remove kibana, elasticsearch
Are you sure? [yN] y
Removing kibana ... done
Removing elasticsearch ... done
$

以上。

■ 関連

パッケージに含まれるファイルの一覧

Ubuntuにおいて表題の通り。普段はDebian系よりもRedHat系のOSを使用するのだが、たまにUbuntuを使用することがあり、RPMのあのコマンドはUbuntuではどうやるんだっけ?となるのでメモ。

■ 環境

  • Ubuntu Vivid

■ RedHat系

RedHat系では下記の通り。

$ rpm -ql [package]

■ Debian系

Ubuntuでは下記の通り。

$ dpkg -L [package]

以上。

Topbeat on Mac

Elasticsearchにおいて表題を試す。

■ 環境

  • Mac OSX (10.10.5)
  • Elasticsearch 2.1.1
  • Kibana 4.3.1
  • Docker 1.9.1

■ Elasticsearch + Kibana

下記エントリの通り。

Elasticsearch + Kibana on Docker

■ topbeat

Elasticsearchの”beats“に関してはいろいろ説明のエントリが出ているので省略。下記ドキュメントを見てMacの`top`を可視化する。

https://www.elastic.co/guide/en/beats/topbeat/current/topbeat-getting-started.html

以降はドキュメントの中から必要なところだけ実施。

$ curl -L -O https://download.elastic.co/beats/topbeat/topbeat-1.0.1-darwin.tgz
$ tar zxf topbeat-1.0.1-darwin.tgz

3ファイルだけ存在している。

  • topbeat
  • topbeat.template.json
  • topbeat.yml

設定ファイル(topbeat.yml)を書き換える。33行目の”hosts“の配列に、Dockerで稼働しているElasticsearchのIPを指定する。ここではもちろんDockerホストのIPである。

 28   elasticsearch:
  :
 33     hosts: ["192.168.99.100:9200"]

上記以外はとりあえずデフォルトままで行う。

続いてインデックスのテンプレートをElasticsearchに投入する。

$ cd topbeat-1.0.1-darwin
$ curl -XPUT 'http://192.168.99.100:9200/_template/topbeat' -d@topbeat.template.json
{"acknowledged":true}$

true“と返っていれば問題無いであろう。

続いて`topbeat`を実行する。ドキュメントままに実行する。

$ ./topbeat -e -c topbeat.yml -d "publish"

Kibanaにアクセス。

http://192.168.99.100:5601/

topbeat-001

Index name or pattern“には”topbeat-*“を入力し、”Create“。

topbeat-002

ダッシュボードはGitHubで公開されているものを使わせてもらう。

$ git clone https://github.com/elastic/beats-dashboards

$ cd beats-dashboards
$ ./load.sh http://192.168.99.100:9200

上記を実行すればいくつかのダッシュボードが投入されているはずである。

Topbeat-Dashboard“を開くと下記の通りである。

topbeat-003

以上。

■ 関連

Elasticsearch + Kibana on Docker

表題の通り。DockerでElasticsearchとKibanaを動かす。

■ 環境

  • Mac OSX (10.10.5)
  • Docker 1.9.1
  • Docker Machine 0.5.5
  • Elasticsearch 2.1.1
  • Kibana 4.3.1

■ Docker

まずはDockerの環境を確認。”Docker Machine“で稼働させているいつものDockerホストを利用する。

$ docker-machine ls
NAME    ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
local   *        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
$
$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.5.1
 Git commit:   a34a1d5
 Built:        Sat Nov 21 00:48:57 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64
$

Elasticsearch“と”Kiabana“のコンテナを取得するが、事前にDockerHubで確認をし、どちらも最新版(latest)を利用することにした。

$ docker pull elasticsearch
$ docker pull kibana

■ Elasticsearch

Elasticsearchを起動する。判別しやすいように`–name`オプションで”elasticsearch”と付けているが、これは以降で起動する”Kibana”のコンテナでも利用するからである。

$ docker run -d -p 9200:9200 --name elasticsearch elasticsearch

`curl`でクラスタの状態を確認する。接続先は`docker-machine ls`で得られるDockerホストのIPを指定する。

$ curl '192.168.99.100:9200/_cat/health?v'
epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1452242652 08:44:12  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%
$

問題無く稼働しているようである。

■ Kibana

Kibanaを起動する。先に起動しているElasticsearchにアクセスできるように`–link`オプションを指定する。

$ docker run -d -p 5601:5601 --name kibana --link elasticsearch:elasticsearch kibana

コンテナが稼働していることが確認できればブラウザで見てしまう。接続先のIPはElasticsearchと同様に`docker-machine ls`で確認できているDockerホストのIPである。

http://192.168.99.100:5601/

kibana-001

画面が正常に出力されているようなので良しとする。

以上。

■ 関連