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
    • 查看默认配置的文件,如下:
    • 修改后的配置文件,如下:
相关推荐
云和数据.ChenGuang31 分钟前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys1 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi1 小时前
SQL注入的那些面试题总结
数据库·sql
建投数据2 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi3 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀3 小时前
Redis梳理
数据库·redis·缓存
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天4 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺4 小时前
分布式系统架构:服务容错
数据库·架构
独行soc5 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