当前位置: 首页 > 面试题库 >

从java启动elasticsearch实例?

吕德业
2023-03-14
问题内容

我想从Java管理Elasticsearch的启动和停止。有什么简单/不错的方法吗?

我们正在尝试在产品中部署ElasticSearch,并希望在我们自己的产品中的客户计算机上维护ElasticSearch的实例,现在,每件事都取决于从es.bat或其他事物中启动ElasticSearch实例。

顺便说一句,谁能给我一个例子,说明如何围绕用于ElasticSearch的Jest
API来模拟测试一些代码,以便我可以对调用ElasticSearch的东西进行单元测试,而无需启动ElasticSearch实例?


问题答案:

启动Elasticsearch实例非常容易。您只需要使用Java
API
。这意味着您必须向项目中添加elasticsearch依赖项并创建一个节点,如参考资料中所述:

// on startup
Node node = nodeBuilder().node();
Client client = node.client();

// on shutdown
node.close();

创建节点后,其行为将与从命令行启动的节点完全相同。您可以使用创建的客户端对象与其进行交互,但是默认情况下,它还将打开9200和9300(或后面的(如果繁忙))端口以进行剩余调用和节点间通信



 类似资料:
  • 我在运行Ubuntu18.04的单个实例上安装了ELK。除elasticsearch外,所有服务(logstash、kibana、metricbeat)都将在重新启动时自动启动。重新启动实例后,我必须发出命令。 我尝试了这个命令,但没有帮助。 需要做些什么才能让elastic自动重启?

  • 问题内容: 我想从Java程序启动文件(文档),并逐步满足以下要求: 方法必须在Mac,Win和Linux系统上适用 我不允许使用“ Runtime.getRuntime()。exec(“ cmd.exe / C +”文件名“); 我正在启动的文件必须是.doc / .docx / .rtf 该文件是在运行时创建的,它是从创建报告得出的结果。有什么好的做法吗? 问题答案: 使用Java桌面API。

  • 问题内容: 我的服务器程序需要在EC2实例启动时启动。即时即时消息只是使用以下命令从我的SSH启动: 我尝试将其添加到.bashrc和/etc/rc.local文件中,但它们仅在我ssh进入时才起作用。 有人知道怎么做,以便在计算机启动时启动我的应用程序实例吗? 谢谢, 本 问题答案: 您可以创建如下脚本: 将您的脚本放在/etc/init.d目录下,然后使用以下命令: 通过使用有关 update

  • 问题内容: 我们如何从Java启动/停止Windows服务?例如,我想从Java启动和停止mysql Windows服务。 如果可以启动/停止,那么是否可以知道服务是否成功启动? 问题答案: 您可以使用字符串数组来制定命令提示符脚本来启动,停止和检查服务状态: 使用以下命令执行脚本:

  • 我正在使用SpringBoot(2.3) - 我可以使用Spring jdbc DatabaseStartupValidator执行此操作吗? 仅供参考:通过docker compose启动时,应用程序会正常工作。Spring只是失败了好几次