VagrantにCentOS 7.1環境を作ってElasticsearchをセットアップする。参考サイトに倣ってバージョンは1.7.3。最新版じゃないけど。
$ mkdir centos-7.1-elasticsearch $ cd centos-7.1-elasticsearch $ vagrant init centos-7.1 $ vagrant up
Javaのインストール
$ 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のインストール
$ 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
#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の実行
$ sudo service elasticsearch start
セキュリティ
/etc/elasticsearch/elasticsearch.yml
network.bind_host: localhost パブリックアクセスの禁止 script.disable_dynamic: true ダイナミックスクリプトの実行禁止
変更した設定を適用
$ sudo service elasticsearch restart
テスト
Elasticsearchはポート9200で動作しているので、curlでアクセスしてみる。
$ 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経由でアクセスしてみる。
エントリを追加
$ curl -X POST 'http://localhost:9200/tutorial/helloworld/1' -d '{ "message": "Hello World!" }' {"_index":"tutorial","_type":"helloworld","_id":"1","_version":1,"created":true}
エントリの取得
$ curl -X GET 'http://localhost:9200/tutorial/helloworld/1' {"_index":"tutorial","_type":"helloworld","_id":"1","_version":1,"found":true,"_source":{ "message": "Hello World!" }}
エントリの変更
$ 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