资讯专栏INFORMATION COLUMN

OceanBase安装部署

IT那活儿 / 1561人阅读
OceanBase安装部署


近些年国产数据库迎来了跨越式发展,大家对国产数据库的关注度也越来越高。笔者近期正好研究阿里oceanbase数据库,整理ob的安装部署操作步骤,分享给大家。


一、准备服务器


服务器类型

数量

功能最低配置

OCP管控服务器

1台

32C,128G,1.5TB 存储

OceanBase计算服务器

3台

32C,128G,1.2TB 存储



二、准备安装包


文件名

说明

t-oceanbase-antman-1.3.6-1919351.alios7.x86_64.rpm

OTA(OceanBase自动化步骤工具)

OBP173_20200603_1923.tar.gz

OBProxy镜像文件,只给OCP用,放在/root/t-oceanbase-antman下

OB2251_x86_20200827_2038.tar

OB数据库镜像文件,只给OCP做元数据用,放在/root/t-oceanbase-antman/下

oceanbase-2.2.73-20201117154111.el7.x86_64.rpm

OceanBase 软件RPM包文件

obproxy-1.7.6.2-1903614.el7.x86_64.rpm

OBProxy 软件RPM包文件

obclient-1.1.8-20200408152115.el7.alios7.x86_64.rpm

OceanBase客户端RPM包

dbcat-1.1.6-SNAPSHOT (1).tar.gz

用于异构数据库表结构转换

2.4.3-1905047.tar.gz

OCP2.4.3版本的docker镜像放在/root/t-oceanbase-antman/下

oceanbase-client-1.1.1.jar

OceanBase Java连接驱动,支持Oracle和MySQL实例



实验架构


三、安装规划


主机

主机名

IP地址

OCP

ocpserver

192.168.3.2

observer1

ob4

192.168.3.3

observer2

ob5

192.168.3.4

observer3

ob6

192.168.3.5

OCP主机磁盘分配方案建议

载点

大小(GB

用途

磁盘格式

/home

100

各组件运行日志盘

建议ext4

/data/log1

200 (内存大小的3倍)

OCP元数据库OB日志盘

建议ext4

/data/1

100(取决于所需存储的数据大小)

OCP元数据库OB数据盘

建议ext4

/docker

200

docker根目录

建议ext4

总计

600+其它系统空间,总数650+G



Observer主机磁盘分配方案建议

载点

大小(GB

用途

磁盘格式

/home

100


建议ext4

/data/log1

500G(无刚性需求,看保留日志要求)

OCP元数据库OB日志盘

建议ext4

/data/1

1TB(取决于存储的数据大小,现阶段在安装过程中有一个检查要求/data/1必须大于100G,并且必须是一个独立的挂载点

OCP元数据库OB数据盘

建议ext4

总计

1.6 TB+其它系统空间,总数 约2TB




四、前期配置


    4.1 所有主机配置主机名及/etc/hosts

hostnamectl set-hostname ocpserver

hostnamectl set-hostname ob4

hostnamectl set-hostname ob5

hostnamectl set-hostname ob6


配置/etc/hosts文件

ocpserver        192.168.3.2

ob4        192.168.3.3

ob5        192.168.3.4

ob6        192.168.3.5

4.2 所有主机关闭防火墙与selinux

1) 关闭防火墙,并开机禁用

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl status firewalld.service

2) 禁用selinux

sed -i s@SELINUX=enforcing@SELINUX=disabled@g /etc/selinux/config

grep "^SELINUX=" /etc/selinux/config

3) 重启

reboot

4) 检查

systemctl status firewalld.service

iptables -L

getenforce

4.3 所有主机配置NTP

vi /etc/ntp.conf


注释文件中的以下4行

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst


在末行添加NTP服务器IP地址,我这里是本地NTP服务器,就使用OCP主机最为时钟源

server 192.168.3.2


重启NTP服务,预计5~10分钟就会同步,可手动拉同步

systemctl restart ntpd.service

ntpq -p


--检查时间误差

clockdiff 192.168.3.3

clockdiff 192.168.3.4

clockdiff 192.168.3.5

4.4 允许root SSH

vi /etc/ssh/sshd_config

注释

#PermitRootLogin no

systemctl restart sshd.service

4.5 关闭numa

判断系统是否开启了numa 功能

grep -i numa /var/log/dmesg
如果出现了: "No NUMA configuration found" ,则证明是关闭了numa 功能,如果是其他内容,则为开启了numa


--关闭numa

vi /etc/default/grub
在 GRUB_CMDLINE_LINUX 参数的末尾增加 :numa=off



