假设我有一个Hazelcast实例在远程机器上的某个地方运行,它在官方Docker镜像中执行。所以我想看看Hazelcast存储的一些数据就像在第一个视频中here一样。所以我想知道有没有办法从任何CLI实用程序连接到现有的Hazelcast实例来获取数据,但没有管理中心?
答案 0 :(得分:9)
安德里,
您可以利用Hazelcast演示应用程序。 你可以在这里找到:
com.hazelcast.console.ConsoleApp
成员控制台,hazelcast*.jar
的一部分。请参阅GH com.hazelcast.client.console.ClientConsoleApp
客户端控制台,hazelcast-client*.jar
的一部分。请参阅GH 您可以修改server.sh
以在CLI模式下运行成员/客户端
java -server $JAVA_OPTS com.hazelcast.console.ConsoleApp
或
java -server $JAVA_OPTS com.hazelcast.client.console.ClientConsoleApp
如果您有任何疑问,请与我们联系。 谢谢
答案 1 :(得分:2)
感谢Viktor Gamov,我找到了使用com.hazelcast.client.console.ClientConsoleApp
提供的hazelcast*.jar
来查看CLI数据的方法。
以下是如何使用客户端连接到现有实例的小摘要:
clientConsole.sh
(位于<hazelcast installation>/demo
下)脚本(或根据需要创建新脚本),其中的行必须如下:
java -Djava.net.preferIPv4Stack=true -cp .:../lib/hazelcast-all-<version>.jar com.hazelcast.client.console.ClientConsoleApp
<hazelcast installation>/demo
)hazelcast-client.xml
,可能如下所示:<hazelcast-client xmlns="http://www.hazelcast.com/schema/client-config">
<group>
<name>dev</name>
<password>dev-pass</password>
</group>
<network>
<cluster-members>
<address>localhost:5701</address>
</cluster-members>
</network>
</hazelcast-client>
答案 2 :(得分:0)
最好的方法是编写一个可以从CLI运行的Java实用程序。它可以利用HazelcastClient
连接到群集,获取IMap并打印您需要的内容。此外,IMap.getLocalMapStats
还会提供与该节点的本地地图相关的统计信息。
答案 3 :(得分:0)
除了@Viktor Gamov 的 answer 和 @Andrii Pischanski 的 answer 之外,我还编写了一个简单的 shell 脚本来自动化以下过程:
hazelcast-all-<version>.jar
(包含 ClientConsoleApp
类),hazelcast-client.xml
文件以连接到集群:https://github.com/YongJieYongJie/hazelcast-cli 和java
命令实际连接到集群。希望这对某人有帮助。