我正在尝试让 s3ping 发现方法在 wildfly 8.0.0 中工作。我正在使用默认的 Amazon Linux AMI,并根据本教程使用 chef 在 ec2 中启动实例http://aws.typepad.com/awsaktuell/tutorial/。我已部署了一个集群化的示例 Web 应用程序。目前我只有一个节点。但在不久的将来,我将在集群中添加更多节点。
我已使用所需的 s3 凭证和存储桶详细信息修改了文件 standalone-full-ha.xml。
<subsystem xmlns="urn:jboss:domain:jgroups:2.0" default-stack="s3ping">
......
<stack name="s3ping">
<transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socket-binding="jgroups-diagnostics"/>
<protocol type="S3_PING">
<property name="access_key">
XXXXXXXXXXXXXXXXXXX
</property>
<property name="secret_access_key">
XXXXXXXXXXXXXXXXXXXXXXXX
</property>
<property name="prefix">
jboss-config
</property>
<property name="timeout">
60000
</property>
</protocol>
<protocol type="MERGE2"/>
<protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
<protocol type="FD"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="BARRIER"/>
<protocol type="pbcast.NAKACK"/>
<protocol type="UNICAST2"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="UFC"/>
<protocol type="MFC"/>
<protocol type="FRAG2"/>
</stack>
然后我启动这个 jboss 实例
sudo /etc/init.d/jboss start
它已成功启动,可以访问应用程序。我已手动创建了 s3 存储桶,“jboss”作为 Iam 用户(在 standalone-full-ha.xml 中使用“jboss”用户凭据),还创建了用户策略来访问 s3 存储桶,但无法看到在此 s3 存储桶内创建的任何节点信息文件。我是否需要添加其他配置才能使其正常工作?
答案1
我遇到了同样的问题,结果是没有任何东西广播到 jgroups 堆栈。
添加类似这样的内容为我修复了这个问题:
<subsystem xmlns="urn:jboss:domain:messaging:2.0">
<hornetq-server>
<broadcast-groups>
<broadcast-group name="bg-group1">
<jgroups-stack>s3ping</jgroups-stack>
<jgroups-channel>hq-cluster</jgroups-channel>
<connector-ref>http-connector</connector-ref>
</broadcast-group>
</broadcast-groups>
</hornetq-server>
</subsystem>