サンプルコードは、本文上部のリンクからダウンロードしてください。
対象読者
- 現場の技術者で自社や自身のプロジェクトで検索システムを作成する必要のある方
- 環境差異の少ない検索システムを作成したい方
Elasticsearchの起動
仮想環境の設定
今回は仮想環境の設定にVagrantを使用します。VagrantはWindowsやMacの環境でもLinuxの環境などを再現できるツールです。こちらを使用して今回はUbuntu Trusty 14.04(LTS)の環境を再現します。
[1]Vagrantを起動する
"Vagrantfile"のipアドレスを環境に応じて設定してください。他にVagrantを使用している場合は 同一のipアドレスにならないようにしてください。
例:192.168.33.21
config.vm.network "private_network", ip: {your ip address}
"Vagrantfile"でメモリの大きさを設定しています。1024MB以下のマシンでは起動できません。
config.vm.provider "virtualbox" do |vm| vm.memory = 1024 vm.cpus = 4 end
取得したコードのディレクトリに移動し、下記でVagrantを起動してください。
vagrant up
下記でVagrantで作成した環境に入ってください。
vagrant ssh
[2]Docker環境の構築
今回、作成したUbuntu Trusty 14.04(LTS)でのDocker環境の構築方法です。今回インストールするDockerのバージョンは1.11.2になります。
下記で必要なライブラリをインストールしてください。
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
- 「apt-transport-https」:httpsの導入を行っています。
- 「ca-certificates」:SSL接続の認証に必要なパッケージです。
- 「apt-key adv」:公開鍵をkeyサーバーから取得しています。
- 「--keyserver」:どのサーバーから公開鍵を取得するか指定しています。
- 「--recv-keys」:どのような公開鍵を取得するか指定します。
[3]Dockerをインストールするための準備
下記のファイルに追記してDockerのパッケージがインストールできるように設定します。
sudo vi /etc/apt/sources.list.d/docker.list
追記内容は下記です。
deb https://apt.dockerproject.org/repo ubuntu-trusty main
[4]Dockerのインストール
Dockerのインストール作業です。
sudo apt-get update sudo apt-get purge lxc-docker apt-cache policy docker-engine sudo apt-get update sudo apt-get install -y linux-image-extra-$(uname -r) sudo apt-get update sudo apt-get install -y docker-engine sudo service docker start
- 「apt-get update」:先ほど更新したdocker.listが反映されるようにします。
- 「apt-get purge lxc-docker」:古いパッケージを削除します。
- 「apt-cache policy docker-engine」:今回インストールしたいDockerのバージョンであるかを確認します。
-
「apt-get install linux-image-extra-$(uname -r)"」:AUFSストレージ・ドライバと言われるものが適用できるようにします。これが適用できると下記の利点があります。
- コンテナ起動時間の高速化
- ストレージの効率的な利用
- メモリの効率的な利用
- 「apt-get install docker-engine」:Dockerをインストールします。
- 「service docker start」:Dockerを起動します。
[5]Dockerのユーザー設定
Dockerを一般ユーザーでも使用できるように設定します。再起動処理をしないと"usrmod"が反映されないので再起動処理も行なっています。
sudo groupadd docker sudo usermod -aG docker $USER exit vagrant reload vagrant ssh
今回の記事の環境が用意されているDockerイメージを下記のコマンドで取得します。
[6]DockerコンテナImageの取得
docker pull masayaresearch/elasticsearch_japanese:latest
下記のコマンドでDockerイメージの情報を取得できます。
docker images
下記のような情報が取得できるので"IMAGE ID"をメモしてください。
REPOSITORY TAG IMAGE ID CREATED SIZE masayaresearch/elasticsearch_japanese latest 読者の環境に依存 読者の環境に依存 7.039GB
[7]Elasticsearchの動作環境
実際に動作させるにはコンテナに入る必要があります。Dockerコンテナに入るコマンドは下記です。
docker run -it {先ほどメモしたIMAGE ID} bash
これでElasticsearchの環境が設定されている環境へアクセスできました。