[root@ob6 clonescripts]# vi /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed s, release .*$,,g /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg0/lv_root rd.lvm.lv=vg0/lv_swap rhgb quiet numa=off elevator=deadline numa=off"

GRUB_DISABLE_RECOVERY="true"


--重建grub 配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

--重启操作系统

reboot


五、服务器环境配置


    5.1 所有节点部署自动化部署工具OTA

所有节点需要部署OTA

rpm –ivht-oceanbase-antman-1.3.6-1919351.alios7.x86_64.rpm

安装完成后会在/root下创建一个t-oceanbase-antman目录

把安装包移动到/root/t-oceanbase-antman目录下


--只在OCP节点执行

mvOB2251_x86_20200827_2038.tarOBP173_20200603_1923.tar.gz 2.4.3-1905047.tar.gz/root/t-oceanbase-antman/

5.2  为每台主机都添加admin用户

cd/root/t-oceanbase-antman/clonescripts

./clone.sh–h  获取帮助

各个选项后面都有自己的解释

./clone.sh–u 添加admin用户

默认密码是admin, 建议立刻修改

    5.3  修改目录属主属组

chownadmin:admin –R /data/1

chownadmin:admin –R /data/log1

5.4 对每台服务器的操作系统内核进行设置

--OCP主机,注意-r指定角色

cd/root/t-oceanbase-antman/clonescripts

./clone.sh-r ocp –c

其实也可以直接修改该目录下的clone.conf文件里面的角色定义machineRole=ocp选项。

--OB主机

cd/root/t-oceanbase-antman/clonescripts

./clone.sh-r ob -c

5.5 安装依赖包

提前配置好yum或者epel源

--OCP主机,注意-r指定角色

cd/root/t-oceanbase-antman/clonescripts

./clone.sh-r ocp –m

--OB主机

cd/root/t-oceanbase-antman/clonescripts

./clone.sh-r ob –m

5.6 在OCP服务器安装docker

cd/root/t-oceanbase-antman/clonescripts

./clone.sh–i

5.7 部署前环境检查

统一检查脚本

cd/root/t-oceanbase-antman/clonescripts

./clone.sh–t

也可以使用如下检查方法:

shprecheck.sh -m ocp      ocp主机使用

shprecheck.sh –m ob      ob主机使用

关注failed项,处理好后继续检查,直到所有的检查项都通过。


六、部署OCP


OCP有单节点和三节点两种部署模式,这里的环境使用单节点模式。

6.1 生成OCP配置文件

cd/root/t-oceanbase-antman

bashinit_obcluster_conf.sh

填写正确OCP服务器的ip、root和admin用户的密码。单节点的负载均衡模式是 none

其实就是在/root/t-oceanbase-antman目录下生成了一个obcluster.conf文件。

说明:

也可以直接去拷贝obcluster.conf的配置模板文件

cd/root/t-oceanbase-antman

cp/root/t-oceanbase-antman/config/obcluster.conf.template.

mvobcluster.conf.template obcluster.conf


编辑好如下标红需要填写的选项:

## obcluster.conf

##

SINGLE_OCP_MODE=TRUE

################################   根据环境必须修改 / MUST CHANGE ACCORDING ENVIRONMENT   ################################

############  填写机器IP和root/admin密码 / Edit Machine IP and Password Of root/admin  ############

ZONE1_RS_IP=192.168.3.2

OBSERVER01_ROOTPASS=root_password

OBSERVER01_ADMINPASS=admin_password

SSH_PORT=22



############  填写负载均衡配置 / Edit Configuration of Load Balance  ############

# lb_mode: dns/f5/none, default: dns for 3 ocp, none for 1 ocp

lb_mode=none


###### 选择dns模式,请填写DNS基本配置 / Edit Configuration of DNS When Using DNS LB ######

DNS_ZONE_NAME=oceanbase.com

OCP_DNS_VPORT=80

ob_dns_docker_image_package=ob_dns.tar.gz

ob_dns_image_REPO=reg.docker.alibaba-inc.com/antman/ob_dns

ob_dns_image_TAG=OBDNS_x86_20200927_1617


###### 选择f5模式,请填写F5等外部负载均衡配置 / Edit Configuration of F5 When Using External LB ######

OBPROXY_F5_VIP=xxx.xxx.xxx.xxx

OBPROXY_F5_VPORT=3306

OCP_F5_VIP=xxx.xxx.xxx.xxx

OCP_F5_VPORT=80


############  根据服务器CPU、内存设置容器资源编排 / Allocate Container Resources According To Server  ############

OB_docker_cpus=32

OB_docker_memory=128G

OCP_docker_cpus=16

OCP_docker_memory=32G

