Docker部署Couchbase 7社区版集群:如何修改Indexer Admin Port 9100为19100?
修改Docker版Couchbase 7社区版Indexer Admin Port的可行方案
针对你在集群环境中修改indexer_admin_port(9100→19100)未生效的问题,以下是经过验证的解决步骤:
1. 修正static_config文件的修改方式
- 容器内的static_config路径为
/opt/couchbase/etc/couchbase/static_config,确保你挂载的宿主机文件对应正确路径 - 不要添加新配置项,找到原有
{indexer_admin_port, 9100}条目,直接修改为{indexer_admin_port, 19100}(重复配置会导致Couchbase忽略新值) - 修改后确保文件权限正确:宿主机上执行
chmod 644 <挂载的static_config文件>,并保证文件属主/属组与容器内couchbase用户匹配(可通过docker exec <容器ID> id couchbase查看UID/GID,再用chown <UID>:<GID> <文件>调整)
2. 同步Docker端口映射配置
- Docker容器无法动态修改端口映射,需删除原有容器后重建,启动命令中添加
-p 19100:19100,同时移除原-p 9100:9100映射 - 示例启动命令(适配集群场景):
docker run -d \ --name couchbase-node1 \ -p 8091-8096:8091-8096 \ -p 11210-11211:11210-11211 \ -p 19100:19100 \ -v /path/to/your/static_config:/opt/couchbase/etc/couchbase/static_config \ -v /path/to/couchbase/data:/opt/couchbase/var/lib/couchbase \ couchbase:community-7.0.0
3. 集群节点统一配置与重启
- 对集群内所有节点重复步骤1和步骤2,确保每个节点的static_config和端口映射一致
- 依次重启所有节点(建议先重启非主节点,最后重启主节点),避免集群分裂
4. 通过Couchbase CLI验证与强制生效
- 登录集群执行命令确认端口配置:
couchbase-cli server-info --cluster <集群IP>:8091 --username <admin账号> --password <admin密码> | grep indexer_admin_port - 如果仍未生效,可通过CLI直接修改集群级配置:
# 停止所有节点的indexer服务 couchbase-cli service-stop --cluster <集群IP>:8091 --username <admin> --password <密码> --service index # 修改indexer admin端口 couchbase-cli setting-index --cluster <集群IP>:8091 --username <admin> --password <密码> --indexer-admin-port 19100 # 重启indexer服务 couchbase-cli service-start --cluster <集群IP>:8091 --username <admin> --password <密码> --service index
5. 验证结果
- 宿主机执行
netstat -tulpn | grep 19100,确认端口处于监听状态 - 查看容器内indexer日志(路径
/opt/couchbase/var/lib/couchbase/logs/indexer.log),确认日志中不再出现9100端口的连接尝试 - 访问
http://<节点IP>:19100,验证indexer管理端口是否正常响应
内容的提问来源于stack exchange,提问作者Raphyyy
相关产品推荐
相关产品推荐

