首页 > 解决方案 > 如何从我的 java 程序执行 zookeeper-server-start .bat 文件?

问题描述

我正在尝试从我的 java 代码中启动 zookeeper 和 kafka 服务器。我们通常手动执行批处理文件,我正在尝试自动化但服务器永远不会启动。

我曾尝试使用相同的代码运行其他 .bat 文件,它们运行起来就像一个魅力,但 zookeeper 和 kafka-server 永远不会成功执行,也不会抛出任何错误

Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/bin/windows/zookeeper-server-start.bat",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/config/zookeeper.properties"});

我希望 zookeeper 服务器启动并保持启动,而它没有。请帮助我哪里出错了,这甚至可能吗?

标签: javaapache-kafkaapache-zookeeper

解决方案


我完全不知道为什么,但是添加“开始”标志使它对我有用。现在我可以在代码中同时运行 zookeeper 和 kafka 服务器。我正在使用的代码如下,

Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "start",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/bin/windows/zookeeper-server-start.bat",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/config/zookeeper.properties"});

Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "start",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/bin/windows/kafka-server-start.bat",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/config/server.properties"});

推荐阅读