【 使用环境 】测试环境
【 OB or 其他组件 】OB、proxy、binlog、configserver
【 使用版本 】4.3.3.1
【问题描述】
由于业务需要,我们需要在多个机房部署oceanbase数据库,还使用了binlog,我们对性能要求不高,只希望能快速部署,因此我们选择了docker部署的方案。
使用docker-compose编排容器,docker-compose.yml的文件内容参见:
docker-compose.yml.txt (780 字节)
其中oceanbase、oblogproxy在部署时都需要指定服务器IP地址,但docker环境下IP地址是不固定的。
请问如何能指定hostname或域名(我们有内网DNS服务器)
另外,我发现oceanbase在启动时好像有健康检查,好像会检查oblogproxy,但oblogproxy可能还未启动,导致启动失败,如何能关闭健康检查?
1 个赞
淇铭
#3
目前ob不支持hostname代替IP?健康检查?你截图发一下
部署ob时有一个环境变量,我这样配置的:
export OB_SERVER_IP=db
报上面的错
1 个赞
淇铭
#5
你的配置yaml文件发一下 你应该是用环境变量代替ip地址 这样yaml文件在解析的时候 找不到报错了 这样是不支持的
config.yml.txt (562 字节)
配置文件是这个吗?
我是基于这个docker镜像启动的: oceanbase/oceanbase-ce - Docker Image | Docker Hub
它里面原本就有OB_SERVER_IP这个环境变量,我只是将它替换成了hostname
淇铭
#7
不支持这样 不能识别出来 请使用ip地址 例如:
docker run -p 2881:2881 --name obstandalone -e MODE=normal -e OB_TENANT_PASSWORD=password -e OB_SERVER_IP=127.0.0.1 -d oceanbase/oceanbase-ce
不支持 hostname 的方式设置启动 ip 地址,这个是 observer 内核层面的限制,目前没有什么好的办法解决,如果需要固定的 ip 地址传 127.0.0.1 是否可以,这个只针对 observer bootstrap 实际上去连接 observer 可以用 hostname
这个是生产环境部署吗,oceanbase-ce 这个镜像主要用于测试的,如果生产环境使用容器的形式可以用 ob-operator, https://oceanbase.github.io/ob-operator/