2018-11-07 (Wed) · 621 words

環境構築リスト

ローカルMac Elasticsearch

Java8 インストール

$ brew cask install homebrew/cask-versions/java8

Elasticsearch インストール

$ brew install elasticsearch

kibana インストール

$ brew install kibana

起動&アクセス

ローカルMac docker Elasticsearch

docker pull Elasticsearch

$ docker pull docker.elastic.co/elasticsearch/elasticsearch:6.2.1

起動

$ docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.1
$ docker ps

Local Mac docker ElasticStack

Local(Mac OSX)
 └─docker-compose
    ├─Elasticsearch(6.5)
    ├─Kibana(6.5)
    └─Logstash(6.5)

docker install

$ brew install

docker compose install

$ yum update -y
$ sudo yum install git -y
$ sudo yum install docker -y
$ docker -v
$ sudo service docker start
$ sudo usermod -a -G docker ec2-user
$ sudo service docker restart
$ exit

docker compose install

$ sudo curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

docker-compose yml

$ vi docker-compose.yml

EC2 docker Elasticsearch

docker インストール

$ sudo yum update

# docker インストール
$ sudo yum install -y docker

# docker 起動
$ sudo service docker start

# ec2-user を docker グループに追加する
$ sudo usermod -a -G docker ec2-user
$ cat /etc/group |grep docker
docker:x:497:ec2-user

# docker コマンドが使えるか確認する
$ docker info

docker-compose インストール

# 公式の通り、curlでダウンロード
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# バイナリに実行権限を付与する
$ sudo chmod +x /usr/local/bin/docker-compose

# インストールされたか確認する
$ docker-compose --version
docker-compose version 1.23.1, build b02f1306

docker-compose.yml

version: "3"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.0
    container_name: elasticsearch
    environment:
      discovery.type: single-node
    ports:
      - "9200:9200"
    volumes:
      - es_data:/usr/share/elasticsearch/data

  kibana:
    image: docker.elastic.co/kibana/kibana:6.5.0
    container_name: kibana
    environment:
      ELASTICSEARCH_URL: http://elasticsearch:9200
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch

volumes:
  es_data:
    driver: local

アクセス

Logstash

$ git clone https://github.com/elastic/logstash-docker.git
$ tree .
.
├── LICENSE
├── Makefile
├── README.md
├── bin
│   ├── elastic-version
│   └── pytest
├── build
│   ├── golang
│   │   └── Dockerfile
│   └── logstash
│       ├── bin
│       │   └── docker-entrypoint
│       ├── config
│       │   ├── log4j2.properties
│       │   ├── logstash-full.yml
│       │   ├── logstash-oss.yml
│       │   └── pipelines.yml
│       ├── env2yaml
│       │   └── env2yaml.go
│       └── pipeline
│           └── default.conf
├── examples
│   └── logstash.conf
├── requirements.txt
├── templates
│   ├── Dockerfile.j2
│   └── docker-compose.yml.j2
├── tests
│   ├── __init__.py
│   ├── conftest.py
│   ├── constants.py
│   ├── docker-compose.yml
│   ├── fixtures.py
│   ├── helpers.py
│   ├── test_basics.py
│   ├── test_entrypoint.py
│   ├── test_labels.py
│   ├── test_process.py
│   └── test_settings.py
├── tox.ini
└── version.json

11 directories, 30 files

EC2 docker Elasticsearch terraform

Elasticsearch Service

新しいドメインの定義

-> Next

クラスターの設定

-> Next

アクセスの設定

-> Next

確認

操作

https://dev.classmethod.jp/server-side/elasticsearch/use-kibana-on-aws/

インデックスの作成

$ curl -XPUT ELASTICSEARCH_DOMAIN_ENDPOINT/shakespeare/_doc/1 -d '{
 "mappings" : {
  "_default_" : {
   "properties" : {
    "speaker" : {"type": "string", "index" : "not_analyzed" },
    "play_name" : {"type": "string", "index" : "not_analyzed" },
    "line_id" : { "type" : "integer" },
    "speech_number" : { "type" : "integer" }
   }
  }
 }
}' -H 'Content-Type: application/json'

データインポート

形態素解析

$ curl -XPOST ELASTICSEARCH_DOMAIN_ENDPOINT/kuromoji/ -d'
  "index":{
    "analysis":{
      "tokenizer" : {
        "kuromoji" : {
          "type" : "kuromoji_tokenizer"
        }
      },
      "analyzer" : {
        "analyzer" : {
          "type" : "custom",
          "tokenizer" : "kuromoji"
        }
      }
    }
  }
}' -H 'Content-Type: application/json'

Top     back     Posts     Tags     About Me