I still can't seem to get anywhere with this. Unicast works fine; no such luck with EC2. I'm so desperate I'm considering rolling my own script to detect the nodes and write them into the config file...
Note that there is a comment in the tutorial with the exact same problem from 5 months ago, but nobody mentions a solution.
Ahhh, finally. (...)
For me, too, I had to set the cloud.aws.region: us-west-1
You have to set the region if you're not using the default us-east-1.
Filtering the nodes by a specific security group as suggested by Paul above
is correct and the easiest way how to detect Elasticsearch nodes in
discovery. Note also, that currently, you don't have to put the AWS
credentials into the elasticsearch.yml file, if you create the instance
with a IAM role. See
to answer the second part of your question, there is no data loss as
part of autoscaling. the shards will just be re-allocated. you can
autoscale to your heart's content.
This is a bit dangerous advice .) You will lose data if you or your
autoscaling mechanism adds nodes to the cluster and terminates them later, unless you increase the number_of_replicas for your indices. There's a index.auto_expand_replicas which would make your index shrink/grow in
sync with the number of nodes in your cluster.
Karel, you are right that I should have qualified my statement: you can
autoscale as you like as long as your minimum number of nodes can support
your index size.
My autoscaling is setup for load based scaling (a lot of queries at
once) as opposed to handling increases in data, so I didn't think about the
latter right away. I have the luxury of a relatively static index (for now).
On Thursday, March 7, 2013, Karel Minařík wrote:
Ahhh, finally. (...)
For me, too, I had to set the cloud.aws.region: us-west-1
You have to set the region if you're not using the default us-east-1.
Filtering the nodes by a specific security group as suggested by Paul above
is correct and the easiest way how to detect Elasticsearch nodes in
discovery. Note also, that currently, you don't have to put the AWS
credentials into the elasticsearch.yml file, if you create the instance
with a IAM role. See IAM FAQs
to answer the second part of your question, there is no data loss as
part of autoscaling. the shards will just be re-allocated. you can
autoscale to your heart's content.
This is a bit dangerous advice .) You will lose data if you or your
autoscaling mechanism adds nodes to the cluster and terminates them later, unless you increase the number_of_replicas for your indices. There's a index.auto_expand_replicas which would make your index shrink/grow in
sync with the number of nodes in your cluster.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.