深圳建站公司企业,app开发软件免费,企业网站黄页怎么做,电子商务网页制作是什么一、介绍 OceanBase 数据库是一个原生的分布式关系数据库#xff0c;它是完全由阿里巴巴和蚂蚁集团自主研发 的项目。OceanBase 数据库构建在通用服务器集群上#xff0c;基于 Paxos 协议和分布式架构#xff0c;提供 金融级高可用和线性伸缩能力#xff0c;不依赖特定硬件…一、介绍 OceanBase 数据库是一个原生的分布式关系数据库它是完全由阿里巴巴和蚂蚁集团自主研发 的项目。OceanBase 数据库构建在通用服务器集群上基于 Paxos 协议和分布式架构提供 金融级高可用和线性伸缩能力不依赖特定硬件架构具备高可用、线性扩展、高性能、低成 本等核心技术优势。 OceanBase 数据库具有如下特点
高可用 单服务器故障能够自愈支持跨城多机房容灾数据零丢失可满足金融行业 6 级容灾标 准RPO0RTO在线性扩展 透明扩展自动负载均衡应用透明的水平扩展集群规模可超过 1500 节点数据量可达 PB 级单表记录万亿行。MySQL/Oracle 高度兼容 社区版兼容 MySQL 协议、语法和使用习惯MySQL 客户端工具可以直接访问 OceanBase 数据库。 企业版兼容 MySQL、Oracle 协议需要使用 OceanBase 自己的驱动才可以访问 OceanB ase 数据库的 Oracle 租户。 说明MySQL 从 5.6 开始兼容Oracle 从 Oracle 11g 开始兼容 高性能 准内存级数据变更操作、独创的编码压缩技术结合线性水平扩展TPC-C 测试达到 7.07 亿 tpmC。低成本 使用 PC 服务器和低端 SSD高存储压缩率降低存储成本高性能降低计算成本多租户 充分利用系统资源。多租户 原生支持多租户架构同一套数据库集群可以为多个独立业务提供服务租户间数据隔离 降低部署和运维成本。
二、安装部署
2.1 安装前准备 OceanBase 数据库是一个分布式集群产品在生产环境中至少要求三台机器学习环境可以部 署单机版本。OceanBase 数据库的部署跟传统数据库的部署相比存在很多共同的地方对操 作系统硬件、软件设置、文件系统等会有一些最佳实践建议这些是 OceanBase 数据库发挥 高性能稳定运行的基础。社区版提供了一些工具保证 OceanBase 数据库可以实现一定程度的自动化。
软件包下载地址如下
官网下载https://open.oceanbase.com/softwareCenter/communityGitHub 下载https://github.com/oceanbase/oceanbase/releases/阿里云 Yum 源https://mirrors.aliyun.com/oceanbase/OceanBase.repo 2.2 安装部署资源要求 OceanBase 数据库运行时会对主机资源有一些要求主要是 CPU、内存和磁盘空间。安装 OceanBase 数据库的目的不同对资源的要求也不同。 注意这里性能测试环境和生产环境的资源要求只是建议。在社区版后续版本会进一步降低对内 存的要求。
OceanBase 数据库对操作系统也有一些要求目前仅支持以下系统 Redhat / CentOS 7.x/8.x SUSE / OpenSUSE 15.x Anlios 7.x/8.xDebian 9.xUbuntu 20.x当然实践其他操作系统机遇以上内核高版本也支持。
2.3 安装过程
2.3.1、时间同步
sudo yum install ntp ntpdate -y
sudo crontab -e
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
2.3.2 设置limit
sudo vim /etc/security/limits.conf
root soft nofile 655350
root hard nofile 655350
* soft nofile 655350
* hard nofile 655350
* soft stack 20480
* hard stack 20480
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
2.3.3 设置sysctl系统参数
sudo vim /etc/sysctl.conf
## 网络优化
net.core.somaxconn 2048
net.core.netdev_max_backlog 10000
net.core.rmem_default 16777216
net.core.wmem_default 16777216
net.core.rmem_max 16777216
net.core.wmem_max 16777216net.ipv4.ip_local_port_range 3500 65535
net.ipv4.ip_forward 0
net.ipv4.conf.default.rp_filter 1
net.ipv4.conf.default.accept_source_route 0
net.ipv4.tcp_syncookies 0
net.ipv4.tcp_rmem 4096 87380 16777216
net.ipv4.tcp_wmem 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog 16384
net.ipv4.tcp_fin_timeout 15
net.ipv4.tcp_max_syn_backlog 16384
net.ipv4.tcp_tw_reuse 1
net.ipv4.tcp_tw_recycle 1
net.ipv4.tcp_slow_start_after_idle0vm.swappiness 0
vm.min_free_kbytes 2097152# 此处为 OceanBase 数据库的 data 目录
kernel.core_pattern /ob_data/core-%e-%p-%t
2.3.4 关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i s#SELINUXenforcing#SELINUXdisabled#g /etc/selinux/config
2.3.5 创建普通用户并设置密码
sudo useradd admin
sudo passwd admin
admin
2.3.6 硬盘规划
#ods环境配置本地环境200G
/ob_data 1.2T #数据盘
/ob_redo 200G #存放 redo 日志
/home/admin/oceanbase 500G #存放 OceanBase 数据库的二进制文件和运行日志
2.4 部署模式
2.4.1 规划
其中一台作为ODP
采用三副本部署模式使用三台机器部署OceantBase集群
2.4.2 使用yum安装OBD
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
sudo yum install -y ob-deploy
2.4.3 安装oblibs
sudo yum install -y oceanbase-ce-libs
2.4.4 安装obclient
sudo yum install -y libobclient
sudo yum install -y obclient
2.4.5 创建目录并赋权
sudo mkdir -p /home/admin/oceanbase /ob_redo /ob_data /ob/obproxy
sudo chown -R admin.admin /home/admin/oceanbase /ob/obproxy /ob_data /ob_redo
2.4.6 修改初始化集群文件#在主节点上执行
obd cluster autodeploy obtest -c distributed-with-obproxy-example.yaml
下载配置文件并修改
https://github.com/oceanbase/obdeploy/blob/master/example/autodeploy/distributed-with-obproxy-example.yaml
user:username: adminpassword: admin
oceanbase-ce:servers:- name: server1ip: 172.16.79.57- name: server2ip: 172.16.79.58- name: server3ip: 172.16.79.59global:home_path: /home/admin/oceanbase data_dir: /ob_dataredo_dir: /ob_redoappname: obtestroot_password: cl8q!a#jrkYgMBHuproxyro_password: proxy123server1:zone: zone1server2:zone: zone2server3:zone: zone3
obproxy:depends:- oceanbase-ceservers:- 172.16.79.136global:home_path: /ob/obproxycluster_name: obtestobproxy_sys_password: proxysys123observer_sys_password: proxy123
2.4.7 初始化集群并查看
obd cluster autodeploy obtest -c distributed-with-obproxy-example.yaml
obd cluster list
2.4.8 配置优化
obclient -h 172.16.79.136 -u rootsys -P 2883 -p密码
2.4.9 查询及参数优化
#查询系统保留内存用于程序运行
SHOW PARAMETERS LIKE system_memory\G;
#查询ob内存分配限制百分比
SHOW PARAMETERS LIKE memstore_limit_percentage\G;
#查询ob预设可用最大内存
SHOW PARAMETERS LIKE memory_limit\G;
#查看资源分配情况切换到oceanbase
SELECT * FROM gv$unit\G;
#并行查询相关参数
SHOW VARIABLES LIKE %paral%;
#查看压缩情况
SHOW PARAMETERS LIKE default_compress\G;
#sys租户下查看资源单元配置,切换到oceanbase
SELECT * FROM __all_unit_config\G;
优化 #设置系统保留内存ALTER system set system_memory4G;#修改observer可以使用最大内存ALTER system set memory_limit28G;#sys租户下修改资源单元配置cpu/内存/硬盘等根据自己实际资源调整ALTER RESOURCE UNIT sys_unit_config MAX_CPU 1, MAX_MEMORY 2G, MAX_IOPS 10000,max_disk_size 20G, MAX_SESSION_NUM 9223372036854775807, MIN_CPU1, MIN_MEMORY2G, MIN_IOPS5000;#并行查询参数优化SET GLOBAL parallel_max_servers 32;SET GLOBAL ob_max_parallel_degree 128;SET GLOBAL parallel_servers_target540;#修改内存分配限制百分比ALTER SYSTEM SET memstore_limit_percentage 80;#慢查询执行时间阈值ALTER SYSTEM SET trace_log_slow_query_watermark 1s;#cpu并发调度调整ALTER SYSTEM SET cpu_quota_concurrency 4;ALTER SYSTEM SET resource_soft_limit 100;#转储合并相关优化ALTER SYSTEM SET minor_freeze_times 50;ALTER SYSTEM SET freeze_trigger_percentage 60;ALTER SYSTEM SET data_copy_concurrency 100;ALTER SYSTEM SET server_data_copy_out_concurrency 10;ALTER SYSTEM SET server_data_copy_in_concurrency 10;ALTER SYSTEM SET minor_warm_up_duration_time 0s;ALTER SYSTEM SET memory_chunk_cache_size 0;ALTER SYSTEM SET max_kept_major_version_number 1;#事务相关优化ALTER SYSTEM SET clog_sync_time_warn_threshold 1s;ALTER SYSTEM SET enable_one_phase_commitFalse;#分区迁移速度控制ALTER SYSTEM SET data_copy_concurrency40;ALTER SYSTEM SET server_data_copy_out_concurrency20;ALTER SYSTEM SET server_data_copy_in_concurrency20;#缓存刷新ALTER SYSTEM SET autoinc_cache_refresh_interval 43200s;#系统相关observer异常临时下线时间ALTER SYSTEM SET server_permanent_offline_time 7200s;#关闭回收站以及truncate回滚参数SET GLOBAL recyclebin 0;SET GLOBAL ob_enable_truncate_flashback 0;#设置ob查询超时时间:默认10sset global ob_query_timeout 20000000;#请求锁等待时间为-1与ob查询超时时间相同SHOW VARIABLES LIKE ob_trx_lock_timeout;#事物超时时间默认100s保持默认SHOW VARIABLES LIKE ob_trx_timeout;#事物空闲超时时间默认120s保持默认SHOW VARIABLES LIKE ob_trx_idle_timeout;#设置查询时间阈值ALTER SYSTEM SET large_query_threshold 10s;#设置弱一致性读版本号的刷新周期表示不再刷新弱一致性读版本号不提供单调读功能ALTER SYSTEM SET weak_read_version_refresh_interval 0;#设置系统日志所能占用的磁盘 IO 带宽上限超过丢掉ALTER SYSTEM SET syslog_io_bandwidth_limit 10m;#设置系统日志级别ALTER SYSTEM SET syslog_level PERF;#用于设置每日合并工作的线程数ALTER SYSTEM SET merge_thread_count 64;#用于设置数据坏块自检周期为0表示不检测ALTER SYSTEM SET builtin_db_data_verify_cycle 0;#设置合并时候数据列统计信息的采样率ALTER SYSTEM SET merge_stat_sampling_ratio 1;#设置合并时宏块的校验级别0表示不校验ALTER SYSTEM SET micro_block_merge_verify_level 0;#设置触发全局冻结的租户使用内存阈值ALTER SYSTEM SET freeze_trigger_percentage 50;#设置小合并时的并发线程数期望提高转储的速度ALTER SYSTEM SET minor_merge_concurrency 32;#增大 mini_merge 的线程数期望提高 mini_merge 的速度默认值为 3。调大为 8 以后发现会导致压测中 CPU 使用率有时飙升至 90%对性能有影响。ALTER SYSTEM SET _mini_merge_concurrency 8; #OceanBase 占系统总内存的比例提高 OceanBase 可用的内存量ALTER SYSTEM SET memory_limit_percentage 90; #obproxy优化#判断是否开启 PL 路由SHOW PROXYCONFIG LIKE enable_partition_table_route;ALTER PROXYCONFIG SET enable_partition_table_route False;#判断是否开启 partition table 路由SHOW PROXYCONFIG LIKE enable_pl_route;ALTER PROXYCONFIG SET enable_pl_route False;#OBProxy 所能接受的客户端最大连接数SHOW PROXYCONFIG LIKE client_max_connections;ALTER PROXYCONFIG SET client_max_connections 20000;
2.4.10 创建使用租户 创建资源单元unit1
CREATE RESOURCE UNIT unit1 MAX_CPU 8, MAX_MEMORY 12G, MAX_IOPS 10000,max_disk_size 80G, MAX_SESSION_NUM 9223372036854775807, MIN_CPU6, MIN_MEMORY12G, MIN_IOPS5000; #查看资源单元 SELECT * FROM oceanbase.__all_unit_config;
创建资源池
CREATE RESOURCE POOL pool1 UNITunit1,UNIT_NUM1,ZONE_LIST(zone1,zone2,zone3);
#查询资源池
select * from __all_resource_pool\G;
创建租户
CREATE TENANT IF NOT EXISTS test charsetutf8mb4, replica_num3, zone_list(zone1,zone2,zone3), primary_zonezone1;zone2,zone3, resource_pool_list(pool1);
#查询租户
SELECT * FROM oceanbase.gv$tenant;
授权
ALTER TENANT test SET VARIABLES ob_tcp_invited_nodes%;
在test租户下使用root登录初始化的oceanbase的root密码为空
obclient -h 172.16.79.136 -u roottest -P 2883 -p
#修改密码
ALTER USER root IDENTIFIED BY 密码;
在test租户下创建用户并授权
create user if not exists test% identified by test;
grant all on *.* to test%;
使用test用户登录
obclient -h 192.168.10.10 -P2883 -utesttest -ptest 到此位置基本完成基础安装部署后续需要安装部署ocp监控 进行集群查看及监控后续继续分享。
若重要处处都是办法若不重要比比皆是理由。