前提条件
由于初始化操作需要连接到 OceanBase,因此需要先安装 MySQL 客户端。
背景信息
BootStrap 操作只需在一台机器上执行,本节以在 192.168.1.90上执行为例。
ALTER SYSTEM BOOTSTRAP
ZONE [=] ‘zone’ SERVER [=] ‘ip:port’
[, ZONE [=] ‘zone’ SERVER [=] ‘ip:port’ …];
操作步骤
以 admin 用户登录 OBServer 服务器。
执行以下命令,连接 OceanBase。
其中,root 为 OceanBase 安装成功后自动生成的用户名,无密码。详细参数说明请参考连接参数说明表。
mysql -h192.168.1.92 -P2881 -uroot
连接参数说明表
参数 | 说明 |
-h | OBServer 的 IP 地址。 |
-P | LMS 的 MySQL 协议端口。 |
-u | 连接OceanBase 的用户名。 |
-p | 连接 OceanBase 的用户密码,默认为空。 |
- 系统自举和初始化。
系统自举时,需要指定 RootService 信息,多台 RootService 通过逗号(,)分隔,ZONE指机房或逻辑机房名称,REGION 指机房所在城市或地域名称。
关于 RootService 有以下限制:一个集群中只有一个 RootService 服务。
例如:对于单集群 zone1,只有一个 rootservice(IP地址10.218.248.178,RPC的端口号55410),则执行以下语句:
ALTER SYSTEM BOOTSTRAP ZONE 'zone1' SERVER '10.218.248.178:55410';
如果是多台 RootService,通过逗号(,)分隔。例如,三副本集群,则执行以下语句:
ALTER SYSTEM BOOTSTRAP REGION 'HANGZHOU' ZONE 'ZONE_1' SERVER '192.168.1.90:2882',REGION 'HANGZHOU' ZONE 'ZONE_2' SERVER '192.168.1.91:2882',REGION 'HANGZHOU' ZONE 'ZONE_3' SERVER '192.168.1.92:2882';
- BootStrap 只需在第一次启动 OceanBase 时执行。
- BootStrap 会生成 OceanBase 数据库和系统表。
- OceanBase 系统表的信息参考文档《OceanBase 1.0 参考指南》
- OceanBaseBootStrap 完成之后,RootService 服务部署在系统表 __all_core_table Leader 分区所在的机器上。
如果BootStrap失败,请检查各 OBServer 的 NTP 时钟同步是否正常,网络是否正常,纠正后,需要删除生成的数据和日志文件,重新执行 BootStrap。
删除数据文件的命令如下:
cd /home/admin/oceanbase/store/abcbank/ && rm -rf */* &&
cd /home/admin/oceanbase/log/ && rm -rf *.* &&
cd /home/admin/oceanbase/run/ && rm -rf *.* &&
cd /home/admin/oceanbase/etc/ && rm -rf observer.config.* &&
cd /data/log1/abcbank/etc2 && rm -rf *.* &&
cd /data/1/abcbank/etc3 && rm -rf *.*
如果部署的是 2-2-2 集群,对另外三台机器分别启动 OBServer 进程后,还需要执行如下语句,添加到相应的 Zone。
ALTER SYSTEM ADD SERVER "192.168.1.93:2882" zone 'ZONE_1';
ALTER SYSTEM ADD SERVER "192.168.1.94:2882" zone 'ZONE_2';
ALTER SYSTEM ADD SERVER "192.168.1.95:2882" zone 'ZONE_3';