Problem configuring EC2 cluster


(Ranjan Bagchi) #1

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east
discovery:
type: ec2
gateway:
type: s3
s3:
bucket: es.me
recover_after_time: 1m
recover_after_nodes: 1
expected_nodes: 2

So what I'm seeing is the following:

Here's the initial discovery logs:
[2012-04-03 14:56:05,581][DEBUG][discovery.zen.ping.multicast] [Iron Cross]
using group [224.2.2.4], with port [54328], ttl [3], and address [null]
[2012-04-03 14:56:05,584][DEBUG][discovery.zen.ping.unicast] [Iron Cross]
using initial hosts [], with concurrent_connects [10]
[2012-04-03 14:56:05,585][DEBUG][discovery.ec2 ] [Iron Cross]
using ping.timeout [3s]
[2012-04-03 14:56:05,590][DEBUG][discovery.zen.elect ] [Iron Cross]
using minimum_master_nodes [-1]
[2012-04-03 14:56:05,591][DEBUG][discovery.zen.fd ] [Iron Cross]
[master] uses ping_interval [1s], ping_timeout [30s], ping_retries [3]
[2012-04-03 14:56:05,594][DEBUG][discovery.zen.fd ] [Iron Cross]
[node ] uses ping_interval [1s], ping_timeout [30s], ping_retries [3]

Then it discovers several dozen servers on the subnet, attempts to connect
and fails (because of network security policies).

When I start my second server, it's the same thing. But they don't see
each other!!

Looking at the S3 file, it's created, but the metadata file is
just: ZV+{"meta-data":{"version":20,"templates":{}}}, so there aren't an
IP's or anything.

Help?

Thanks,

Ranjan


(Frederick Cheung) #2

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred


(Ranjan Bagchi) #3

Just tried it... same thing. What should there be in the s3 metadata file?

Ranjan

On Tuesday, April 3, 2012 2:22:52 PM UTC-7, Frederick Cheung wrote:

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred


(Shay Banon) #4

Can you set the discovery logging to TRACE? It will also print the list of
machines it got from ec2 APIs, lets see if the second instance you startup
will get the first one. Also, it recommended to filter down by tag ro
security group the machines to lookup so they will be just the ES nodes.

Note, it is recommended to use the local gateway in general on ec2, and not
hte s3 gateway, as it comes with an overhead (as explained in the aws
tutorial).

On Wed, Apr 4, 2012 at 4:01 AM, Ranjan Bagchi ranjan.bagchi@gmail.comwrote:

Just tried it... same thing. What should there be in the s3 metadata file?

Ranjan

On Tuesday, April 3, 2012 2:22:52 PM UTC-7, Frederick Cheung wrote:

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred


(Ranjan Bagchi) #5

Here are the two gisted logfiles:
https://gist.github.com/2307472
https://gist.github.com/2307461

Ranjan

On Wednesday, April 4, 2012 8:24:30 AM UTC-7, kimchy wrote:

Can you set the discovery logging to TRACE? It will also print the list of
machines it got from ec2 APIs, lets see if the second instance you startup
will get the first one. Also, it recommended to filter down by tag ro
security group the machines to lookup so they will be just the ES nodes.

Note, it is recommended to use the local gateway in general on ec2, and
not hte s3 gateway, as it comes with an overhead (as explained in the aws
tutorial).

On Wed, Apr 4, 2012 at 4:01 AM, Ranjan Bagchi ranjan.bagchi@gmail.comwrote:

Just tried it... same thing. What should there be in the s3 metadata
file?

Ranjan

On Tuesday, April 3, 2012 2:22:52 PM UTC-7, Frederick Cheung wrote:

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred


(Ranjan Bagchi) #6

Specifying the security group name enabled the two instances to see each
other.

So the discovery config is:
discovery:
type: ec2
ec2:
groups:

Thanks!

Ranjan

On Wednesday, April 4, 2012 7:18:46 PM UTC-7, Ranjan Bagchi wrote:

Here are the two gisted logfiles:
https://gist.github.com/2307472
https://gist.github.com/2307461

Ranjan

On Wednesday, April 4, 2012 8:24:30 AM UTC-7, kimchy wrote:

Can you set the discovery logging to TRACE? It will also print the list
of machines it got from ec2 APIs, lets see if the second instance you
startup will get the first one. Also, it recommended to filter down by tag
ro security group the machines to lookup so they will be just the ES nodes.

Note, it is recommended to use the local gateway in general on ec2, and
not hte s3 gateway, as it comes with an overhead (as explained in the aws
tutorial).

