一、源码部署
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.拉取镜像