OceanBase数据库社区版入门到实战.docx

上传人:peixunshi0 文档编号:551845 上传时间:2025-07-30 格式:DOCX 页数:12 大小:71.45KB
下载 相关 举报
OceanBase数据库社区版入门到实战.docx_第1页
第1页 / 共12页
OceanBase数据库社区版入门到实战.docx_第2页
第2页 / 共12页
OceanBase数据库社区版入门到实战.docx_第3页
第3页 / 共12页
OceanBase数据库社区版入门到实战.docx_第4页
第4页 / 共12页
OceanBase数据库社区版入门到实战.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、OceanBase社区版入门到实战一、分布式数据库架构演变历史集中式-分布式数据库中间件(分库分表)-原生分布式集中式-分布式数据库中间件(分库分表)-原生分布式传统集中式架构数据库性能和可靠性依赖特定硬件。系统垂直扩展成本很高(贵)。水平扩展很难。分布式数据库中间件(分库分表)初步解决了扩展性的问题运行于通用服务器,系统成本低带来新的问题跨库查询和务数据库扩容和负载均衡原生分布式数据库原生SQL引擎,支持分布式查询和事务,对业务透明。灵活的部署模式、高可用和负载均衡能力L1、OceanBase发展历史最早是2010年的淘宝的收藏夹1.2、OceanBase核心特性原生的SQL和事务引擎普通商

