【发布时间】:2015-11-04 07:53:53
【问题描述】:
我试图在Hazelcast 3.6 EA 中使用基于jclouds 的新发现机制。但是,无法使用与原生 AWS 发现完全相同的凭证使其工作。这里有两个配置:
原生 AWS(有效):
<network>
<join>
<multicast enabled="false" />
<tcp-ip enabled="false" />
<aws enabled="true">
<access-key>AKIAXXXXXXXXXXXXX</access-key>
<secret-key>YYYYYYYYYYYYYYYYY</secret-key>
<region>eu-west-1</region>
<host-header>ec2.amazonaws.com</host-header>
</aws>
</join>
</network>
jclouds(不起作用):
<properties>
<property name="hazelcast.discovery.enabled">true</property>
</properties>
<network>
<join>
<multicast enabled="false" />
<tcp-ip enabled="false" />
<aws enabled="false" />
<discovery-strategies>
<discovery-strategy class="com.hazelcast.jclouds.JCloudsDiscoveryStrategy" enabled="true">
<properties>
<property name="provider">aws-ec2</property>
<property name="identity">AKIAXXXXXXXXXXXXX</property>
<property name="credential">YYYYYYYYYYYYYYYYY</property>
<property name="regions">eu-west-1</property>
</properties>
</discovery-strategy>
</discovery-strategies>
</join>
</network>
有关设置的更多信息:作为同一 Elastic Beanstalk 应用程序一部分的 2 个实例。端口 5701 是公开开放的(用于测试)。为 Hazelcast 启用了调试日志级别。 AWS 用户有权执行ec2:describe*
启用jclouds 发现后,每个节点只能看到自己:
DEBUG: Log4jFactory.java:93 [172.31.5.117]:5701 [dev] [3.6-EA] This node will assume master role since no possible member where connected to.
DEBUG: Log4jFactory.java:93 [172.31.5.117]:5701 [dev] [3.6-EA] This node is being set as the master
DEBUG: Log4jFactory.java:93 [172.31.5.117]:5701 [dev] [3.6-EA] PostJoin master: Address[172.31.5.117]:5701, isMaster: true
INFO : Log4jFactory.java:99 [172.31.5.117]:5701 [dev] [3.6-EA]
Members [1] {
Member [172.31.5.117]:5701 this
}
【问题讨论】:
-
你能试试 3.6-EA2 吗?如果您仍然遇到问题,我们很乐意为您提供帮助。 hazelcast.org/download
-
@Mesut 刚刚尝试了 3.6-EA3,与 jclouds 和 IAM 角色完美配合。谢谢!