部署和启动OceanBase

通过一键安装包安装OceanBase软件后,请按照本节内容通过集群配置文件部署并启动OceanBase集群。启动OceanBase集群之前,需要确保已经安装并配置NTP。

  1. 创建并修改yaml配置文件。

    1. 创建yaml配置文件。distributed-example.yaml为集群配置文件名称,请根据实际情况修改。
      vi distributed-example.yaml
    2. 按“i”进入编辑模式,参见“/oceanbase-all-in-one/obd/usr/obd/example”文件夹下的配置文件模版,根据需要修改yaml配置文件信息。关于yaml配置文件示例的详细信息,请参见yaml配置文件示例
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  2. 使用yaml配置文件部署OceanBase。

    cd /oceanbase-all-in-one/obd/usr/obd/example
    obd cluster deploy obcluster -c distributed-example.yaml

    以下参数请根据实际情况修改:

    • obcluster为集群名称。
    • distributed-example.yaml为集群配置文件名称。

  3. 安装并配置NTP服务。

    1. 在所有集群和NTP客户端节点安装NTP。
      1
      yum -y install ntp ntpdate
      

    2. 在所有集群和NTP客户端节点备份旧配置。
      1
      cd /etc && mv ntp.conf ntp.conf.bak
      
    3. 选择一台服务器为NTP服务端节点,在该服务器上新建并配置NTP文件。在本例中以192.168.0.216服务器为NTP服务端节点。
      1. 创建文件。
        1
        vi /etc/ntp.conf
        
      2. 按“i”进入编辑模式,并在文件中新增如下内容作为NTP服务端:
        1
        2
        3
        4
        5
        restrict 127.0.0.1
        restrict ::1
        restrict 192.168.0.216 mask 255.255.255.0
        server 127.127.1.0
        fudge 127.127.1.0 stratum 8
        

        其中,restrict 192.168.0.216 mask 255.255.255.0是NTP服务器的网段与掩码,请根据实际情况修改。

      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 在其他所有NTP客户端节点新建NTP文件。
      1. 打开文件。
        1
        vi /etc/ntp.conf
        
      2. 按“i”进入编辑模式,并在文件中新增如下内容作为客户端节点:
        1
        server 192.168.0.216
        
      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  4. 启动和同步NTP服务。

    1. 在192.168.0.216 NTP服务端节点启动NTP服务并查看NTP服务状态。
      1
      2
      3
      systemctl start ntpd
      systemctl enable ntpd
      systemctl status ntpd
      

    2. 在其他所有NTP客户端节点强制同步192.168.0.216 NTP服务端节点的时间。
      1
      ntpdate 192.168.0.216
      
    3. 在除了192.168.0.216 NTP服务端节点的所有节点写入硬件时钟,以避免重启服务器后时间同步失效。
      1
      hwclock -w
      
    4. 在除了192.168.0.216 NTP服务端节点的所有节点安装并启动crontab工具。
      1
      2
      3
      4
      yum install -y crontabs
      chkconfig crond on
      systemctl start crond
      crontab -e
      

      在执行crontab -e命令后将打开当前用户的crontab文件,用于编辑定时任务。

    5. 在打开的crontab文件中添加以下内容,设置每隔10min自动与192.168.0.216 NTP服务端节点同步时间。
      1
      */10 * * * * /usr/sbin/ntpdate 192.168.0.216
      
    6. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  5. 启动OceanBase集群。

    1
    obd cluster start obcluster
    
    • obcluster为集群名称,请根据实际情况修改。
    • 首次部署集群时,当前步骤中的操作命令会进行集群初始化,包括创建系统表、系统租户等。非首次部署时,当前步骤中的操作命令表示启动OceanBase集群。

  6. 查看observer进程,确认OceanBase集群已启动。

    ps -aux | grep observer

    预期结果:

  7. 使用OBClient连接OceanBase。

    obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A

    以下参数请根据实际情况修改:

    • 127.0.0.1和2883为OceanBase服务器的IP地址和端口号。
    • root为数据库用户,sysbench_tenant为数据库租户。
    • oceanbase为OceanBase数据库的名称。

  8. 可选:停止集群。

    obd cluster stop obcluster 

    obcluster为集群名称,请根据实际情况修改。

  9. 可选:查看集群状态。

    obd cluster display obcluster 

    obcluster为集群名称,请根据实际情况修改。

  10. 可选:查看集群列表。

    obd cluster list