作者简介:张杰,大数据开发工程师
一、部署准备
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
注意:安装需要切换至admin用户下,在程序目录下执行。并且安装完成后程序会在/home/admin/下创建一个oceanbase文件夹,程序安装在该目录下。
3、observer程序安装后的目录结构如下:
sudo yum install tree tree oceanbase
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/
5、将环境变量加入.bash_profile文件中:
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase/lib' >> ~/.bash_profile . ~/.bash_profile
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
7、查看observer进程以及对应的端口是否启动:
netstat -ntlp | grep 288 ps -ef | grep observer
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添加密码
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'); --创建租户
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));
三、安装过程问题与处理办法
1、问题一:依赖程序未安装
(1)报错原因:
执行observer程序安装过程中报错,发现依赖程序没有安装。
(2)问题分析:
在observer程序安装前,我们需要先安装lib程序,把observer程序的依赖程序先安装完成。
(3)解决办法:
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
因为我启动observer程序的时候设置的是50G,而这里磁盘空间不足,所以启动不了。
(3)解决办法:
可以将启动脚本中的datafile_size设置小一点,或者直接去掉这个参数即可。
结束语
OceanBase社区版入门到实战教程直播正在进行中~
快和小伙伴一起进群交流学习吧~
加入直播群方式一:
钉钉群号3255 4020
加入直播群方式二:
扫码下方二维码加入