2

在 Confluent ( https://confluent.cloud ) 上似乎没有关闭 Kafka 集群的选项:

在此处输入图像描述

我试图限制我的成本并关闭集群。我已经探索了上面屏幕截图中的各种选项,但我没有找到可以关闭集群的位置。

4

1 回答 1

1

我相信 Confluent 控制面板中没有这样的选项;一个选项是使用 Confluent命令行界面( Confluent CLI )。

在以前的版本中,使用的命令是:

confluent stop

对于较新的版本,我相信通过 CLI 停止集群的唯一选择是使用confluent local命令;问题是:

confluent 本地命令适用于单节点开发环境,不适用于生产环境。

如果是这种情况,您可以通过调用以下方式停止代理:

confluent local services kafka stop

或者从 Confluent 平台运行的所有服务:

confluent local services stop


这可能是由于安全问题,以避免通过错误地点击错误按钮来停止部署集群。因此,停止部署集群的选项依赖于手动停止每个代理(fe,通过调用 kafka-server-stop.sh),无需 GUI 或命令行帮助。我知道这个答案可能根本没有帮助,但希望它以某种方式提供信息。


编辑——来自Confluent Kafka Rest Proxy repo——

这里解释了将 Rest 代理与 Confluent Cloud 绑定的方法:将Rest 代理与 Confluent Cloud 链接。如果您能够这样做,您可以调用它的停止脚本以便传播到云的代理实例,即使记录的绑定客户端只是消费者、生产者和管理员

部署

REST 代理包括一个内置的 Jetty 服务器。包装脚本 bin/kafka-rest-start 和 bin/kafka-rest-stop 是启动和停止服务的推荐方法。

这是/bin/kafka-rest-stop脚本的内容:

exec $(dirname $0)/kafka-rest-stop-service '(kafkarest\.Main)|(kafkarest\.KafkaRestMain)'

调用kafka-rest-stop-service脚本:

TARGET=`ps ax | egrep -i "$1" | grep java | grep -v grep | awk '{print $1}'`
if [ "x$TARGET" = "x" ]; then
  >&2 echo "No running instance found."
  exit 1
fi

kill "$TARGET"
for i in `seq 20`; do
  sleep 0.25
  ps ax | egrep -i "$1" | grep "$TARGET" > /dev/null
  if [ $? -eq 0 ]; then
    exit 0
  fi
done

>&2 echo "Tried to kill $TARGET but never saw it die"
exit 1

SIGTERM它本质上通过调用向进程发送信号kill "$TARGET"

因此,REST API可能允许您通过调用包装的停止脚本来停止整个集群。不幸的是,我找不到有关此命令或调用它的语法的更多信息。

于 2020-12-31T18:35:14.770 回答