ITPub博客

首页 > 数据库 > 国内数据库 > OceanBase 安装

OceanBase 安装

原创 国内数据库 作者:wwjfeng 时间:2026-04-07 22:44:27 0 删除 编辑

1.环境规划

192.168.18.41 obs1 observer
192.168.18.42 obs2 observer
192.168.18.43 obs3 observer
192.168.18.44 obs4 observer 扩容
192.168.18.45 obs5 observer 扩容
192.168.18.46 obs6 observer 扩容
192.168.18.47 ocpserver
192.168.18.48 obcontrol

2.配置ssh互信

clockdiff 192.168.18.41
clockdiff 192.168.18.42
clockdiff 192.168.18.43
clockdiff 192.168.18.47
clockdiff 192.168.18.48

3.安装自动化部署软件

192.168.18.48 obcontrol
sudo rpm -ivh oceanbase-deployer-1.2.1.el7.x86_64.rpm
source /etc/profile.d/obd.sh
rpm -ql `rpm -qa|grep ob-deploy`
cd /home/admin/.obd/mirror/local
obd mirror clone /data/soft/*.rpm
obd mirror list local
+---------------------------------------------------------------------------------------------------------+
|                                            local Package List                                           |
+-------------------+---------+-----------------------+--------+------------------------------------------+
| name              | version | release               | arch   | md5                                      |
+-------------------+---------+-----------------------+--------+------------------------------------------+
| libobclient       | 2.0.0   | 2.el7                 | x86_64 | f73cae67e2ff5be0682ac2803aba33a7ed26430e |
| obagent           | 1.1.0   | 1.el7                 | x86_64 | d2416fadeadba35944872467843d55da0999f298 |
| oceanbase-ce      | 3.1.2   | 10000392021123010.el7 | x86_64 | 7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed |
| oceanbase-ce-libs | 3.1.2   | 10000392021123010.el7 | x86_64 | 94fff0ab31de053051dba66039e3185fa390cad5 |
| obproxy           | 3.2.0   | 1.el7                 | x86_64 | 8d5c6978f988935dc3da1dbec208914668dcf3b2 |
| ob-deploy         | 1.2.1   | 9.el7                 | x86_64 | 219823e1119d37f59ce2c906b44e45605acfd3f3 |
+-------------------+---------+-----------------------+--------+------------------------------------------+

4.编辑OBD集群配置文件

# Only need to configure when remote login is required
user:
   username: admin
#  password: admin
   key_file: /home/admin/.ssh/id_rsa.pub
   port: your ssh port, default 22
#   timeout: ssh connection timeout (second), default 30
oceanbase-ce:
  servers:
    - name: obs1
      # Please don use hostname, only IP can be supported
      ip: 192.168.18.41
    - name: obs2
      ip: 192.168.18.42
    - name: obs3
      ip: 192.168.18.43
  global:
    # Please set devname as the network adaptor name whose ip is  in the setting of severs.
    # if set severs as "127.0.0.1", please set devname as "lo"
    # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0"
    devname: ens33
    cluster_id: 2
    # please set memory limit to a suitable value which is matching resource.
    memory_limit: 8G # The maximum running memory for an observer
    system_memory: 3G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G.
    stack_size: 512K
    cpu_count: 4
    cache_wash_threshold: 1G
    __min_full_resource_pool_memory: 268435456
    workers_per_cpu_quota: 10
    schema_history_expire_time: 1d
    # The value of net_thread_count had better be same as cpu core number.
    net_thread_count: 4
    major_freeze_duty_time: Disable
    minor_freeze_times: 10
    enable_separate_sys_clog: 0
    enable_merge_by_turn: FALSE
    #datafile_disk_percentage: 20 # The percentage of the data_dir space to the total disk space. This value takes effect only when datafile_size is 0. The default value is 90.
    datafile_size: 50G
    syslog_level: WARN # System log level. The default value is INFO.
    enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true.
    enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false.
    max_syslog_file_count: 10 # The maximum number of reserved log files before enabling auto recycling. The default value is 0.
    # observer cluster name, consistent with obproxy cluster_name
    appname: fgeduobce
    root_password: rootroot # root user password, can be empty  
    proxyro_password: rootroot # proxyro user pasword, consistent with obproxy observer_sys_password, can be empty
  obs1:
    mysql_port: 2881 # External port for OceanBase Database. The default value is 2881.
    rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882.
    #  The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /home/admin/oceanbase-ce
    # The directory for data storage. The default value is $home_path/store.
    data_dir: /data
    # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
    redo_dir: /redo
    zone: zone1
  obs2:
    mysql_port: 2881 # External port for OceanBase Database. The default value is 2881.
    rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882.
    #  The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /home/admin/oceanbase-ce
    # The directory for data storage. The default value is $home_path/store.
    data_dir: /data
    # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
    redo_dir: /redo
    zone: zone2
  obs3:
    mysql_port: 2881 # External port for OceanBase Database. The default value is 2881.
    rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882.
    #  The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /home/admin/oceanbase-ce
    # The directory for data storage. The default value is $home_path/store.
    data_dir: /data
    # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
    redo_dir: /redo
    zone: zone3
obproxy:
  servers:
    - 192.168.18.41
    - 192.168.18.42
    - 192.168.18.43
  # Set dependent components for the component.
  # When the associated configurations are not done, OBD will automatically get the these configurations from the dependent components.
  depends:
    - oceanbase-ce
  global:
    listen_port: 2883 # External port. The default value is 2883.
    prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884.
    home_path: /home/admin/obproxy
    # oceanbase root server list
    # format: ip:mysql_port;ip:mysql_port
    rs_list: 192.168.18.41:2881;192.168.18.42:2881;192.168.18.43:2881
    enable_cluster_checkout: false
    # observer cluster name, consistent with oceanbase-ce appname
    cluster_name: fgeduobce
    obproxy_sys_password: rootroot # obproxy sys user password, can be empty
    observer_sys_password: rootroot # proxyro user pasword, consistent with oceanbase-ce proxyro_password, can be empty

5.通过OBD部署集群

[admin@obcontrol data]$ obd cluster deploy fgeduobce -c fgeduobce-3zone.yaml
Package oceanbase-ce-3.1.2 is available.
Package obproxy-3.2.0 is available.
install oceanbase-ce-3.1.2 for local ok
install obproxy-3.2.0 for local ok
+-------------------------------------------------------------------------------------------+
|                                          Packages                                         |
+--------------+---------+-----------------------+------------------------------------------+
| Repository   | Version | Release               | Md5                                      |
+--------------+---------+-----------------------+------------------------------------------+
| oceanbase-ce | 3.1.2   | 10000392021123010.el7 | 7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed |
| obproxy      | 3.2.0   | 1.el7                 | 8d5c6978f988935dc3da1dbec208914668dcf3b2 |
+--------------+---------+-----------------------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Remote oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed repository install ok
Remote oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed repository lib check !!
[WARN] obs1(192.168.18.41) oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed require: libmariadb.so.3
[WARN] obs2(192.168.18.42) oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed require: libmariadb.so.3
[WARN] obs3(192.168.18.43) oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed require: libmariadb.so.3
Remote obproxy-3.2.0-8d5c6978f988935dc3da1dbec208914668dcf3b2 repository install ok
Remote obproxy-3.2.0-8d5c6978f988935dc3da1dbec208914668dcf3b2 repository lib check ok
Try to get lib-repository
Package oceanbase-ce-libs-3.1.2 is available.
install oceanbase-ce-libs-3.1.2 for local ok
Use oceanbase-ce-libs-3.1.2-94fff0ab31de053051dba66039e3185fa390cad5 for oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed
Remote oceanbase-ce-libs-3.1.2-94fff0ab31de053051dba66039e3185fa390cad5 repository install ok
Remote oceanbase-ce-3.1.2-7fafba0fac1e90cbd1b5b7ae5fa129b64dc63aed repository lib check ok
Cluster status check ok
Initializes observer work home ok
Initializes obproxy work home ok
fgeduobce deployed
$ obd cluster list
+------------------------------------------------------------------+
|                           Cluster List                           |
+-----------+------------------------------------+-----------------+
| Name      | Configuration Path                 | Status (Cached) |
+-----------+------------------------------------+-----------------+
| fgeduobce | /home/admin/.obd/cluster/fgeduobce | deployed        |
+-----------+------------------------------------+-----------------+

6.启动并初始化集群

[admin@obcontrol data]$ obd cluster start fgeduobce
Get local repositories and plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
Check before start obproxy ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize cluster
Cluster bootstrap ok
Wait for observer init ok
+-------------------------------------------------+
|                     observer                    |
+---------------+---------+------+-------+--------+
| ip            | version | port | zone  | status |
+---------------+---------+------+-------+--------+
| 192.168.18.41 | 3.1.2   | 2881 | zone1 | active |
| 192.168.18.42 | 3.1.2   | 2881 | zone2 | active |
| 192.168.18.43 | 3.1.2   | 2881 | zone3 | active |
+---------------+---------+------+-------+--------+
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize cluster
+-------------------------------------------------+
|                     obproxy                     |
+---------------+------+-----------------+--------+
| ip            | port | prometheus_port | status |
+---------------+------+-----------------+--------+
| 192.168.18.41 | 2883 | 2884            | active |
| 192.168.18.42 | 2883 | 2884            | active |
| 192.168.18.43 | 2883 | 2884            | active |
+---------------+------+-----------------+--------+
fgeduobce running

7.在中控机安装客户端

rpm -ivh libobclients-2.0.0-2.el7.x86_64.rpm
rpm -ivh oceanbase-command-line-client--2.0.0-2.el7.x86_64.rpm
mysql -h 192.168.18.41 -uroot -P2881 -prootroot -c -A oceanbase
#查看zone信息
select a.zone,concat(a.svr_ip,':',a.svr_port) observer, cpu_total,
(cpu_total-cpu_assigned) cpu_free,
round(mem_total/1024/1024/1024) mem_total_gb,
round((mem_total-mem_assigned)/1024/1024/1024) mem_free_gb,
usec_to_time(b.last_offline_time) last_offline_time,
usec_to_time(b.start_service_time) start_service_time, b.status,
usec_to_time(b.stop_time) stop_time, b.build_version
from __all_virtual_server_stat a join __all_server b on
(a.svr_ip=b.svr_ip and a.svr_port=b.svr_port)
order by a.zone, a.svr_ip;
$obclient -h 192.168.18.41 -uroot@sys#fgeduobce -P2883 -prootroot -c -A oceanbase

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15412087/viewspace-3115405/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: OceanBase集群命令
请登录后发表评论 登录
全部评论

注册时间:2010-03-27

  • 博文量
    57
  • 访问量
    199171