使用CLI进行Hazelcast访问

时间:2016-12-19 15:11:03

标签: hazelcast

假设我有一个Hazelcast实例在远程机器上的某个地方运行,它在官方Docker镜像中执行。所以我想看看Hazelcast存储的一些数据就像在第一个视频中here一样。所以我想知道有没有办法从任何CLI实用程序连接到现有的Hazelcast实例来获取数据,但没有管理中心

4 个答案:

答案 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数据的方法。 以下是如何使用客户端连接到现有实例的小摘要:

  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. 放在同一目录中
  4. 您的配置文件名称应为hazelcast-client.xml,可能如下所示:
  5. <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 脚本来自动化以下过程:

  1. 下载正确版本的 hazelcast-all-<version>.jar(包含 ClientConsoleApp 类),
  2. 创建适当的 hazelcast-client.xml 文件以连接到集群:https://github.com/YongJieYongJie/hazelcast-cli
  3. 运行适当的 java 命令实际连接到集群。

希望这对某人有帮助。