Amazon web services ElasticSearch未加入AWS群集中的节点
我在使用ElasticSearch在AWS上创建群集时遇到问题: 软件: ES:elasticsearch-1.4.1.zip AWS云:elasticsearch云AWS/2.4.1 这是在AWSEC2微实例(Ubuntu64)上运行的。两个实例都使用相同的安全组,所有内容都处于打开状态,没有任何限制 我在美国西俄勒冈州(us-west-2b)创建了两个实例,我正在使用此配置文件:Amazon web services ElasticSearch未加入AWS群集中的节点,amazon-web-services,amazon-ec2,
elasticsearch,Amazon Web Services,Amazon Ec2,
elasticsearch,我在使用ElasticSearch在AWS上创建群集时遇到问题: 软件: ES:elasticsearch-1.4.1.zip AWS云:elasticsearch云AWS/2.4.1 这是在AWSEC2微实例(Ubuntu64)上运行的。两个实例都使用相同的安全组,所有内容都处于打开状态,没有任何限制 我在美国西俄勒冈州(us-west-2b)创建了两个实例,我正在使用此配置文件: { "cluster.name": "mycluster", "http": { "cors.e
{
"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
主节点(纽约)具有相同的配置文件,但名称和节点不同。Master=true尝试将主节点地址添加到新节点配置中 在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中不起作用
对于任何情况,请检查您的安全组。需要允许您的实例获取彼此的信息,以发现可用的群集,以便您的节点找到要加入的群集 一旦主节点被指定,AWS云插件将自动处理节点加入集群的过程 将发现权限设置为策略并将其应用于IAM角色应该可以解决此问题。我使用的策略如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "whatever",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeInstances",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeTags"
],
"Resource": [
"*"
]
}
]
}