On Wed, Apr 4, 2012 at 4:01 AM, Ranjan Bagchi ranjan.bagchi@gmail.comwrote:

Just tried it... same thing. What should there be in the s3 metadata
file?

Ranjan

On Tuesday, April 3, 2012 2:22:52 PM UTC-7, Frederick Cheung wrote:

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred


(Hua Lin) #7

Sorry to raise this old topic. But I encounter same issue.

Near a hundred machines appear in the discovery nodes. I'm trying to use
groups to filter it, here is my setting:
discovery:
type: ec2
ec2:
ping_timeout: 5s
groups: sgn2-stg-sss
any_group: false

But it doesn't work, still the same issue with same log.

在 2012年4月5日星期四UTC+8下午8时50分01秒,Ranjan Bagchi写道:

Specifying the security group name enabled the two instances to see each
other.

So the discovery config is:
discovery:
type: ec2
ec2:
groups:

Thanks!

Ranjan

On Wednesday, April 4, 2012 7:18:46 PM UTC-7, Ranjan Bagchi wrote:

Here are the two gisted logfiles:
https://gist.github.com/2307472
https://gist.github.com/2307461

Ranjan

On Wednesday, April 4, 2012 8:24:30 AM UTC-7, kimchy wrote:

Can you set the discovery logging to TRACE? It will also print the list
of machines it got from ec2 APIs, lets see if the second instance you
startup will get the first one. Also, it recommended to filter down by tag
ro security group the machines to lookup so they will be just the ES nodes.

Note, it is recommended to use the local gateway in general on ec2, and
not hte s3 gateway, as it comes with an overhead (as explained in the aws
tutorial).

On Wed, Apr 4, 2012 at 4:01 AM, Ranjan Bagchi <ranjan...@gmail.com<javascript:>

wrote:

Just tried it... same thing. What should there be in the s3 metadata
file?

Ranjan

On Tuesday, April 3, 2012 2:22:52 PM UTC-7, Frederick Cheung wrote:

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred

--


(Hua Lin) #8

I encounter same issue. About 98 machines to ping, most of them don't have
ES installed.

Don't know how to set groups filter, here is my config:

discovery:
type: ec2
ec2:
ping_timeout: 5s
groups: sgn2-stg-sss
any_group: false

But it doesn't work. Still same log with same issue.

在 2012年4月5日星期四UTC+8下午8时50分01秒,Ranjan Bagchi写道:

Specifying the security group name enabled the two instances to see each
other.

So the discovery config is:
discovery:
type: ec2
ec2:
groups:

Thanks!

Ranjan

On Wednesday, April 4, 2012 7:18:46 PM UTC-7, Ranjan Bagchi wrote:

Here are the two gisted logfiles:
https://gist.github.com/2307472
https://gist.github.com/2307461

Ranjan

On Wednesday, April 4, 2012 8:24:30 AM UTC-7, kimchy wrote:

Can you set the discovery logging to TRACE? It will also print the list
of machines it got from ec2 APIs, lets see if the second instance you
startup will get the first one. Also, it recommended to filter down by tag
ro security group the machines to lookup so they will be just the ES nodes.

Note, it is recommended to use the local gateway in general on ec2, and
not hte s3 gateway, as it comes with an overhead (as explained in the aws
tutorial).

On Wed, Apr 4, 2012 at 4:01 AM, Ranjan Bagchi <ranjan...@gmail.com<javascript:>

wrote:

Just tried it... same thing. What should there be in the s3 metadata
file?

Ranjan

On Tuesday, April 3, 2012 2:22:52 PM UTC-7, Frederick Cheung wrote:

On Apr 3, 4:07 pm, Ranjan Bagchi ranjan.bag...@gmail.com wrote:

I have to be missing something simple, but here goes. I've two ec2
instances. Ports 9300 and 9200 (and 22) are visible to each other.
Verified with nc.

I've installed elasticsearch-0.19.0 and the AWS plugin.

I've the following addition to elasticsearch.yml:

WL additions

cluster.name: es-me
cloud:
aws:
access_key: [ACCESS_KEY]
secret_key: [SECRET_KEY]
region: us-east

The region name should be us-east-1 I think

Fred

--


(Hua Lin) #9

I encounter same issue. 98 machines need to ping, most of them doesn't have
ES installed.

Here is my setting:
discovery:
type: ec2
ec2:
ping_timeout: 5s
groups: sgn2-stg-sss
any_group: false

But it doesn't work, how to filter them out?

--


(system) #10