2016-12-19 87 views
4

假设我有在远程计算机上运行的Hazelcast实例,并且它在官方Docker镜像中执行。所以我喜欢看到Hazelcast存储的一些数据就像在第一个视频here。所以我想知道是否有任何方法从任何CLI实用程序连接到现有的Hazelcast实例以获取数据,但是没有管理中心使用CLI进行Hazelcast访问

回答

4

Andrii,

您可以利用Hazelcast演示应用程序。 您可以在这里找到:

  • com.hazelcast.console.ConsoleApp员控制台的hazelcast*.jar一部分。请参阅GH
  • com.hazelcast.client.console.ClientConsoleApp客户端控制台,部分hazelcast-client*.jar。见GH

您可以修改server.sh在命令行模式下运行员/客户端

java -server $JAVA_OPTS com.hazelcast.console.ConsoleApp

java -server $JAVA_OPTS com.hazelcast.client.console.ClientConsoleApp

让我知道如果您有任何问题。 谢谢

+0

Viktor, 感谢您的回复。这对我有用。但是在'main'的'com.hazelcast.client.console.ClientConsoleApp'中提供的javadoc中存在不准确的地方。其中指定它期望类路径中的'hazelcast.xml'文件,但实际上它期望'hazelcast-client.xml'文件。 再次感谢您的回复。 –

+0

Andrii,请接受我的回答。谢谢 –

0

最好的方法是编写一个可以从CLI运行的Java实用程序。它可以利用HazelcastClient连接到集群,获取IMap并根据需要打印。另外IMap.getLocalMapStats给出了与该节点的本地地图相关的统计数据。

1

感谢Viktor Gamov我已经找到了方法来查看从CLI提供的数据com.hazelcast.client.console.ClientConsoleApphazelcast*.jar的一部分。 这里是小总结了如何使用客户端连接到现有的实例:

  1. 修改clientConsole.sh(位于<hazelcast installation>/demo下)脚本(或者,如果你想创建新的一个),并在它的行必须是这样的: java -Djava.net.preferIPv4Stack=true -cp .:../lib/hazelcast-all-<version>.jar com.hazelcast.client.console.ClientConsoleApp
  2. 把你的配置文件在同一目录与您的脚本(可能<hazelcast installation>/demo
  3. 您的配置文件应该有名称完全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>