前提条件

    由于初始化操作需要连接到 OceanBase,因此需要先安装 MySQL 客户端。

    背景信息

    BootStrap 操作只需在一台机器上执行,本节以在 192.168.1.90上执行为例。

    1. ALTER SYSTEM BOOTSTRAP
    2. ZONE [=] zone SERVER [=] ip:port
    3. [, ZONE [=] zone SERVER [=] ip:port …];

    操作步骤

    1. 以 admin 用户登录 OBServer 服务器。

    2. 执行以下命令,连接 OceanBase。

    其中,root 为 OceanBase 安装成功后自动生成的用户名,无密码。详细参数说明请参考连接参数说明表

    1. mysql -h192.168.1.92 -P2881 -uroot

    连接参数说明表

    参数

    说明

    -h

    OBServer 的 IP 地址。

    -P

    LMS 的 MySQL 协议端口。

    -u

    连接OceanBase 的用户名。

    -p

    连接 OceanBase 的用户密码,默认为空。

    1. 系统自举和初始化。

    系统自举时,需要指定 RootService 信息,多台 RootService 通过逗号(,)分隔,ZONE指机房或逻辑机房名称,REGION 指机房所在城市或地域名称。

    关于 RootService 有以下限制:一个集群中只有一个 RootService 服务。

    例如:对于单集群 zone1,只有一个 rootservice(IP地址10.218.248.178,RPC的端口号55410),则执行以下语句:

    1. ALTER SYSTEM BOOTSTRAP ZONE 'zone1' SERVER '10.218.248.178:55410';

    如果是多台 RootService,通过逗号(,)分隔。例如,三副本集群,则执行以下语句:

    1. 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。

    删除数据文件的命令如下:

    1. cd /home/admin/oceanbase/store/abcbank/ && rm -rf */* &&
    2. cd /home/admin/oceanbase/log/ && rm -rf *.* &&
    3. cd /home/admin/oceanbase/run/ && rm -rf *.* &&
    4. cd /home/admin/oceanbase/etc/ && rm -rf observer.config.* &&
    5. cd /data/log1/abcbank/etc2 && rm -rf *.* &&
    6. cd /data/1/abcbank/etc3 && rm -rf *.*

    如果部署的是 2-2-2 集群,对另外三台机器分别启动 OBServer 进程后,还需要执行如下语句,添加到相应的 Zone。

    1. ALTER SYSTEM ADD SERVER "192.168.1.93:2882" zone 'ZONE_1';
    2. ALTER SYSTEM ADD SERVER "192.168.1.94:2882" zone 'ZONE_2';
    3. ALTER SYSTEM ADD SERVER "192.168.1.95:2882" zone 'ZONE_3';