OceanBase1.4安装教程

OceanBase1.4安装体验

  • 要求
  • 安装
    • 准备OceanBase1.4安装包
    • 部署
    • 使用

要求

磁盘大于50G、内存8G以上、CPU一般即可;
不用担心,虽然OceanBase是分布式数据库,拥有一台机器依然可以体验;
操作系统强烈建议使用CentOS 7 64位(因为这个操作系统有所有的库依赖,编译内核版本)

安装

准备OceanBase1.4安装包

下载地址:https://oceanbase.alipay.com/download/resource.
下载的是一个自动化部署包,实际上这个自动部署包并不好用,而且错误信息不明确,我们这里使用脚本部署,解压安装包:
OceanBase1.4安装教程_第1张图片
我们需要的第一个文件是deploy.py,这个是自动化部署脚本,可以协助我们部署集群或单机服务,然后继续解压ocp-setup.tar.gz:
OceanBase1.4安装教程_第2张图片
在ocp_yh文件夹内找到obproxy-1.3.3-1506155.el7.x86_64.rpm、oceanbase-1.4.60-1571952.el7.x86_64.rpm这两个RPM包,解压他们,如果windows下发现不能解压,复制到centos下使用归档管理器打开,提取observer和obproxy(linux下可执行文件):
OceanBase1.4安装教程_第3张图片
OceanBase1.4安装教程_第4张图片
现在我们拿到了三个文件deploy.py、observer、obproxy,随便创建一个文件夹打包deploy,然后复制到CentOS 7里面,开始部署。

部署

进入打包的文件夹

在这里插入图片描述
执行脚本:

//准备基本的文件夹
[admin@localhost test]$ ./deploy.py prepare_local_dir

OceanBase1.4安装教程_第5张图片

//生成配置文件
[admin@localhost test]$ ./deploy.py gen_config

OceanBase1.4安装教程_第6张图片
我们来看看配置文件:

clog_dir = '/data/log1'  # 定义redolog的dir
data_dir = '/data/1'     # 定义sstable的dir
log_dir = ''             # 定义observer.log的dir
log_level='INFO' 		 # 定义observer缺省的日志级别
port_gen = itertools.count(8040) # 通过这个配置项指定observer使用的端口号起始点, deploy.py分配端口的时候会调用port_gen.next()

# 指定observer启动的配置项,enable_merge_by_turn
obs_cfg=dict(datafile_size='10G', # 指定sstable占用空间大小
             enable_merge_by_turn='False',  # 指定是否要启用轮转合并, 
             memory_limit='64G', # 指定observer的内存限制
             )

# 三个zone,每个zone一个observer和一个obproxy
ip_list = dict(ip1='10.244.13.174', ip2='10.244.1.233', ip3='10.244.0.216')
ob1 = OBI(sub('rs@$ip1@z1 proxy@$ip1@z1 rs@$ip2@z2 proxy@$ip2@z2 rs@$ip3@z3 proxy$ip3@z3', ip_list))

# 在本机上启动一个observer
obx = OBI('local_ip')

# 在本机启动一个observer和一个obproxy
oby = OBI(sub('$ip1@z1 proxy@$ip1@z1', dict(ip1='local_ip')))

我们更改的部分有:

  1. memory_limit设置成你现在剩余的内存大小(free -g可以查看当前剩余的内存),这个设置过大或过小都会导致启动失败;
  2. 如果你只想要启动单机版 oceanbase尝试服务,类似于mysql,修改obx的配置,将local_ip修改成系统IP,obx = OBI(‘192.168.230.133’),注意这里不能使用127.0.0.1,否则启动时可能会报找不到mac地址错误,原因未知。
  3. 如果你想体验集群服务,配置ob1,将ip修改成集群的ip,增加或减少集群数量可直接在ip_list中修改,ip_list = dict(ip1=‘10.244.13.174’, ip2=‘10.244.1.233’, ip3=‘10.244.0.216’, ip4=‘ip’,ip5=‘ip’…)
    准备好配置文件后,将observer、oxproxy复制到bin文件夹,添加可执行权限:
[admin@localhost test]$ mv observer bin
[admin@localhost test]$ mv obproxy bin
[admin@localhost test]$ chmod u+x bin/observer
[admin@localhost test]$ chmod u+x bin/obproxy

ssh免密码登录设置:
在集群所有机器(包括本机)上执行:

[admin@localhost test]$ ssh-keygen -t rsa

然后在部署机器上,即现在所处机器上执行,需要复制集群所有机器的id,包括本机,每个host执行一次,如果是集群最好所有机器的用户名都用同样的:

[admin@localhost test]$ ssh-copy-id user@host

现在开始真正部署了:

[admin@localhost test]$ ./deploy.py obx.reboot

如果是单机版使用obx的配置,如果是集群部署使用ob1.reboot;
reboot表示初始化服务会清空所有数据,慎用;
stop表示停止服务;
start表示启动服务(前提是服务被stop的,新部署的需要用reboot初始化);
不出意外的话OceanBase就部署成功啦,OceanBase默认的工作目录在~/obx.obs0。接下来就是使用OceanBase,现在还不能像mysql那样直接run起来。

使用

OceanBase是以租户为单位划分资源的,所以在使用OceanBase前,需要创建自己的租户。
root登录OceanBase,reboot后需要等待一定的时间,等服务完全启动起来:

[admin@localhost test]$ ./deploy.py obx.sql

先创建资源单元,再创建资源池,在创建租户,具体管理语句见OceanBase官方文档:https://oceanbase.alipay.com/docs/oceanbase/OceanBase%E7%AE%A1%E7%90%86%E5%91%98%E6%89%8B%E5%86%8C/%E7%AC%AC%E4%B8%89%E9%83%A8%E5%88%86%20OceanBase%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E5%92%8C%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92/esrd9d
创建好租户后就可以登录OceanBase了:

[admin@localhost test]$ mysql -h 192.168.230.133 -P 8049 -uroot@tenant -c

OceanBase监听的端口查看:

[admin@localhost test]$ ps -ef | grep observer

在这里插入图片描述
OceanBase1.4深度兼容mysql,现在我们可以像使用mysql一样使用OceanBase了,其他新增语法可以去官网查看文档。
后面官网会推出2.0试用版,可以用同样的方式部署,2.0版本深度兼容mysql、oracle,性能更加强悍,敬请关注。

你可能感兴趣的:(数据库)