https://edu.aliyun.com/lab/courses/f872323bb73a49d4b14ab7b801b3ad86/detail?purchaseRecordId=d288f91e20774539a77e41a89880711d&spm=5176.12901015.0.i12901015.5d39525c5k990T
但是要89块大洋,而且只有三个小时的实验时间,虽然时间足够,但是对于第一次部署的童鞋只要遇到一些坎,就可能在三小时内实验不完,不过部署手册的资料是一直可以学习的,可以熟悉之后再去动手。(ps:阿里云实验环境的环境比较理想,所以安装遇到的问题很少,后续我会为大家再奉献一篇本地部署的时候踩过的坑)
检查主机环境划分存储->服务器环境配置->ocp部署->通过ocp部署OB集群->创建租户
1. 主机环境:
存储划分:
OCP 服务器 :
200G, 给/docker 使用
OBserver服务器存储划分,操作与OCP类似:
在每台服务器的/root目录下创建 t-oceanbase-antman 目录,并将相应的安装包上传到该目录。
1)在 OCP 与 OceanBase 的服务器上都安装自动化部署工具,例如:
2)为每台服务器都添加 admin 用户 :
#cd /root/t-oceanbase-antman/clonescripts
#./clone.sh -u
默认密码是 admin, 建议立刻修改。
3)对每台服务器的操作系统内核进行设置 :
#cd /root/t-oceanbase-antman/clonescripts
OCP 服务器:# ./clone.sh -r ocp -c
OceanBase 服务器:# ./clone.sh -r ob -c
4)安装依赖包
OCP 服务器:# ./clone.sh -r ocp -m
OceanBase 服务器:# ./clone.sh -r ob -m
5)配置 NTP 时钟同步,保证所有节点的时钟偏差在 100ms 以内
restrict 172.18.0.0 mask 255.255.0.0 nomodify
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server 172.18.6.38
fudge 172.18.6.38 stratum 10
6)在 ocp服务器上安装 docker
7)部署前环境检查
OCP 服务器:sh precheck.sh -m ocp
OceanBase 服务器:sh precheck.sh -m ob
OCP 有单节点和三节点两种部署模式,在实验环境中,我们使用单节点模式。
# cd /root/t-oceanbase-antman
#bash init_obcluster_conf.sh
填写正确 OCP 服务器的 ip、root 和 admin 用户的密码。单节点的负载均衡模式是 none。(云主机可以填写私网 ip, OCP 和 Observer 之间全部使用私网 IP 通信)
下面配置 OCP 服务器上各个 Docker 的资源( OCP Docker, OB Docker, OBProxy Docker) , 默认可能是以下配置:
因为我们的云主机总容量是 16C64G,650GB 磁盘, 所以采用以下配置:
OB_docker_cpus=16 , OB_docker_memory=60G
OCP_docker_cpus=8 , OCP_docker_memory=16G
OBProxy_docker_cpus=4 , OBProxy_docker_memory=2G
详情见前面 章节的描述。
另外是修改安装软件的版本信息,根据你获得的实际软件的情况修改: (以下样例针对的是前面章节中列出的安装文件对应的信息)
image_package填写你获得安装软件的名称,例如:
ob-docker2273_202101.tar.gz
obproxy-docker173_20200603.tar.gz
ocp-all-in-one251-20210223.tar.gz
REPO 和 TAG 可以填写如下的信息:
reg.docker.alibaba-inc.com/antman/ob-docker:OB2273_x86_20201214
reg.docker.alibaba-inc.com/antman/obproxy:OBP173_20200603_1923
reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one:2.5.1-1922379
完成配置后进行保存。 OCP的配置文件在/root/t-oceanbase-antman 目录下, 2.X 版本的名称是 obcluster.conf,也可以手工进行修改。
另外我们的云主机是用的最小资源(16C64G,650GB),所以我们需要额外的多做一些配置。(生产环境标准配置不需要做以下这些)
我们需要将sys(500租户)默认的 50G 内存,改为 15G, 修改 install_OB_docker.sh
76行和100行(请注意要修改的是两行):
-e OPTSTR="cpu_count=$OB_docker_cpus,memory_limit=$OB_docker_memory,__min_full_resource_pool_memory=1073741824,_ob_enable_prepared_statement=false,memory_limit_percentage=90"
改成
-e OPTSTR="cpu_count=$OB_docker_cpus,memory_limit=$OB_docker_memory,__min_full_resource_pool_memory=1073741824,_ob_enable_prepared_statement=false,memory_limit_percentage=90,system_memory=15G"
另外新版本的 install.sh 文件会检查 system_memory, 我们需要注释掉检查的这一行:
修改install.sh , 注释掉1330行
# system_memory is 50G default
#[ "${OB_docker_memory%G}" -lt 64 ] && { antman_log "docker ob default system_memory is 50G, docker memory limit(${OB_docker_memory}) too small." "ERROR"; exit 1; }
可以先查看一下 OCP 部署的命令帮助
# cd /root/t-oceanbase-antman
# ./install.sh -h
可以看到 OCP 的安装需要 8 steps 。下面执行 OCP 安装
看到以上信息,表示 OCP 部署已完成。如果中间失败,可以根据提示解决问题,然后再次从失败的step 再次执行。(如果要回退或卸载 OCP,使用 ./install.sh -c 1-X )
OCP 的访问地址: http://
默认用户名 admin, 密码 root。
打开 ocp的 web 管理页面后, 就有一个集群和 3 个租户存在。(见前面章节的描述)
下面可以通过 OCP 完成“添加主机“,“创建 OB 集群”,”部署 OBProxy”三个步骤。
首先添加主机,将 3 台 oceanbase 服务器主机添加进来。这里可以设置服务器型号,所在机房和区域等。
这里要填写机型、机房/区域等信息, 如果在生产环境, 应该根据是实际情况填写。例如生产环境有 100多台服务器, 有浪潮、联想、阿里、华为不同品牌,那就创建不同的机型。生产环境是三地五中心 (北京:西单、上地, 杭州:西湖区、余杭区, 深圳:前海) , 就按照实际情况创建机房(idc)/区域(region)等。
在实验练习环境, 你可以根据自己的想象构建一个虚拟业务环境,用以模拟生产的环境。例如 3 台服务器,1 台型号是阿里的,部署在杭州西湖区, 2 台型号是浪潮,部署在杭州余杭区。
选择凭据:这里其实就是写主机的登录用户信息,大家选择创建一个凭据,然后选择 root 用户,输入你的几台 OB 服务器 root 用户的密码。
2. 创建 OB 集群
创建 OB 集群,按照要求的填写好相应信息。
创建集群的时候设置 primary zone 的优先级,这里的设定是给 sys 租户的。新版本只允许primaryzone有 1 台服务器。
在实验环境(4C16G)的上面部署 OB 集群,需要限制资源的使用, 打开下面的“高级设置”,并且填写以下的参数(生产环境一般不需要):
memory_limit = 15G;
system_memory = 5G;
cpu_count=32;
__min_full_resource_pool_memory=2147483648;
cache_wash_threshold=2GB;
net_thread_count=8;
workers_per_cpu_quota=4;
stack_size = 512K;
提交后可以到任务中查看部署进展,如果在某一步遇到问题,可以点击“查看日志”.
小 Tips:
如果 OB 部署出现一些基础问题,例如说的磁盘挂载点没有配置好。可以采用以下的步骤:
在生产环境,OBProxy 可能需要独立部署。在实验练习环境,我们将 oceanbase 和 OBProxy 部署在一起。可以在 3 台 OB 上都部署一个 OBProxy.
3. OCP 页面添加 OBProxy 集群
访问地址参数:在生产环境, 多台 obporxy 前可以有一个 F5均衡, F5均衡对外提供一个 ip地址,这里的访问地址参数就是F5 对外的 IP。我们实验环境没有 F5,那就选择一个 obproxy 的地址填写即可。
实验环境中需要打开一个 OCP 的开关
因为规格过小的租户产生了很多不必要的问题,所以 OB 与 OCP 上都对租户的规格做了限制。
OB 的 2.X 版本之后,默认只能创建 5G 以上的租户。在我们实验环境创建集群的时候,我们将这个限制参数调整成了 2G,也就是可以创建 2G 的租户。(见前面章节部署 OB 集群的参数设置)
最新的OCP2.5版本在创建租户时进行自定义 Unit规格,默认将小于 5G 内存的 unit 屏蔽了,因为生产环境中创建过小的资源用户产生了很多不必要的问题。在 OCP 2.5.1之后增加了一个开关,打开该开关后在 OCP 上小于 5G 的 unit 才会显示出来。(该操作仅限于演示或实验环境)
首先需要获得 OCP 所使用的metadb数据库的登录密码:
登录到 OCP 的 metadb 数据库, 并打开开关 :
update config_properties set value=true where `key` like %small% ; <----将这个开关打开 。
云主机(4C16G)的请注意以下事项:
2)sys管理租户(ID1 租户)占用内存2.5G, 可以再降低到 2G,再释放0.5, 这样的话可以再多创建一个2G 的普通租户。(可选)
白屏中看管理 sys 租户的资源,可以在白屏直接修改
也可以在黑屏中修改:
在白屏界面上可以直接创建租户,也可以使用命令在黑屏创建租户, 黑屏创建租户样例:
创建 unit(5C2G):
创建 resource pool:
创建租户:
创建Oracle 租户:
在黑屏创建好租户后,在 OCP 白屏也会看得到,不过同步需要一点点时间。
OceanBase 的基础安装和配置基本就完成了,下面大家可以开始其它的实验练习了。
补充:云主机实验环境,在 sys 租户下执行这两个命令。因为我们实验环境留给log的空间比较小,避免被 log日志塞满。以下两条命令是启动日志文件循环,并且只保留 10 个日志文件。
alter system set enable_syslog_recycle=true;
OceanBase的安装部署还是很简单的,尤其是现在官方提供了比较详细的资料,但是实验环境比较理想,实际环境中安装还是会遇到各种问题,大家有机会可以自己搭建下对于理解OB的架构有些帮助,下次给大家分享我遇到的一些小问题及解决方法。实验环境一般也不会部署oms迁移工具,后续我会给大家介绍下通过dbcat+datax从oracle迁移数据到OB。
努力晨昏事,躬行味始长 --诸位共勉。
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129864.html
摘要:技术成就划时代的分布式数据库通过核心业务的不断上线,蚂蚁金服帮助渡过了自研基础软件产品最艰难的应用关。年天猫双十一,支付宝创造了万笔每秒支付峰值的业界新纪录,这对于数据库来说,意味着每秒需要同时运行万条。 技术成就:划时代的分布式数据库 通过核心业务的不断上线,蚂蚁金服帮助OceanBase渡过了自研基础软件产品最艰难的应用关。OceanBase不只是被研发出来的,更是被用出来的,是在...
摘要:小蚂蚁说相信大家对蚂蚁金服自主研发的金融级分布式关系数据库的故事不再陌生了。文末有彩蛋在普通硬件上提供极限性能的数据库服务是完全自主研发的金融级分布式关系数据库,从架构上可以通过扩展机器来解决集群服务能力的扩展需求。 小蚂蚁说:相信大家对蚂蚁金服自主研发的金融级分布式关系数据库OceanBase的故事不再陌生了。在刚刚过去的2018年天猫双11中,成交额2135亿再次创造了新纪录,而支...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3597·2023-01-11 13:20