我在使用ElasticSearch在AWS上制作集群时遇到问题:
软件: ES:elasticsearch-1.4.1.zip
AWS-Cloud:elasticsearch-cloud-aws / 2.4.1
这正在AWS EC2 Micro实例(Ubuntu 64)上运行。两个实例都使用相同的安全组,一切都打开,没有任何限制 我在美国西部的俄勒冈州(us-west-2b)创建了两个实例,我正在使用这个配置文件:
{
"cluster.name": "mycluster",
"http": {
"cors.enabled" : true,
"cors.allow-origin": "*"
},
"node.name": "LosAngeles-node",
"node.master": "false",
"cloud": {
"aws": {
"access_key": "xxxxxxxxxxxx",
"secret_key": "xxxxxxxxxxxxxxxxxxxx",
"region": "us-west"
}
},
"discovery": {
"type": "ec2",
"ec2" : {
"groups": "esallaccess"
},
"zen": {
"ping": {
"multicast": {
"enabled": "false"
}
}
}
}
}
LosAngeles节点应该是群集的工作马,因此node.master = false。 当我启动此节点时,它会不断地ping并且永远不会停止ping,这是在我启动它之后的日志中:
...
[2014-11-28 15:18:30,593][TRACE][discovery.ec2 ] [LosAngeles-node] building dynamic
unicast discovery nodes...
[2014-11-28 15:18:30,593][DEBUG][discovery.ec2 ] [LosAngeles-node] using dynamic
discovery nodes []
[2014-11-28 15:18:32,170][TRACE][discovery.ec2 ] [LosAngeles-node] building dynamic
unicast discovery nodes...
[2014-11-28 15:18:32,170][DEBUG][discovery.ec2 ] [LosAngeles-node] using dynamic
discovery nodes []
[2014-11-28 15:18:32,170][TRACE][discovery.ec2 ] [LosAngeles-node] full ping responses:
{none}
[2014-11-28 15:18:32,170][DEBUG][discovery.ec2 ] [LosAngeles-node] filtered ping
responses: (filter_client[true], filter_data[false]) {none}
[2014-11-28 15:18:32,170][TRACE][discovery.ec2 ] [LosAngeles-node] starting to ping
...
enter code here
我认为这是区域问题。任何帮助表示赞赏。
PS 主节点(NewYork)具有相同的配置文件,具有不同的名称和node.master = true
答案 0 :(得分:1)
尝试将主节点地址添加到新节点配置中。
在elasticsearch.yml中 验证以下参数:
cluster.name: your-cluster-name
node.master: false
node.data: false
discovery.zen.ping.timeout: 3s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["your-master.dns.domain.com"]
如果您使用多播,请将其禁用。它在AWS EC2中不起作用 对于任何情况,请检查您的安全组。
答案 1 :(得分:1)
需要允许您的实例获取彼此的信息以发现可用的群集,以便您的节点找到要加入的群集。
一旦获得提名,AWS-cloud插件会自动处理节点加入群集。
将发现权限设置为策略并将其应用于您的IAM角色应解决此问题。以下是我使用的政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "whatever",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeInstances",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeTags"
],
"Resource": [
"*"
]
}
]
}