4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Splunk Advent Calendar 2019Advent Calendar 2019

Day 13

Docker を利用して Splunk を複数バージョン起動する

Posted at

#はじめに
Splunk の新しいバージョンが出たので試したいと考えたときに、既存環境を壊さず試そうと思うと
専用のサーバ、もしくはPCを用意する必要があります。
※実際には、conf ファイルいじれば、同居もできなくはないですが。。。結構面倒です。
そんなとき、Docker 環境があれば、複数のバージョン、異なる環境を同時に起動させることも可能です。

##Docker Hub
Docker Hub (https://hub.docker.com/r/splunk/splunk ) に、Splunk の Docker Container Image がありますので、そこからイメージを取り込みます。

$ docker pull splunk/splunk:latest

ただ、これだとそのときにある、最新版のイメージが取り込まれます。(2019/12/12 現在では、バージョン8.0です)

取り込める Container Image は、ここから確認できます。

例えば、バージョン7.3.3 を取り込みたい場合、下記のように実行します。

$ docker pull splunk/splunk:7.3.3

Splunk Docker Image の起動

イメージがダウンロードできたら、Docker Image を確認します。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
splunk/splunk       7.3.3               24213f4de1b4        3 weeks ago         1.3GB
splunk/splunk       latest              53b3518333e7        7 weeks ago         1.65GB

これらの Container Image を利用して、 Splunk Container を起動します。
まず、最新版を起動します。

$ docker run -d -p 8000:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=Changeme1" --name splunk splunk/splunk:latest

※パスワードは任意の値に変更ください。

ステータスを確認します。

$ docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED              STATUS                        PORTS                                                                           NAMES
0170e7177fac        splunk/splunk:latest   "/sbin/entrypoint.sh…"   About a minute ago   Up About a minute (healthy)   8065/tcp, 8088-8089/tcp, 8191/tcp, 9887/tcp, 0.0.0.0:8000->8000/tcp, 9997/tcp   splunk

次に、バージョン7.3.3 を起動します。
※ Port 8000 を 8001 にマッピングし、Container 名を Splunk733 に変更します。

$ docker run -d -p 8001:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=Changeme1" --name splunk733 splunk/splunk:7.3.3

※パスワードは任意の値に変更ください。

ステータスを確認します。

$ docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS                            PORTS                                                                           NAMES
6e007165fbe2        splunk/splunk:7.3.3    "/sbin/entrypoint.sh…"   6 seconds ago       Up 5 seconds (healthy)   8065/tcp, 8088-8089/tcp, 8191/tcp, 9887/tcp, 9997/tcp, 0.0.0.0:8001->8000/tcp   splunk733
0170e7177fac        splunk/splunk:latest   "/sbin/entrypoint.sh…"   7 minutes ago       Up 7 minutes (healthy)            8065/tcp, 8088-8089/tcp, 8191/tcp, 9887/tcp, 0.0.0.0:8000->8000/tcp, 9997/tcp   splunk

起動が確認できたら、Web ブラウザを起動し、Splunk を利用します。
http://localhost:8000
http://localhost:8001

Splunk をシングルインスタンスで利用するのであれば、これで同一ホスト上で、複数バージョンを同時に確認できます。
Port Mapping を応用すると、Indexer Cluster 構成なども組むことも可能です。(リソースの課題はおいておいて)

conf ファイルを直接修正したい場合

docker コマンドで直接コンテナ内に入ります。(splunk コンテナーに入る場合)

docker exec -it splunk bash

vi 等で直接 conf ファイルを変更できます。
また、7.x は、Ubuntuベース、8.0 ベースは、Redhat ベースになるようなので、若干利用できるコマンドが異なりますのでご注意を。

##最後に
バージョンアップ前に今までの環境を壊さずに、技術検証するときや、新しい機能をとりあえず試してみたい(例えば、新しい機械学習の App を利用したい等)ときに、簡単に環境作るくことができると思います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?