OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,当初有的问题未解决,目前新版未尝试

OceanBase---02(入门篇------对于单副本单节点,由1个observer扩容为3个observer集群)------之前的记录,有的问题未解决,新版未尝试

  • 1、前言---安装单副本单节点集群
    • [1.1 docker安装OB](#1.1 docker安装OB)
  • 2、查看现有集群情况
    • [2.1 进入容器,使用obd命令查看](#2.1 进入容器,使用obd命令查看)
    • [2.2 连接OB,查看节点信息等](#2.2 连接OB,查看节点信息等)
      • [2.2.1 __all_server](#2.2.1 __all_server)
      • [2.2.2 DBA_ob_servers](#2.2.2 DBA_ob_servers)
    • [2.3 查看现有资源规格、租户等情况](#2.3 查看现有资源规格、租户等情况)
  • 3、扩容,增加observer节点,先增加zone
    • [3.1、添加 zone2、zone3,并启动zone2、zone3](#3.1、添加 zone2、zone3,并启动zone2、zone3)
      • [3.1.1 查看当前zone的情况](#3.1.1 查看当前zone的情况)
      • [3.1.1 添加 zone2,并启动zone2](#3.1.1 添加 zone2,并启动zone2)
      • [3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list](#3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list)
  • [4. 安装新的OBserver](#4. 安装新的OBserver)
    • [4.1 创建目录(备用)](#4.1 创建目录(备用))
    • [4.2 安装rpm包(先安装依赖库)](#4.2 安装rpm包(先安装依赖库))
    • [4.3 配置环境变量](#4.3 配置环境变量)
    • [4.4 启动 observer 进程](#4.4 启动 observer 进程)
      • [4.4.1 获取集群ID](#4.4.1 获取集群ID)
      • [4.4.2 获取网卡名](#4.4.2 获取网卡名)
      • [4.4.3 启动进程](#4.4.3 启动进程)
    • 4.5
  • 5、遇到的问题
    • [5.1 deploy 失败](#5.1 deploy 失败)
    • [5.2 启动 observer 进程报错](#5.2 启动 observer 进程报错)
      • [5.2.1 错误描述](#5.2.1 错误描述)
      • [5.2.1 解决问题](#5.2.1 解决问题)
    • [4.2 ERROR 4012 (HY000): Timeout](#4.2 ERROR 4012 (HY000): Timeout)
      • [4.2.1 问题描述](#4.2.1 问题描述)
      • [4.2.2 解决问题](#4.2.2 解决问题)
    • [4.1 问题1---执行添加observer失败](#4.1 问题1—执行添加observer失败)
      • [4.1.1 问题详细](#4.1.1 问题详细)
      • [4.1.2 解决问题](#4.1.2 解决问题)
    • [4.2 ERROR 4012 (HY000): Timeout](#4.2 ERROR 4012 (HY000): Timeout)
      • [4.2.1 解决问题](#4.2.1 解决问题)

1、前言---安装单副本单节点集群

1.1 docker安装OB

2、查看现有集群情况

2.1 进入容器,使用obd命令查看

  • 查看状态是否running,如果不是deploy一下,如下:

    bash 复制代码
    obd cluster list
     obd cluster deploy obcluster
     obd cluster display obcluster

2.2 连接OB,查看节点信息等

2.2.1 __all_server

  • 如下:

    bash 复制代码
    obclient -h 43.143.190.116 -P2881 -uroot@sys oceanbase -A
    sql 复制代码
    select * from __all_server;
    select * from __all_zone;

2.2.2 DBA_ob_servers

  • 如下:

    sql 复制代码
    select * from __all_server\G;
    select * from DBA_ob_servers\G;


2.3 查看现有资源规格、租户等情况

  • sql如下:

    sql 复制代码
    select * from __all_unit_config;
    select * from __all_resource_pool;
    
    select * from __all_tenant;
    select * from __all_tenant\G;


3、扩容,增加observer节点,先增加zone

3.1、添加 zone2、zone3,并启动zone2、zone3

3.1.1 查看当前zone的情况

  • 如下:

    bash 复制代码
    select * from __all_zone;

3.1.1 添加 zone2,并启动zone2

  • 命令如下:

    sql 复制代码
    alter system add zone 'zone2' region 'default_region';
    
    alter system start zone 'zone2';


3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list

  • 同理了,如下:

    sql 复制代码
    alter system add zone 'zone3' region 'default_region';
    alter system start zone 'zone3';
    
    select * from __all_zone where name in('region','status','zone_type');

4. 安装新的OBserver

4.1 创建目录(备用)

  • 如下:

    bash 复制代码
    mkdir -p /data/{observer02,observer03,obproxy}
    mkdir -p /data/observer{02,03}/store/{sort_dir,sstable,clog,ilog,slog}

4.2 安装rpm包(先安装依赖库)

  • 安装命令如下:

    bash 复制代码
    rpm -ivh ../oceanbase-ce-libs-4.0.0.0-103000022023011215.el7.x86_64.rpm
    rpm -ivh ../oceanbase-ce-4.0.0.0-103000022023011215.el7.x86_64.rpm


  • 默认安装目录(因为这里是docker,随意安装的,就没有创建admin账号,但是安装目录默认创建了admin,如下:)

4.3 配置环境变量

  • 如下:

    bash 复制代码
    export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''

4.4 启动 observer 进程

4.4.1 获取集群ID

  • 如下:

    bash 复制代码
    SHOW PARAMETERS LIKE 'cluster_id'

4.4.2 获取网卡名

4.4.3 启动进程

  • 进入安装的 bin 目录,启动进程,如下:

    bash 复制代码
    ./observer -r "43.143.190.116:3882:3881"  -z 'zone2' -n 'obcluster' -p 3881 -P 3882 -c 1 -d /data/observer02/store -i docker0 -l WARN o 'memory_limit=8GB,datafile_disk_percentage=85'

4.5

5、遇到的问题

5.1 deploy 失败

  • 如下:

    bash 复制代码
    [ERROR] Another app is currently holding the obd lock.
  • 解决问题,display一下,如下

5.2 启动 observer 进程报错

5.2.1 错误描述

  • 详细错误如下:

5.2.1 解决问题

  • 解决错误,如下:
    • 配置环境变量,然后再启动observer进程

      bash 复制代码
      export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''

4.2 ERROR 4012 (HY000): Timeout

4.2.1 问题描述

  • 添加observer超时,如下:

4.2.2 解决问题

4.1 问题1---执行添加observer失败

4.1.1 问题详细

  • 具体问题如下图:

    sql 复制代码
    You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'sysyem add server

4.1.2 解决问题

  • 解决问题
    • 尝试一:
      进入容器使用ob命令,停掉集群,但发现怎么都停不了,如下:
    • 尝试二:
      杀掉容器内以及容器外的关于ob的所有进程,重新启动ob容器,如下:
  • 重新进入容器后,出现了新问题,超时,如下:

    也好,至少错误原因变了,那就解决此问题吧......

4.2 ERROR 4012 (HY000): Timeout

  • 问题描述,如上

4.2.1 解决问题

  • 解决问题:修改配置文件 config.yaml
    • 查看默认配置的文件,如下:
    • 修改后的配置文件,如下:
相关推荐
Codeking__8 小时前
Redis的value类型介绍——zset
数据库·redis·缓存
muddjsv8 小时前
SQLite3 核心命令全解析 (从入门到精通)
数据库
難釋懷8 小时前
认识NoSQL
数据库·nosql
亿坊电商8 小时前
利于SEO优化的CMS系统都有哪些特点?
前端·数据库
阿阿阿安8 小时前
MySQL(一)数据库风险操作场景总结
数据库·mysql
心丑姑娘8 小时前
使用ClickHouse时的劣质SQL样例
数据库·sql·clickhouse
什么都不会的Tristan8 小时前
redis篇
数据库·redis·缓存
only°夏至besos8 小时前
MySQL 运维实战:常见问题排查与解决方案
运维·数据库·mysql
液态不合群9 小时前
并发,并行与异步
数据库
Dxy12393102169 小时前
MySQL如何批量更新数据:高效方法与最佳实践
数据库·mysql