I'm trying to follow this tutorial (though without S3; just using EC2): http://www.elasticsearch.org/tutorials/2011/08/22/elasticsearch-on-ec2.html
Everything seems to go well until I start the 2nd server (where it should discover the 1st server via EC2). Here's what ElasticSearch is saying. It looks exactly the same as the 1st server -- that is, it does not seem to be discovering the other server. I've checked that ports 22, 9200, and 9300 are open on my security group (using RightScale, FWIW).
[root@ip-10-197-21-96 elasticsearch-0.20.5]# bin/elasticsearch -Des.max-open-files=true -Xmx3g -Xms3g -f [2013-03-05 09:34:48,201][INFO ][bootstrap ] max_open_files [63981] [2013-03-05 09:34:49,859][INFO ][node ] [Moonhunter] {0.20.5}[23946]: initializing ... [2013-03-05 09:34:49,930][INFO ][plugins ] [Moonhunter] loaded [cloud-aws], sites [] [2013-03-05 09:34:51,601][DEBUG][discovery.zen.ping.multicast] [Moonhunter] using group [224.2.2.4], with port [54328], ttl [3], and address [null] [2013-03-05 09:34:51,606][DEBUG][discovery.zen.ping.unicast] [Moonhunter] using initial hosts [], with concurrent_connects [10] [2013-03-05 09:34:51,607][DEBUG][discovery.ec2 ] [Moonhunter] using ping.timeout [3s], master_election.filter_client [true], master_election.filter_data [false] [2013-03-05 09:34:51,608][DEBUG][discovery.zen.elect ] [Moonhunter] using minimum_master_nodes [-1] [2013-03-05 09:34:51,609][DEBUG][discovery.zen.fd ] [Moonhunter] [master] uses ping_interval [1s], ping_timeout [30s], ping_retries [3] [2013-03-05 09:34:51,614][DEBUG][discovery.zen.fd ] [Moonhunter] [node ] uses ping_interval [1s], ping_timeout [30s], ping_retries [3] [2013-03-05 09:34:51,819][DEBUG][discovery.ec2 ] [Moonhunter] using host_type [PRIVATE_IP], tags [{}], groups [[]] with any_group [true], availability_zones [[]] [2013-03-05 09:34:52,668][DEBUG][gateway.local ] [Moonhunter] using initial_shards [quorum], list_timeout [30s] [2013-03-05 09:34:52,826][DEBUG][gateway.local.state.meta ] [Moonhunter] using gateway.local.auto_import_dangled [YES], with gateway.local.dangling_timeout [2h] [2013-03-05 09:34:52,855][DEBUG][gateway.local.state.meta ] [Moonhunter] took 28ms to load state [2013-03-05 09:34:52,856][DEBUG][gateway.local.state.shards] [Moonhunter] took 0s to load started shards state [2013-03-05 09:34:52,860][INFO ][node ] [Moonhunter] {0.20.5}[23946]: initialized [2013-03-05 09:34:52,861][INFO ][node ] [Moonhunter] {0.20.5}[23946]: starting ... [2013-03-05 09:34:52,998][INFO ][transport ] [Moonhunter] bound_address {inet[/0.0.0.0:9300]}, publish_address {inet[/10.197.21.96:9300]} [2013-03-05 09:34:53,004][TRACE][discovery ] [Moonhunter] waiting for 30s for the initial state to be set by the discovery [2013-03-05 09:34:53,845][TRACE][discovery.ec2 ] [Moonhunter] building dynamic unicast discovery nodes... [2013-03-05 09:34:53,846][DEBUG][discovery.ec2 ] [Moonhunter] using dynamic discovery nodes [] [2013-03-05 09:34:55,514][TRACE][discovery.ec2 ] [Moonhunter] building dynamic unicast discovery nodes... [2013-03-05 09:34:55,514][DEBUG][discovery.ec2 ] [Moonhunter] using dynamic discovery nodes [] [2013-03-05 09:34:57,166][TRACE][discovery.ec2 ] [Moonhunter] building dynamic unicast discovery nodes... [2013-03-05 09:34:57,166][DEBUG][discovery.ec2 ] [Moonhunter] using dynamic discovery nodes [] [2013-03-05 09:34:57,167][TRACE][discovery.ec2 ] [Moonhunter] full ping responses: {none} [2013-03-05 09:34:57,168][DEBUG][discovery.ec2 ] [Moonhunter] filtered ping responses: (filter_client[true], filter_data[false]) {none} [2013-03-05 09:34:57,172][INFO ][cluster.service ] [Moonhunter] new_master [Moonhunter][1xNSvy2ISMq43o3GNiH9Lg][inet[/10.197.21.96:9300]], reason: zen-disco-join (elected_as_master) [2013-03-05 09:34:57,207][TRACE][discovery ] [Moonhunter] initial state set from discovery [2013-03-05 09:34:57,208][INFO ][discovery ] [Moonhunter] streamifiedstaging/1xNSvy2ISMq43o3GNiH9Lg [2013-03-05 09:34:57,224][INFO ][http ] [Moonhunter] bound_address {inet[/0.0.0.0:9200]}, publish_address {inet[/10.197.21.96:9200]} [2013-03-05 09:34:57,224][INFO ][node ] [Moonhunter] {0.20.5}[23946]: started [2013-03-05 09:34:57,295][INFO ][gateway ] [Moonhunter] recovered [0] indices into cluster_stateOn a related note -- I'm also curious what happens with an EC2 cluster as servers come up and go down. I have an auto scaling array, so let's say Servers A and B are running... then traffic to our site increases, so servers C and D are launched. Then traffic decreases, and the auto-scaling array terminates servers A and B. Assuming that everything worked right, there is no data loss, correct? That is -- Servers C and D joined the cluster and retrieved their indexes from servers A and B, thus even though A and B are now gone, C and D contain all the necessary data?