You need to enable JavaScript to run this app. Apache Druid启动内置ZooKeeper报错2181端口被占用,修改配置不生效如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Apache Druid启动内置ZooKeeper报错2181端口被占用,修改配置不生效如何解决

问题核心原因

你使用的./bin/start-micro-quickstart是Druid单节点测试场景的专属启动脚本,默认会自动启动内置的ZooKeeper实例,你之前修改通用conf目录下的配置未生效,是因为该脚本默认读取conf/druid/single-server/micro-quickstart/路径下的专属配置,且仅修改ZooKeeper监听端口不够,还需要同步修改Druid自身连接ZooKeeper的地址配置。

解决方案(优先推荐方案1,资源占用更低、对接配置更简单)

方案1:复用Kafka已启动的ZooKeeper实例

直接共用Kafka已经启动的2181端口ZooKeeper,不需要额外启动Druid内置ZK,从根源避免端口冲突:

  • 进入micro-quickstart专属配置目录:cd conf/druid/single-server/micro-quickstart/
  • 编辑common.runtime.properties文件,找到druid.zk.service.host配置项,确认值为localhost:2181(和你Kafka启动的ZK端口一致即可)
  • 启动Druid时添加跳过内置ZK的参数:./bin/start-micro-quickstart --no-zookeeper

方案2:修改Druid内置ZooKeeper的监听端口

如果你需要单独运行Druid的内置ZK实例,按以下步骤修改:

  • 进入内置ZK的配置目录:cd conf/druid/single-server/micro-quickstart/zookeeper/
  • 编辑当前目录下的zoo.cfg,将clientPort=2181修改为未被占用的端口,例如clientPort=2080
  • 回到上层配置目录,编辑common.runtime.properties文件,将druid.zk.service.host的值修改为localhost:2080(和上一步设置的端口保持一致)
  • 正常执行启动命令即可:./bin/start-micro-quickstart
校验方法

启动完成后可以执行jps命令查看进程,Druid所有节点进程正常运行无退出即代表配置生效。

内容的提问来源于stack exchange,提问作者Handri Mauludin Maulana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 05:09:02