お世話になります。
vagrantでelasticsearchをインストールして、curlでJSONを投げてindexを作成するところまでを行おうとしているのですが、
curl -X PUT http://192.168.33.20:9200/test --data-binary @/synced_folder/schema.json
とcurlでindexを作成しようとすると、"connection refused"エラーが発生してしまいます。
原因が推測できる方がいらっしゃったら、助けて頂けますと幸いです。
[各ソフトウェアのバージョン]
Centos7.1
Java8
Elasticsearch 2.2.0
Vagrant 1.7.2
以下、ファイルの内容です。
[Vagrantfile]
VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "bento/centos-7.1" config.vm.box_url = "https://atlas.hashicorp.com/bento/boxes/centos-7.1" config.vm.network :private_network, ip: "192.168.33.20" config.vm.synced_folder "./", "/synced_folder" config.vm.provision "shell", path: "./script.sh" end
[script.sh]
#!/bin/sh systemctl disable firewalld yum -y install nmap #install java yum -y install java #install and start elasticsearch rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch cp /synced_folder/elasticsearch.repo /etc/yum.repos.d yum -y install elasticsearch sed -i '/# network.host: 192.168.0.1/a\network.host: 192.168.33.20' /etc/elasticsearch/elasticsearch.yml cd /usr/share/elasticsearch bin/plugin install analysis-kuromoji service elasticsearch start #configure index # ここでconnection refusedが発生 curl -X PUT http://192.168.33.20:9200/test --data-binary @/synced_folder/schema.json nmap 192.168.33.20
[/synced_folder/schema.json]
{"mappings":{"comment_data":{"properties":{"comment":{"type":"string","store":"yes","index":"analyzed"},"date":{"type":"date","store":"yes"},"vps":{"type":"float","store":"yes"}}}}}
尚、"vagrant up"が完了してから、sshでゲストOSにログインして
curl -X PUT http://192.168.33.20:9200/test --data-binary @/synced_folder/schema.json
を手で実行すると、なぜかその場合は正常にインデックスが作成されます。
しかし、やはりvagrant upの起動プロセスの中でインデックスの作成までを行いたいと思っています。
これまでに調べた事としては、
・firewalldを無効化する。
systemctl disable firewalld
でfirewalldを無効化してみました。最初はこれが原因かと思ったのですが、違ったようです。
・nmapで192.168.33.20:9200を調査
nmap 192.168.33.20:9200
で空いているportを調査しました。
この結果、"vagrant up"の実行中は22ポートしか空いておらず、9200ポートは空いていない事が判明しました。
・httpdには正常にアクセスできる。
Elasticsearchの問題ではなく、Vagrantのport forwardの設定の方に問題がある可能性もあると思い、apacheサーバーもインストールして試してみたのですが、こちらでは"connection refused"は発生せず、正常にアクセスできました。
従って、Elasticsearchの設定に問題があるのではと考えています。
どうぞよろしくお願い致します。