VagrantにCentOS 7.1環境を作ってElasticsearchをセットアップする。参考サイトに倣ってバージョンは1.7.3。最新版じゃないけど。
1 2 3 4 |
$ mkdir centos-7.1-elasticsearch $ cd centos-7.1-elasticsearch $ vagrant init centos-7.1 $ vagrant up |
Javaのインストール
1 2 3 4 5 6 |
$ sudo yum update -y $ sudo yum install -y java-1.8.0-openjdk.x86_64 $ java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) |
Elasticreserchのインストール
1 2 3 |
$ wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.3.noarch.rpm $ sudo rpm -ivh elasticsearch-1.7.3.noarch.rpm $ sudo systemctl enable elasticsearch.service |
インストール先 /usr/share/elasticsearch/
設定ファイル /etc/elasticsearch
Elasticsearchの設定
/etc/elasticsearch/elasticsearch.yml
1 2 3 4 5 6 7 |
#node.name: "Franz Kafka" #cluster.name: elasticsearch #node.master: true #node.data: true #index.number_of_shards: 1 #index.number_of_replicas: 0 #path.home=/usr/share/elasticsearch |
とりあえず変更せず、全デフォルト
Elasticsearchの実行
1 |
$ sudo service elasticsearch start |
セキュリティ
/etc/elasticsearch/elasticsearch.yml
1 2 |
network.bind_host: localhost パブリックアクセスの禁止 script.disable_dynamic: true ダイナミックスクリプトの実行禁止 |
変更した設定を適用
1 |
$ sudo service elasticsearch restart |
テスト
Elasticsearchはポート9200で動作しているので、curlでアクセスしてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ curl -X GET 'http://localhost:9200' { "status" : 200, "name" : "Worm", "cluster_name" : "elasticsearch", "version" : { "number" : "1.7.3", "build_hash" : "05d4530971ef0ea46d0f4fa6ee64dbc8df659682", "build_timestamp" : "2015-10-15T09:14:17Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" } |
RESTful API経由でアクセスしてみる。
エントリを追加
1 2 |
$ curl -X POST 'http://localhost:9200/tutorial/helloworld/1' -d '{ "message": "Hello World!" }' {"_index":"tutorial","_type":"helloworld","_id":"1","_version":1,"created":true} |
エントリの取得
1 2 |
$ curl -X GET 'http://localhost:9200/tutorial/helloworld/1' {"_index":"tutorial","_type":"helloworld","_id":"1","_version":1,"found":true,"_source":{ "message": "Hello World!" }} |
エントリの変更
1 2 3 4 5 6 7 8 |
$ curl -X PUT 'localhost:9200/tutorial/helloworld/1?pretty' -d '{"message": "Hello People!"}' { "_index" : "tutorial", "_type" : "helloworld", "_id" : "1", "_version" : 2, "created" : false } |
ログ /var/log/elasticsearch
データ /var/lib/elasticsearch
参考サイト
How To Install and Configure Elasticsearch on CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsearch-on-centos-7