Help us understand the problem. What is going on with this article?

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

はじめに

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 を利用したい等)ときに、簡単に環境作るくことができると思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした