暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

OceanBase安装部署

IT那活儿 2021-03-23
6511

近些年国产数据库迎来了跨越式发展,大家对国产数据库的关注度也越来越高。笔者近期正好研究阿里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://<OCP_ip> :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


文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论