2、用服务器(x86或arm)无/MV存储Orade/MySQL两种兼容模式糠平滑迁移基于Paxos协议,强一致性同步少数副本故障,数据不丢,服务自动恢复(RPO=O;RTOOceanBaseDocker体验(2.5.(1) DoCker软件安装准备:内存不小于12GB的笔记本Docker下载地址调整可用资源,内存=10GB(2.5.(2) OB镜像dockerpulloceanbase/obce-mini(2.5.(3) 容器dockerrun-p2881:2881-nameobce-mini-d-eOB_HOME_PATH=7root/obce/-eOB_TENANT_NAME=obmysql

3、oceanbase/obce-mini注:启动容器的过程,包括初始化OB,需要等待大约3分钟时间(2.5.(4) 容器dockerexec-itobce-minibash(2.5.(5) OBD部署配置obdclusterlistobdclusterdisplaymini-ce(2.5.(6) 使用OCeanBaSe单副本集群ob-mysqlsysob-mysqlrootob-mysqltest(2.5.(7) 集群资源情况selecta.zone,concat(a.svr-ip,a.svr-port)observer,cpu_total,(cpu_total-cpu_assigned)cpu

4、free,round(mem_tota1/1024/1024/1024)mem_total_gb,round(mem_toal-mem_assigned)/1024/1024/1024)mem_free_gb,round(a.disk_tota1/1024/1024/1024)disk_total_gb,usec_to_time(b.last_offline_time)last_offline_time,usdc_to_time(b.start_service_time)start_service_time,b.status,usec_to_time(b.stop_time)stop_tim

5、e,b.build_versionfrom_all_virtual_server_statajoin_aILserverbon(a.svr_ip=b.svr_ipanda.svr-port=b.svr_port)orderbya.zone,a.svr_ipGzoneobservercputotalcpu_freeCneLtotaLgbmem_free_gbdisk_total_gblastofflinetitnestart_service_timestatusstop_timebuildversiozonel127.0.0.1:28821494351970-01-0108:00:00.0000

6、002021-11-1815:48:39.775482active1970-01-0108:00:00.0000003.1.14-8c615943cbd25a6f7b8bdfd8677al3a21709a05(2.5.(8) 资源规格createresourceunitmy_unit_configmax_cpu=4,min_cpu=4,max-memory=,2G,min-memory=,2G,max-iops=10000,min_iops=1000,max_session_num=1000000,max_disk_size=1024G;(2.5.(9) 资源池createresourcepo

7、olmy_poolunit=my-unit-config,unit_num=l;(2.5.(10) 业务租户createtenantobmysqlresource_pool_list=(my_poor),primary-zone=,RANDOM,comment,mysqltenantinstance,charset=,utf8,setob_tcp_invited_nodes=%,ob-compatibility-mode=,mysql,;(2.5.(11) 租户情况useoceanbase;select*from_all_tenant;三、如何初始化OCeanBaSe服务器1)设置服务器内核参

8、数vimetcsysctl.conf+net.core.somaconn=2048net.core.etdev-max-backlog=10000net.core.rmemjdefalt=16777216net.core.wmem-default=16777216net.core,rmem-max=16777216et.core.wmem-ma=16777216net.ipv4.ip_local_port_range=3565535net.ipv4.ip_forward=0net.ipv4.conf.default.rpilter=1net.ipv4.conf.default.accept_s

9、ource_route=0et.ipv4.tcp_sycookies=0net.ipv4.tcpmem=40968738016777216net.ipv4.tcp_wmem=40966553616777216net.ipv4.tcp_max_syn_backlog=16384net.ipv4.tcpJin_timeout=15net.ipv4.tcp_max_syn_backlog=16384net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_slow_start_after_idle=0vm.swappiness=0vm.

10、min_free_kbytes=2097152vm.max_map_count=655360fs.aio-ma-nr=1048576使以上设置的内核参数生效:sysctl-p2)、设置会话变量vimetcsecu11tylmits.cof+*softofile655360* hardnofile655360*softproc655360* hardproc655360* softcoreunlimited* hardcoreunlimited* softstackunlimited* hardstackunlimited检查以上会话变量:ulimit-a重新登录会话生效。(3.3)、服务器磁盘

11、划分需求: Obd工作目录(可选):.obd observer工作目录:-oceanbase-ce 数据文件目录:/data/或data1 事务日志目录:/redo或ddtalogl方案 磁盘分区工具:fdisk或Pdrted 卷管理(LVM)工具:pvcreatevgcreateIvcreate 文件系统命令:mkfs.ext4devvdbl 手动挂载: mkdir-p/redo&mount-text4devvdbl/redo mkdir-p/data&mount-tet4devvdb2/data,自动挂载:etcfstab devvdbl/redoet4defaults,noatime,n

12、odiratime,odelalloc,barrier=000 devvdb2/dataext4defaults,noatime,nodiratime,nodelalloc,barrier=000(3.4)用户admin设置新建用户 useraddadmin passwdadmin 或useraddadmin&echo,admindminPWD123,Chpasswd sudo权限(可选) 某些诊断命令需要oot权限,所以配置SUde)可以方便一些。 方法一:usermod-Gwheeladmin 方法二:vimetcsdoersadminALL=(ALL)ALL目录权限chown-Radmi

13、n.admin/data/redo(3.(5) 户SSH免密登录 OBD自动化部署的原理是SSH到节点上执行预定义的脚本。 方法一:不打通免密登录,每次使用密码登录。 方法二:使用客户端公钥免密登录 ssh-keyge-trsa ssh-copy-idadminl72.24.50.39(3.6)配置OCeanBaSe机器时钟同步需求理论上节点间时间延时最大IOC)ms,生产环境建议控制在5ms以内。方案 选择同一个或同一组时间服务器进行同步。如果没有时间服务器,就选OBD所在机器或者其中一个OBSERVER机器当时间服务器。 时间同步服务:优选Chrony,备选ntpd。 时间同步检查:cl。

14、Ckdiff(如果报isdown,说明服务器禁止Ping) 时区设置命令:timedatectl备用方案使用ntpdate命令强制同步时间ntpdate-bl00.1.3.1使用Crorlt&11tmpntpdate.log四、如何手动部署OCeanBaSe三副本集群4.1、 OBSerVer部署规划角色机器备注observer172.24.50.37ZOneL监听2881和2882端口observer172.24.50.40zoe2,监听2881和2882端口observer172.24.50.38Zone3,监听2881和2882端口obproy172.24.50.39监听2883和288

15、4端口服务器172.24.50.39Obproxy(可选)服务器172.24.50.37wobserver(16C10G).zone1服务器172.24.50.40observer(16C10G)zone2服务器17224.50.38V:observer(16C10G):zone34.2、 目录规划参数或目录值备注observer部署/启动目录ZhomeZadminZoceanbaseRPM包自动创建ObSerVer数据总目录homeadmioceabasestoreobdemo手动创建ObSerVer数据文件实际目录dataobdemosstable手动创建.通过软舞接映先到数据总目录下.o

16、bserver事务日志实际目录redoobdemoclog,SlogJlog)手动创建.通过软链接映射到数据总目录下.observer参数文件目录homeadmioceabaseetc启动时在启动目录自动创建或自动读取。observer运行日志目录homeadminoceanbaselog启动时在启动目录自动创建。4. 3、分发和部署软件 foripin$IPS;doecho$ip;scplibobclient-2.0.0-2.el7.86,64.rpmobclient-2.0.0-2.el7.x86_64.rpmoceanbase-ce-3.1.1-4.el7.x86_64.rpmocean

17、base-ce-libs-3.1.1-4.el7.x86_64.rpmadmin$ip/;done foripin$IPS;doecho$ip;sshadmin$ipsudorpm-Uvhoceanbase-ce*.rpm*;done4.4、 准备目录 forpin$IPS;doecho$ip;sshadmin$ipmkdir-phomeadminoceanbasestoreobdemodataobdemosstableredoobdemoclog,ilog,slogdone forpin$IPS;doecho$ip;sshadmm$ipIn-sdataobdemosstablehomeadm

18、inoceanbasestoreobdemosstabledone foripin$IPS;doecho$ip;sshadmin$ip,ln-sredoobdemocloghomeadminoceanbasestoreobdemoclogdone foripin$IPS;doecho$ip;sshadmin$ip,ln-sredoobdemoslogZhome/admin/oceanbase/store/obdemo/slog;done foripin$IPS;doecho$ip;sshadmin$ip,l11-sredoobdemoilog/home/admin/oceanbase/stor

19、e/obdemo/ilog;dones foripin$IPS;doecho$ip;sshadmin$ipechoexportLD_LIBRARY_PATH=$LD_LIBRARY_PAT/oceanbase/lib/.bash_profile*;done45、启动OBServer进程SSh172.24.50.37cd-/oceanbase&bnobserver-ietho-p2881-P2882-zzonel-d*oceanbasestoreobdemo-r,172.24.50.37:2882:2881;172.24.50,40:2882:2881;172.24.50.38:2882:288

20、1-C20211117-nObdemo-Omemory,limit=G,cache-washjhreshold=lG,-minJulLresource,pooLmemofy=268435456,system-memofy=3G,memory-chuk-cache,size=12M.cpucount=l6,net_thread_count=4,datafile_size=50G,stacksize=l5361?SSh172.24.50.40cd-/oceanbase&bin/observer-ieth-p2881-P2882-zzone2-doceabasestoreobdemo-r172.24

21、5037:2882:2881:172.24.50.40:2882:2881:172.24.50.38:2882:2881,-C20211117-nobdemo-Omemory_limit=8G(cache_wash_threshold=lG,_min_fuli_resource_pool_memory=268435456,system_memofy=3G,memory_chunk_cache_size=128M,cpucount=!6,netthreadcount=4,datafilesize=50G,stacksize三l536KSSh172.24.50.38cdoceanbase&bin

22、/observer-ietho-p2881-P2882-zzone3-doceanbasestoreobdemo-r,172.24.50.37:2882:2881;172.24.50.40:2882:2881;172.24.50.38:2882:2881,-C20211117-nobdemo-O,memoryJimit=8G,cache-wash-threshold=lG,-minJulLresourcej3Lmemory=268435456,system-memofy=3G,memory-chunk-cache-size=128M,cpu-count=16,et-thread-count=4

23、clatafiLe-size=50G,stack-size=1536K,4. 6、bootstrap集群 Obclient-hl72.24.50.37-uroot-P2881-p-c-A setsessionob_querytimeout=l0000000;altersystembootstrapZONEzonelSERVER*172.24.50.37:2882,ZONEzone2SERVlZONE,zone3SERVER,172.24.50.38:2887; Obclient-hl72.24.50.37-urootsys-P2881-p-c-Aoceanbase showdatabases

24、 alteruserrootidentifiedbyrootPWD123,; Obclient-hl72.24.50.37-urootsys-P2881-prootPWDl23-c-Aoceanbase常见的bootstrap失败原因: 集群里ObSerVer节点之间网络延时超过20OmS(建议在30ms以内)。 集群里ObSerVer节点之间时间同步误差超过100mS(建议在5ms以内)。 主机Ulimit会话限制没有修改或生效。 主机内核参数SySCtLCOnf没有修改或生效。 ObSerVer启动用户不对,建议admin用户。 ObSerVer启动目录不对,必须是oceanbase。具体版本号会有变化。 ObSerVer的可用内存低于8G。 ObSerVe的事务日志目录可用空间低于5%。 ObSerVe启动参数不对(ZOne名称对不上,POtseMceJist地址或格式不对,集群名不统一等)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

宁ICP备18001539号-1