永久启动 Kafka 服务器
Posted
技术标签:
【中文标题】永久启动 Kafka 服务器【英文标题】:Starting Kafka Server Permanently 【发布时间】:2013-01-30 06:18:44 【问题描述】:我已经在 Amazon EC2 实例上设置了 Kafka。
我按以下顺序执行了以下操作: (1) SSH进入Instance (2) 启动 Zookeper (3) 启动卡夫卡 (4) 执行生产者和消费者程序。
到这里为止一切正常。但是,一旦我关闭启动 Kafka 的 SSH 窗口,Kafka 服务就会停止。我无法再执行生产者和消费者程序。
即使在我关闭 SSH 窗口之后,如何让 Kafka 服务器永久地处理所有请求。
谢谢。
【问题讨论】:
【参考方案1】:这现在在 kafka 和 zookeeper 启动脚本中得到正式支持。因此,如果您使用的是最新的(自 2015 年 8 月以来)kafka,您可以使用 -daemon,如下所示。
# ./kafka-server-start.sh
USAGE: ./kafka-server-start.sh [-daemon] server.properties
# ./zookeeper-server-start.sh
USAGE: ./zookeeper-server-start.sh [-daemon] zookeeper.properties
【讨论】:
@NikeshDevaki,-daemon 是你现在应该使用的,因为 kafka 直接支持它。 这在 Windows 上不起作用(使用.bat
文件启动 ZK、Kafka)
有没有办法让日志在初始化时显示? -daemon
标志似乎隐藏了所有这些,因此更难解决潜在的启动异常。【参考方案2】:
试试bin/kafka-server-start.sh -daemon config/server.properties.
或者:
在这里尝试新贵脚本:upstart script for kafka
【讨论】:
不知道为什么这么少的人赞成我的回答,但下面的一个....没有太大区别 以上shell执行后,如何查看是否已经运行? 如果没有必要,如何停止 zookeeper 和 Kafka?【参考方案3】:nohup
在命令开头是必需的,因此输出不在屏幕上,而是在文件中。在命令结束时还需要&
才能在后台启动服务器:
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
将变为:
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
nohup bin/kafka-server-start.sh config/server.properties &
【讨论】:
现在使用-daemon
开关是更好的选择
@kopos 你能详细说明为什么会这样吗?以上是关于永久启动 Kafka 服务器的主要内容,如果未能解决你的问题,请参考以下文章
Linux基于CentOS通过Systemctl 设置开机启动/永久性关闭服务
Kafka 3.0 源码笔记-Kafka 服务端的启动与请求处理源码分析