佰聆实践: Oceanbase 手动部署文档

2024年 5月 7日 40.7k 0

作者简介:张杰,大数据开发工程师

一、部署准备

1、主机版本信息及配置:

Windows 10, 64-bit, 8C,16G

2、VMware版本信息:

VMware® Workstation 12 Pro 12.0.0 build-2985596

3、CentOS-7版本信息及配置:

CentOS-7-x86_64-DVD-2009 

具体如下:

  • Ip:172.20.10.11
  • 网卡:ens33
  • Cpu:4
  • 内存:12G

注:前期虚拟机环境准备已完成,/data 50G、/redo 50G;admin用户已经创建,并且程序安装包放在/home/admin/tmp文件夹下。

下载地址:

wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/oceanbase-ce-3.1.0-3.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/oceanbase-ce-libs-3.1.0-3.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/obproxy-3.1.0-1.el8.x86_64.rpm

二、手动部署过程

1、初始化服务器环境:

初始化服务器主要是配置环境参数,安装时间同步等操作,具体操作步骤如下链接:

https://open.oceanbase.com/articles/8600144

2、执行安装observer程序包(需要先安装obceanbase-libs程序):

sudo rpm -ivh oceanbase-ce-libs-3.1.0-3.el8.x86_64.rpm
sudo rpm -ivh oceanbase-ce-3.1.0-3.el8.x86_64.rpm

佰聆实践: Oceanbase 手动部署文档-1

注意:安装需要切换至admin用户下,在程序目录下执行。并且安装完成后程序会在/home/admin/下创建一个oceanbase文件夹,程序安装在该目录下。

3、observer程序安装后的目录结构如下:

sudo yum install tree
tree oceanbase

佰聆实践: Oceanbase 手动部署文档-2

4、初始化数据目录并查看执行完成后的目录结构:

mkdir -p ~/oceanbase/store/obdemo /data/obdemo/{sstable,etc3}     /redo/obdemo/{clog,ilog,slog,etc2}
for f in {clog,ilog,slog,etc2}; do ln -s /redo/obdemo/$f ~/oceanbase/store/obdemo/$f ; done
for f in {sstable,etc3}; do ln -s /data/obdemo/$f ~/oceanbase/store/obdemo/$f; done 
tree ~/oceanbase/store/ /data/ /redo/

佰聆实践: Oceanbase 手动部署文档-3

5、将环境变量加入.bash_profile文件中:

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase/lib' >> ~/.bash_profile
. ~/.bash_profile

佰聆实践: Oceanbase 手动部署文档-4

6、启动observer进程:

cd ~/oceanbase && bin/observer -i ens33 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '172.20.10.11:2882:2881' -c 20211207 -n obdemo -o "memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=3G,memory_chunk_cache_size=128M,cpu_count=16,net_thread_count=4,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2" -d ~/oceanbase/store/obdemo

佰聆实践: Oceanbase 手动部署文档-5

7、查看observer进程以及对应的端口是否启动:

netstat -ntlp | grep 288
ps -ef | grep observer

佰聆实践: Oceanbase 手动部署文档-6

8、登录数据库并进行集群bootstrap:

mysql -h 172.20.10.11 -u root -P 2881 -p -c -A
set session ob_query_timeout=1000000000; alter system bootstrap ZONE 'zone1' SERVER '172.20.10.11:2882';
alter user root identified by '123456';  --给root添加密码

佰聆实践: Oceanbase 手动部署文档-7

9、创建租户:

create resource unit zhangjie max_cpu=2, min_cpu=1, max_memory='1G', min_memory='1G', max_iops=10000, min_iops=1000, max_session_num=100, max_disk_size='1024m';  --创建resource unit
CREATE resource pool my_pool unit = 'zhangjie', unit_num = 1;  --创建资源池
create tenant my_test_tent resource_pool_list=('my_pool');  --创建租户

佰聆实践: Oceanbase 手动部署文档-8

佰聆实践: Oceanbase 手动部署文档-9

10、连接租户并创建业务数据库和业务表

mysql -h127.1 -uroot@my_test_tent -P2881 oceanbase -A -p
create database zhangjie;
create table student(stu_no varchar(20),stu_name varchar(50),stu_addr varchar(50));

佰聆实践: Oceanbase 手动部署文档-10

三、安装过程问题与处理办法

1、问题一:依赖程序未安装

(1)报错原因:

佰聆实践: Oceanbase 手动部署文档-11

执行observer程序安装过程中报错,发现依赖程序没有安装。

(2)问题分析:

在observer程序安装前,我们需要先安装lib程序,把observer程序的依赖程序先安装完成。

(3)解决办法:

佰聆实践: Oceanbase 手动部署文档-12

Oceanbase-libs安装完成后即可安装observer程序。

2、问题二:启动磁盘空间设置参数不合理

(1)报错原因:

[2021-12-06 20:12:52.191683] ERROR [STORAGE] open (ob_local_file_system.cpp:395) [2613][0][Y0-0000000000000000] [lt=6] [dc=0] data file size is too large, (ret=-4184, free_space=49954631680, data_file_size_=53687091200) BACKTRACE:0x9124b6e 0x9060f71 0x215b206 0x215ae4b 0x215abc3 0x214ed49 0x7c596bc 0x7c587e5 0x7d9aeb9 0x7736601 0x8c85481 0x8c7b603 0x211ac61 0x2ab07cd42555 0x21199ae

查看observer.log日志后发现磁盘空间不够。

(2)问题分析:

cd ~/oceanbase && bin/observer -i ens33 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '172.20.10.11:2882:2881' -c 20211207 -n obdemo -o "memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=3G,memory_chunk_cache_size=128M,cpu_count=16,net_thread_count=4,datafile_size=50G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2" -d ~/oceanbase/store/obdemo

佰聆实践: Oceanbase 手动部署文档-13

因为我启动observer程序的时候设置的是50G,而这里磁盘空间不足,所以启动不了。

(3)解决办法:

可以将启动脚本中的datafile_size设置小一点,或者直接去掉这个参数即可。

结束语

OceanBase社区版入门到实战教程直播正在进行中~

快和小伙伴一起进群交流学习吧~

加入直播群方式一:

钉钉群号3255 4020

加入直播群方式二:

扫码下方二维码加入

佰聆实践: Oceanbase 手动部署文档-14

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论