近些年国产数据库迎来了跨越式发展,大家对国产数据库的关注度也越来越高。笔者近期正好研究阿里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 |
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 --关闭numa vi /etc/default/grub [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 |
所有节点需要部署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, 建议立刻修改
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有单节点和三节点两种部署模式,这里的环境使用单节点模式。
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 ######################################################################################################################## |
主要是OCP的IP地址,root密码,admin用户的密码,还有OB、OCP、OBProxy对应的docker文件已经docker的TAG(如果不知道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://
admin用户初始化密码root
打开 ocp的web 管理页面后,就有一个集群和 3个租户存在。
首先添加主机,将 3台 oceanbase服务器主机添加进来。
这里可以设置服务器型号,机型—>新增机型(observer)所在机房—>新增机房(hankou)和区域(wuhan)等。
这里是不支持中文的。
注意:
这里的admin的初始密码是在各observer配置文件
/root/t-oceanbase-antman/clonescripts/clone.conf里面的。
将三个observer服务器全部加进来,直到状态变为空闲。可以点击任务按钮,观看进度。
创建 OB集群,按照要求的填写好相应信息。
密码需要设置复杂一点,或者使用随机生成,密码需要记住,后面登录维护会使用到该密码。
OB版本上传完成。
创建集群的时候设置primary zone的优先级,这里设置的是zone1:zone2:zone3
确认好之后点击页面的提交按钮
等待状态变为空闲状态。
新建集群,这里OB的版本是要上传的。
手动填写集群名称,随机生成密码(要记住),和选择OB版本
点击提交
可以看到有个任务进度和查看任务详情,点击查看任务详情
子任务失败了,可以点击重试按钮。
每一步都可以查看其安装日志
集群初始化
等待任务完成之后,查看主机状态,为在线
搭建完成。
选择集群,租户名称要自定义,新增Unit规格,范围上下给一样的。
管理员密码选择随机生成,租户这里是Oracle租户,字符编码是GBK,点击提交
8.2 选择租户类型
点击提交
租户创建完成。
已有数据,可以使用!
9.2 obclient连接测试
租户创建完成。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129970.html
docker部署OceanBase第一步 ob docker镜像下载下载镜像dockerpullobpilot/oceanbase-ce:latest第二步 容器创建新容器创建dockerrun-itd-m10G-p2881:2881-p2883:2883 –nameoceanbase-ceobpilot/oceanbase-ce:latest进入容器[root@jeames~]#dockerex...
摘要:年月国产数据库流行度排行榜前名连续三个月的分数下跌让名次下降一位,以分的总分来到榜单第三。国产数据库流行度排行榜与趋势变化本月分数下跌,总分,位于榜单第五。 2021年10月国产数据库流行度排行榜前15名 连续三个月的分数下跌让OceanBase名次下降一位,以424.83分的总分来到榜单第三。本月,OceanBase有几个重要事件,如亮相2021中国国际服务贸易交流会,参与HICOO...
摘要:小蚂蚁说相信大家对蚂蚁金服自主研发的金融级分布式关系数据库的故事不再陌生了。文末有彩蛋在普通硬件上提供极限性能的数据库服务是完全自主研发的金融级分布式关系数据库,从架构上可以通过扩展机器来解决集群服务能力的扩展需求。 小蚂蚁说:相信大家对蚂蚁金服自主研发的金融级分布式关系数据库OceanBase的故事不再陌生了。在刚刚过去的2018年天猫双11中,成交额2135亿再次创造了新纪录,而支...
阅读 1246·2023-01-11 13:20
阅读 1554·2023-01-11 13:20
阅读 1007·2023-01-11 13:20
阅读 1673·2023-01-11 13:20
阅读 3967·2023-01-11 13:20
阅读 2509·2023-01-11 13:20
阅读 1304·2023-01-11 13:20
阅读 3472·2023-01-11 13:20