OBProxy_docker_cpus=8

OBProxy_docker_memory=10G


############  填写OCP各组件容器的版本信息 / Edit Docker Image, Repo And Tag of OCP Components  ############

# OB docker

docker_image_package=OB2251_x86_20200827_2038.tar

OB_image_REPO=reg.docker.alibaba-inc.com/antman/ob-docker

OB_image_TAG=OB2251_x86_20200827_2038

# OCP docker

ocp_docker_image_package=2.4.3-1905047.tar.gz

OCP_image_REPO=reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one

OCP_image_TAG=2.4.3-1905047

# OBPROXY docker

obproxy_docker_image_package=OBP173_20200603_1923.tar.gz

obproxy_image_REPO=reg.docker.alibaba-inc.com/antman/obproxy

obproxy_image_TAG=OBP173_20200603_1923


############  如果准备部署OMS,请填写OMS基本配置 / Edit Configuration Of OMS When Deploying OMS  ############

OMS_IP=xxx.xxx.xxx.xxx

oms_docker_image_package=oms.feature_1.3.2.202005152240.tar.gz

oms_image_REPO=acs-reg.alipay.com/oceanbase/oms-all-in-one

oms_image_TAG=feature_1.3.2


############  如果准备部署ODC,请填写ODC基本配置 / Edit Configuration Of ODC When Deploying ODC  ############

odc_docker_image_package=odc220.tar.gz

ODC_image_REPO=acs-reg.alipay.com/oceanbase/obodc

ODC_image_TAG=2.2.0


########################################################################################################################


################################   ADVANCED SETTINGS / 基本不用修改  ################################

############  OB、OBPROXY、OCP 高级配置,基本不用修改 / OB, OBPROXY, OCP ADVANCED SETTINGS  ############


######  自动配置,无需修改 / AUTO-CONFIGURATION ######

OBPROXY_VIP=xxx.xxx.xxx.xxx

OBPROXY_VPORT=3306

OCP_VIP=xxx.xxx.xxx.xxx

OCP_VPORT=80

######  自动配置,无需修改 / AUTO-CONFIGURATION ######


OBSERVER01_HOSTNAME=OCP_META_SERVER_1

ZONE1_NAME=META_OB_ZONE_1

##there must be more than half zone within same region

ZONE1_REGION=OCP_META_REGION

MYSQL_PORT=2881

RPC_PORT=2882


OCP_VERSION=xxx


# for observer docker

###### TODO 是否去掉 ######

physical_data_dir=/data/1

physical_log_dir=/data/log1

docker_data_dir=/data/1

docker_log_dir=/data/log1

# for install observer rpm and start observer process

obcluster_name=obcluster

cluster_id=100000

datafile_disk_percentage=90


# for backup nfs info

BACKUP_ENABLE=FALSE

physical_backup_dir=/obbackup

docker_backup_dir=/obbackup


# for ocp docker

OCP_PORT=8080

OCP_container_name=ocp

OCP_METADB_USERNAME=root@ocp_meta

OCP_MONITORDB_USERNAME=root@ocp_monitor

OCP_OBPROXYDB_USERNAME=root@obproxy

OCP_METADB_DBNAME=ocp

OCP_MONITOR_DBNAME=ocp_monitor

IDC_ROOM=am171

DEFAULT_REGION=HANGZHOU


# for ob dns & nginx

OCP_OBPROXY_DNS_NAME=ocp-obproxy

OCP_DNS_NAME=ocp

ob_dns_container_name=ob_dns

DNS_MASTER_IP=$ZONE1_RS_IP

DNS_THIRD_IP=$ZONE3_RS_IP

NGINX_MASTER_IP=$ZONE1_RS_IP

NGINX_PORT=85


# obproxy and paramters

OBPROXY_PORT=2883

obproxy_container_name=obproxy

OBPROXY_APP_NAME_ARG=AntObproxy

OBPROXY_CONFIG_SERVER_URL="http://${OCP_VIP}:${OCP_VPORT}/services?Action=GetObProxyConfig&User_ID=admin&UID=alibaba"


############  OMS 高级配置,基本不用修改 / OMS ADVANCED SETTINGS ############

OMS_PORT=8088

OMS_METADB_USER=root

OMS_METADB_TENANT=oms_tenant

OMS_METADB_DBNAME=oms_meta

oms_container_name=oms

oms_docker_cpus=12

oms_docker_memory=24G


############  ODC 高级配置,基本不用修改 / ODC ADVANCED SETTINGS ############

ODC_PORT=8989

ODC_METADB_USER=root

ODC_METADB_TENANT=odc_meta

ODC_METADB_DBNAME=odc

