一、源码部署

1. 下载官网安装包

https://www.oceanbase.com/softwarecenter

2. 上传安装包并解压缩

#在/home目录下创建oceanbase文件夹

mkdir oceanbase
cd oceanbase/
tar -xzf oceanbase-all-in-one-4.2.1_bp10_20241122.el7.x86_64.tar.gz

3. 安装

cd oceanbase-all-in-one/bin
./install.sh
source /root/.oceanbase-all-in-one/bin/env.sh

4. 检测OBD是否安装成功 

#执行 which obd 和 which obclient 检测是否安装成功,如果可以找到 obd 和 obclient 则表示安装

which obd
which obclient

5. 自定义部署启动单实例OceanBase的数据库

5.1 编辑oceanbase-jamy.yaml配置文件

cd /home/oceanbase/
vi oceanbase-jamy.yaml

 内容如下:

## Only need to configure when remote login is required
# user:
#   username: your username
#   password: your password if need
#   key_file: your ssh-key file path if need
#   port: your ssh port, default 22
#   timeout: ssh connection timeout (second), default 30
oceanbase-ce:
  servers:
    # Please don't use hostname, only IP can be supported
  - 127.0.0.1
  global:
    # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /root/oceanbase-jamy
    # 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
    # Please set devname as the network adaptor's 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: lo
    # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
    mysql_port: 2888
    # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
    rpc_port: 2889
    # Defines the zone for an observer. The default value is zone1.
    zone: zone1
    # The maximum running memory for an observer. When ignored, autodeploy calculates this value based on the current server available resource.
    memory_limit: 6G
    # The percentage of the maximum available memory to the total memory. This value takes effect only when memory_limit is 0. The default value is 80.
    # memory_limit_percentage: 80
    # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. Autodeploy calculates this value based on the current server available resource.
    system_memory: 3G
    enable_syslog_recycle: true
    enable_syslog_wf: false
    max_syslog_file_count: 4
    production_mode: false
    __min_full_resource_pool_memory: 1073741824
    cpu_count: 2
    datafile_size: 5G
    log_disk_size: 5G
    # The size of a data file. When ignored, autodeploy calculates this value based on the current server available resource.
    # datafile_size: 200G
    # The size of disk space used by the clog files. When ignored, autodeploy calculates this value based on the current server available resource.
    # log_disk_size: 66G
    # System log level. The default value is WDIAG.
    # syslog_level: WDIAG
    # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. The default value for autodeploy mode is false.
    # enable_syslog_wf: false
    # Enable auto system log recycling or not. The default value is false. The default value for autodeploy mode is on.
    # enable_syslog_recycle: true
    # The maximum number of reserved log files before enabling auto recycling. When set to 0, no logs are deleted. The default value for autodeploy mode is 4.
    # max_syslog_file_count: 4
    # Cluster name for OceanBase Database. The default value is obcluster. When you deploy OceanBase Database and obproxy, this value must be the same as the cluster_name for obproxy.
    #appname: obcluster
    # Password for root. The default value is empty.
    #root_password:
    # Password for proxyro. proxyro_password must be the same as observer_sys_password. The default value is empty.
    # proxyro_password:

注意:磁盘大小需要大于memory_limit+system_memory+__min_full_resource_pool_memory+datafile_size+log_disk_size的总和,这里就是要大于20G(6G+3G+1G+5G+5G),还有一点要注意的是memory_limit的大小会决定OceanBase数据库能否成功启动,这里虚拟机linux的内存大小给的是10G,除去系统本身用去的内存,实际可用的的内存就没有10G了。

5.2 部署

语法:obd cluster deploy 集群名 -c  yaml部署文件路径

#我的是

obd cluster deploy oceanbase-jamy -c /home/oceanbase/oceanbase-jamy.yaml

6. 启动数据库

obd cluster start oceanbase-jamy

 启动时报了“open files” must not be less than 20000(current value 1024...)......

提示执行

echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf

 再次启动

obd cluster start oceanbase-jamy

发现还是报错,可使用

ulimit -n

#临时修改,重启服务器就回到初始值

ulimit -n 65535
ulimit -n 

 此时再次启动obd cluster start oceanbase-jamy。如下图

8.连接数据库

obclient -h127.0.0.1 -P2888 -uroot -p'okSlcxsQzWWsYUWdEjTp' -Doceanbase -A

7. 数据库相关操作

7.1 创建数据库

create database test2 default charset utf8mb4;

7.2 创建用户

create user jamy@'%' identified by 'Jamy@2024';

7.3 授权用户

grant all privileges on *.* to jamy@'%';

7.4 修改用户密码

alter user jamy@'%' identified by 'jamy';

8. OceanBase服务相关命令

Usage: obd cluster <command> [options]

Available commands:

使用简单配置文件自动部署集群
autodeploy     Deploy a cluster automatically by using a simple configuration file.

check4ocp      Check Whether OCP Can Take Over Configurations in Use

chst           Change Deployment Configuration Style

部署一个集群
deploy         Deploy a cluster by using the current deploy configuration or a deploy yaml file.

销毁部署的集群
destroy        Destroy a deployed cluster.

显示集群信息
display        Display the information for a cluster.

编辑配置文件
edit-config    Edit the configuration file for a specific deployment.

列表查询所有部署的集群
list           List all the deployments.

重启部署一个已经启动的集群
redeploy       Redeploy a started cluster.

重新安装部署组件
reinstall      Reinstall a deployed component

重载一个已经启动的集群
reload         Reload a started cluster.

重启集群
restart        Restart a started cluster.

启动集群
start          Start a deployed cluster.

关闭停止运行集群
stop           Stop a started cluster.

tenant         Create or drop a tenant.

upgrade        Upgrade a cluster.

二、Docker 部署

1.拉取镜像 

Logo

了解最新的技术洞察和前沿趋势,参与 OceanBase 定期举办的线下活动,与行业开发者互动交流

更多推荐