Dict.CN 在线词典, 英语学习, 在线翻译 ------------- MyGitee My腾云code My51cto

Happy_EveryDay

可以平凡 不可以平庸 无爱则无忧,无欲则无求,无怒而无敌,无怨才是佛。所有烦恼,都是放不下的执著 开源技群 328035181 MyGitee

博客园 首页 新随笔 管理

image

 ####restart  容器 ip不要变动,不然会提示172.17.0.7连接失败######

 

image

 

 

 

 



一、oceanbase安装

--memory=6g \ --ulimit nofile=20000:20000 \


1、宿主机上执行
# 1. 修改系统 limits 配置
echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf

# 2. 检查 PAM 配置(确保 limits 生效)
grep -q "UsePAM yes" /etc/ssh/sshd_config || sed -i 's/#UsePAM yes/UsePAM yes/' /etc/ssh/sshd_config

# 3. 重启 SSH 服务
systemctl restart sshd

# 4. 重新登录使配置生效(必须重新登录或新开终端)
exit
 
然后新开一个 SSH 连接,验证:
bash
复制
ulimit -n
# 应该显示 20000



2、容器
oceanbase-mini


# 先彻底清理
docker rm -f oceanbase-mini
rm -rf /data/oceanbase
mkdir -p /data/oceanbase/ob
mkdir -p /data/oceanbase/obd

 
docker run -d \
  --name oceanbase-mini \
  -p 2881:2881 -p 8080:8080 \
  -e MINI_MODE=true \
  -e OB_ROOT_PASSWORD=root \
  -v /data/oceanbase/ob:/root/ob \
  -v /data/oceanbase/obd:/root/.obd \
  --memory=6g \
  --ulimit nofile=20000:20000 \
  oceanbase/oceanbase-ce
 
注意加了 --ulimit nofile=20000:20000,让容器继承宿主机的文件描述符限制。

image

 




3、进入容器
docker exec -it oceanbase-mini bash
# 销毁旧的 OBD 配置(不删数据)
obd cluster destroy obcluster

# 重新部署
obd cluster deploy obcluster

 


obd cluster start obcluster


或者查看 OBD 部署状态
obd cluster list

image

 









obd cluster start obcluster
若出现如下问题


image

 

vi  /root/.obd/cluster/obcluster/config.yaml

 

 

image

 

image

 

image

memory_limit 调整为2G 

 

 

 配置文件config.yaml修改后

 ####执行系统参数自动优化

 obd cluster init4env obcluster

#####重新启动集群

obd cluster start obcluster

image

 












4、
进入容器
docker exec -it oceanbase-mini bash
查看root密码
# 查看 OBD 配置中的密码

image

 

image

 

 

5、连接

image

 

 
 














 



二、最干净的方案:不挂载 OBD 卷,完全全新启动
 

# 1. 删掉退出的容器
docker rm -f oceanbase-mini

# 2. 清空数据目录(测试环境旧数据没用)
rm -rf /data/oceanbase/ob/*
rm -rf /data/oceanbase/obd 2>/dev/null

######注意 rm -rf /data/oceanbase/ob/* # ← 这会清空所有数据,密码重置

# 3. 确认空了
ls -la /data/oceanbase/ob/

# 4. 重新启动(数据目录干净,OB_ROOT_PASSWORD 这次会生效)
yes | docker run -d --name oceanbase-mini \
-p 2881:2881 \
-e MINI_MODE=true \
-e OB_ROOT_PASSWORD=Root@123456 \
-v /data/oceanbase/ob:/root/ob \
--ulimit nofile=655350:655350 \
--ulimit stack=-1:-1 \
oceanbase/oceanbase-ce

# 5. 等 3 分钟,确认容器在跑 + 2881 在监听
sleep 180
docker ps | grep oceanbase-mini

 

docker exec oceanbase-mini ss -tlnp | grep 2881

 ####sleep 180 && docker logs --tail 30 oceanbase-mini

 

 

image

 

image

 

image

 

 

image

 

 

 

 

image

 

docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -e "SELECT 1" 

image

 

image

 # 1. 改成强密码

docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -e "ALTER USER root IDENTIFIED BY 'Root@123456';"

 

# 2. 验证新密码能登录

docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -pRoot@123456      -e "SELECT 1"

 

image

 









三、
用 docker restart 或 docker stop + docker start,不删容器:

docker restart oceanbase-mini

####restart  容器 ip不要变动,不然会提示172.17.0.7连接失败######
# 等 1 分钟
sleep 60 && docker exec oceanbase-mini ss -tlnp | grep 2881

#####验证登录验证###########oceanbase重启初始化需要时间,请耐心等待#######################################

docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -pRoot@123456      -e "SELECT 1" 

image

 

 
posted on 2026-07-02 23:29  2026cn  阅读(39)  评论(0)    收藏  举报