odc_container_name=odc

odc_docker_cpus=4

odc_docker_memory=8G


########################################################################################################################

主要是OCPIP地址,root密码,admin用户的密码,还有OBOCPOBProxy对应的docker文件已经dockerTAG(如果不知道TAG,可以使用dockerload –i xxx.tar)查看

6.2  开始安装OCP

先获取一下帮助

/root/t-oceanbase-antman

./install.sh–h

可以看到OCP 的安装需要8 steps 。

下面执行OCP 安装

#./install.sh -i 1-8     <-------执行1-8 步

如果中间失败,可以根据提示解决问题,然后再次从失败的step再次执行。

(如果要回退或卸载OCP,使用./install.sh -c 1-X )

建议一步一步来

./install.sh-i 1

./install.sh-i 2

./install.sh-i 3 (这一步需要点时间)

..........

./install.sh-i 8

安装过程中要注意日志是否有报错,看到最后如下信息,说明整个过程安装成功

6.3 部署后检查

OCP的访问地址:http:// :8080

admin用户初始化密码root

打开 ocp的web 管理页面后,就有一个集群和 3个租户存在。


七、在OCP上部署OceanBase集群


    7.1  添加主机

首先添加主机,将 3台 oceanbase服务器主机添加进来。

这里可以设置服务器型号,机型—>新增机型(observer)所在机房—>新增机房(hankou)和区域(wuhan)等。

这里是不支持中文的。

注意:

这里的admin的初始密码是在各observer配置文件

/root/t-oceanbase-antman/clonescripts/clone.conf里面的。

将三个observer服务器全部加进来,直到状态变为空闲。可以点击任务按钮,观看进度。

    7.2  创建OceanBase集群

创建 OB集群,按照要求的填写好相应信息。

密码需要设置复杂一点,或者使用随机生成,密码需要记住,后面登录维护会使用到该密码。

OB版本上传完成。

创建集群的时候设置primary zone的优先级,这里设置的是zone1:zone2:zone3

确认好之后点击页面的提交按钮

等待状态变为空闲状态。

新建集群,这里OB的版本是要上传的。

手动填写集群名称,随机生成密码(要记住),和选择OB版本

点击提交

可以看到有个任务进度和查看任务详情,点击查看任务详情

子任务失败了,可以点击重试按钮。

每一步都可以查看其安装日志

集群初始化

等待任务完成之后,查看主机状态,为在线

搭建完成。


八、创建租户


    8.1  定义资源规格

选择集群,租户名称要自定义,新增Unit规格,范围上下给一样的。

管理员密码选择随机生成,租户这里是Oracle租户,字符编码是GBK,点击提交

8.2 选择租户类型

点击提交

租户创建完成。


九、连接连接


    9.1  ODC连接测试

已有数据,可以使用!

9.2  obclient连接测试

租户创建完成。


END


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129970.html

相关文章

  • Docker安装部署分布式数据库 OceanBase的详细过程

    docker部署OceanBase第一步 ob docker镜像下载下载镜像dockerpullobpilot/oceanbase-ce:latest第二步 容器创建新容器创建dockerrun-itd-m10G-p2881:2881-p2883:2883 –nameoceanbase-ceobpilot/oceanbase-ce:latest进入容器[root@jeames~]#dockerex...

    3119555200 评论1 收藏0
  • 2021年10月国产数据库排行榜:达梦反超OceanBase夺榜眼,TDSQL实现“四连增”,数据生

    摘要:年月国产数据库流行度排行榜前名连续三个月的分数下跌让名次下降一位,以分的总分来到榜单第三。国产数据库流行度排行榜与趋势变化本月分数下跌,总分,位于榜单第五。 2021年10月国产数据库流行度排行榜前15名 连续三个月的分数下跌让OceanBase名次下降一位,以424.83分的总分来到榜单第三。本月,OceanBase有几个重要事件,如亮相2021中国国际服务贸易交流会,参与HICOO...

    vpants 评论0 收藏0
  • 性能跃升50%!解密自主研发的金融级分布式关系数据库OceanBase 2.0

    摘要:小蚂蚁说相信大家对蚂蚁金服自主研发的金融级分布式关系数据库的故事不再陌生了。文末有彩蛋在普通硬件上提供极限性能的数据库服务是完全自主研发的金融级分布式关系数据库,从架构上可以通过扩展机器来解决集群服务能力的扩展需求。 小蚂蚁说:相信大家对蚂蚁金服自主研发的金融级分布式关系数据库OceanBase的故事不再陌生了。在刚刚过去的2018年天猫双11中,成交额2135亿再次创造了新纪录,而支...

    UsherChen 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<