日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

OceanBase数据库实践入门——手动搭建OceanBase集群

發(fā)布時間:2023/12/16 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OceanBase数据库实践入门——手动搭建OceanBase集群 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目前有關(guān)OceanBase功能、案例、故事的文章已經(jīng)很多,對OceanBase感興趣的朋友都想安裝一個數(shù)據(jù)庫試試。本文就是分享初學(xué)者如何手動搭建一個OceanBase集群。這也是學(xué)習(xí)理解OceanBase集群原理的第一步。在生產(chǎn)環(huán)境,我們有自動化運(yùn)維平臺OCP可以負(fù)責(zé)生產(chǎn)環(huán)境的OceanBase集群部署和運(yùn)維。同時官網(wǎng)上提供的下載文件里也有python腳本自動化部署OceanBase集群,大家熟悉了安裝原理后就可以自己動手使用自動化腳本安裝。

OceanBase是分布式數(shù)據(jù)庫,以集群的形式存在,是share-nothing架構(gòu)。各個節(jié)點(diǎn)就是普通的x86服務(wù)器,使用本地盤(SSD),不依賴共享存儲,也沒有集群文件系統(tǒng)。各個節(jié)點(diǎn)之間網(wǎng)絡(luò)互通即可,不需要直連線。所以O(shè)ceanBase集群的搭建相比ORACLE RAC集群而言,還是很簡單的。

目前OceanBase對內(nèi)存資源要求不低,建議學(xué)習(xí)環(huán)境每個節(jié)點(diǎn)在32G以上,64G更好。并且OceanBase集群至少包含三個節(jié)點(diǎn),節(jié)點(diǎn)數(shù)以奇數(shù)遞增。如果有三臺機(jī)器更好,但是如果只有一臺機(jī)器,但是內(nèi)存夠大(192G以上),那也可以啟動三個OceanBase進(jìn)程來模擬三個節(jié)點(diǎn)。

OBServer安裝

OceanBase分布式數(shù)據(jù)庫是以集群形式存在,至少三個節(jié)點(diǎn),在每個節(jié)點(diǎn)里存在形式是一個observer進(jìn)程,不同節(jié)點(diǎn)上多個observer進(jìn)程組成一個集群對外提供服務(wù)。

1. 安裝規(guī)劃

本次安裝目標(biāo)會搭建一個2-2-2架構(gòu)的OceanBase集群,理論上這個需要6臺機(jī)器,實際上我只有3臺。因此我會在每個機(jī)器上啟動2個observer進(jìn)程來模擬2個節(jié)點(diǎn)。

機(jī)器節(jié)點(diǎn)規(guī)劃如下。如果你只有一臺大內(nèi)存的機(jī)器,可以在上面起3個或者6個OceanBase進(jìn)程,注意RPC Port和Connect Port不要重復(fù)或者跟其他應(yīng)用端口沖突即可。

由于OceanBase是分布式數(shù)據(jù)庫,應(yīng)用的數(shù)據(jù)可能分布在任一節(jié)點(diǎn)上,所以應(yīng)用需要通過一個反向代理OBProxy來訪問OceanBase集群。OBProxy可以安裝在任意機(jī)器上,包括OceanBase數(shù)據(jù)庫節(jié)點(diǎn)上。這里我安裝在其中一個節(jié)點(diǎn)上。

2. 機(jī)器環(huán)境準(zhǔn)備

OceanBase機(jī)器節(jié)點(diǎn)環(huán)境主要是安裝用戶、內(nèi)核參數(shù)配置、防火墻和SELinux設(shè)置、時間同步設(shè)置、和用戶會話限制等。

  • 安裝用戶

OceanBase默認(rèn)會安裝在用戶admin下??梢赃x擇安裝在其他用戶下(不使用RPM包安裝)。

通常建議admin用戶配置sudo權(quán)限,這樣安裝過程中就不需要root賬戶介入。

useradd admin passwd admin# 賦予sudo權(quán)限 chmod u+w /etc/sudoers vi /etc/sudoers root ALL=(ALL) ALL admin ALL=(ALL) ALL chmod u-w /etc/sudoers
  • 用戶會話設(shè)置

使用命令ulimit可以查看用戶會話默認(rèn)限制。修改下面文件可以默認(rèn)會話限制修改永久生效。

sudo vi /etc/security/limits.conf* soft nofile 655350 * hard nofile 655350 * soft stack 20480 * hard stack 20480 * soft nproc 655360 * hard nproc 655360 * soft core unlimited * hard core unlimited

退出重登錄,檢查設(shè)置生效

ulimit -a
  • 內(nèi)核參數(shù)配置

內(nèi)核參數(shù)主要是網(wǎng)絡(luò)、內(nèi)存相關(guān)的設(shè)置。

sudo vi /etc/sysctl.conffs.aio-max-nr = 65536 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_idle=0vm.swappiness = 0 kernel.core_pattern = /data/1/core-%e-%p-%t vm.min_free_kbytes = 2097152 vm.max_map_count=655360

修改后使用下面命令生效,并檢查

sudo sysctl -p
  • 關(guān)閉防火墻和SELinux

Linux的防火墻和SELinux安全特性可能會導(dǎo)致OceanBase各個節(jié)點(diǎn)之間通信異常,所以都建議關(guān)閉

sudo systemctl disable firewalld sudo systemctl stop firewalld sudo systemctl status firewalldsudo vi /etc/selinux/config SELINUX=disabledsudo setenforce 0
  • 節(jié)點(diǎn)時間同步設(shè)置

OceanBase是個分布式數(shù)據(jù)庫,要求各個節(jié)點(diǎn)的時間保持同步,時間誤差控制在50ms以內(nèi)。節(jié)點(diǎn)時間誤差偏大時,后面初始化OceanBase集群會失敗,或者現(xiàn)有的OceanBase集群會出現(xiàn)異常。

節(jié)點(diǎn)間的時間同步要靠Linux的NTP同步來保證。檢查時間誤差使用clockdiff命令

clockdiff 192.168.1.86 clockdiff 192.168.1.81 clockdiff 192.168.1.241

配置節(jié)點(diǎn)的NTP同步

sudo vi /etc/ntp.conf server 192.168.1.239

停掉ntpd服務(wù),強(qiáng)行同步一次時間,再啟動ntpd服務(wù)。后續(xù)時間同步靠ntpd服務(wù)。

sudo service ntpd stop; sudo ntpdate 192.168.1.239; sudo service ntpd start;ntpq -4p

3. 軟件安裝

  • 軟件目錄

目前oceanbase.alipay.com上提供了OCP試用版下載,里面包含了OCP和OB的很多文件,手動安裝只需要里面兩個RPM文件:obproxy和oceanbase。獲取方法如下:

wget https://gw.alipayobjects.com/os/downloads/ossupload/ocp-release.zip unzip ocp-release.zip tar zxvf ocp-setup.tar.gz cd ocp_yh ls -lrth obproxy-1.3.3-1506155.el7.x86_64.rpm oceanbase-1.4.60-1571952.el7.x86_64.rpm

我們先看一下oceanbase的RPM包內(nèi)容,

rpm2cpio oceanbase-1.4.60-1571952.el7.x86_64.rpm |cpio –divcd home/admin;tar czvf ob1.4.6.tar.gz oceanbase/cd ~/ scp home/admin/ob1.4.6.tar.gz 192.168.1.241:/tmp/; scp home/admin/ob1.4.6.tar.gz 192.168.1.81:/tmp/; scp home/admin/ob1.4.6.tar.gz 192.168.1.86:/tmp/;

可以看到目錄結(jié)構(gòu)如下。其中bin下有可執(zhí)行文件observer,etc目錄用于存放配置和相關(guān)腳本。

如果直接安裝該RPM包,則會安裝在admin用戶的根目錄下。由于我們要在一個機(jī)器上啟動兩個observer進(jìn)程,彼此軟件目錄要分開。所以改用解壓縮RPM包文件然后復(fù)制到兩個目錄,目錄owner是admin。

su - admin mkdir -p node1 node2cd ~/node1; tar zxvf /tmp/ob1.4.6.tar.gz -C .cd ~/node2; tar zxvf /tmp/ob1.4.6.tar.gz -C . cd ~/; tree

  • 存儲目錄

OceanBase的存儲目錄是在軟件目錄下的store文件夾里。存儲目錄會包含數(shù)據(jù)文件目錄和相關(guān)日志文件目錄。出于性能考慮,數(shù)據(jù)文件目錄和相關(guān)日志文件目錄都需要單獨(dú)的文件系統(tǒng)(如果底層是獨(dú)立的盤會更好)。然后把實際目錄映射到軟件目錄下的store目錄下。

su - adminmkdir -p /data/data/1/obdemo/ cd /data/data/1/obdemo/ mkdir -p etc3 sort_dir sstable mkdir -p /data/log/log1/obdemo/ cd /data/log/log1/obdemo/ mkdir -p clog etc2 ilog oob_clog slog mkdir -p /home/admin/node1/oceanbase/store/obdemo cd /home/admin/node1/oceanbase/store/obdemo/ ln -s /data/data/1/obdemo/sort_dir /home/admin/node1/oceanbase/store/obdemo/sort_dir ln -s /data/data/1/obdemo/sstable /home/admin/node1/oceanbase/store/obdemo/sstable ln -s /data/log/log1/obdemo/clog /home/admin/node1/oceanbase/store/obdemo/clog ln -s /data/log/log1/obdemo/ilog /home/admin/node1/oceanbase/store/obdemo/ilog ln -s /data/log/log1/obdemo/oob_clog /home/admin/node1/oceanbase/store/obdemo/oob_clog ln -s /data/log/log1/obdemo/slog /home/admin/node1/oceanbase/store/obdemo/slogtree ~/node1 -uhmkdir -p /data/data/2/obdemo/ cd /data/data/2/obdemo/ mkdir -p etc3 sort_dir sstable mkdir -p /data/log/log2/obdemo/ cd /data/log/log2/obdemo/ mkdir -p clog etc2 ilog oob_clog slog mkdir -p /home/admin/node2/oceanbase/store/obdemo cd /home/admin/node2/oceanbase/store/obdemo/ ln -s /data/data/2/obdemo/sort_dir /home/admin/node2/oceanbase/store/obdemo/sort_dir ln -s /data/data/2/obdemo/sstable /home/admin/node2/oceanbase/store/obdemo/sstable ln -s /data/log/log2/obdemo/clog /home/admin/node2/oceanbase/store/obdemo/clog ln -s /data/log/log2/obdemo/ilog /home/admin/node2/oceanbase/store/obdemo/ilog ln -s /data/log/log2/obdemo/oob_clog /home/admin/node2/oceanbase/store/obdemo/oob_clog ln -s /data/log/log2/obdemo/slog /home/admin/node2/oceanbase/store/obdemo/slog tree /home/admin/node2/oceanbase/store/obdemo/ -uhtree ~/node2 -uh

由此一個完整的OBServer進(jìn)程的相關(guān)目錄如下:

  • 依賴RPM包安裝

OceanBase會對數(shù)據(jù)進(jìn)行壓縮,所以依賴兩個壓縮協(xié)議的RPM文件:snappy.x86_64和lzo.x86_64。

rpm -q snappy.x86_64 lzo.x86_64yum -y install snappy.x86_64 lzo.x86_64

?OceanBase 集群初始化

1. OBServer啟動

  • 啟動參數(shù)

首先分別在每個節(jié)點(diǎn)上啟動第一個observer進(jìn)程,監(jiān)聽端口是2881和2882. 下圖中灰色斜體部分都根據(jù)實際情況調(diào)整。注意根據(jù)實際情況修改zone名稱、IP, 網(wǎng)卡名字等。

192.168.1.241:2881:2882 zone1 注意修改 zone, IP, 網(wǎng)卡名字 cd /home/admin/node1/oceanbase && /home/admin/node1/oceanbase/bin/observer -i eth0 -P 2882 -p 2881 -z zone1 -d /home/admin/node1/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=100G,datafile_size=200G,config_additional_dir=/data/data/1/obdemo/etc3;/data/log/log1/obdemo/etc2"ps -ef|grep observervi log/observer.log

其他兩個節(jié)點(diǎn)的啟動名分別如下:

192.168.1.81:2881:2882 zone2 注意修改 zone, IP, 網(wǎng)卡名字

cd /home/admin/node1/oceanbase && /home/admin/node1/oceanbase/bin/observer -i eth3 -P 2882 -p 2881 -z zone2 -d /home/admin/node1/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=100G,datafile_size=200G,config_additional_dir=/data/data/1/obdemo/etc3;/data/log/log1/obdemo/etc2"ps -ef|grep observervi log/observer.log

192.168.1.86:2881:2882?zone3 注意修改 zone, IP, 網(wǎng)卡名字

cd /home/admin/node1/oceanbase && /home/admin/node1/oceanbase/bin/observer -i eth3 -P 2882 -p 2881 -z zone3 -d /home/admin/node1/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=100G,datafile_size=200G,config_additional_dir=/data/data/1/obdemo/etc3;/data/log/log1/obdemo/etc2"ps -ef|grep observervi log/observer.log

2. 集群初始化

3節(jié)點(diǎn)OBServer都啟動后,這一步集群初始化命令就至關(guān)重要,成敗在此一舉。

首先使用mysql命令登錄任一節(jié)點(diǎn),然后執(zhí)行bootstrap命令。注意命令中不要有空格和空白。

mysql -h192.168.1.241 -uroot -P2881 -palter system bootstrap ZONE 'zone1' SERVER '192.168.1.241:2882', ZONE 'zone2' SERVER '192.168.1.81:2882', ZONE 'zone3' SERVER '192.168.1.86:2882';

大概十幾秒后集群啟動成功。此時重新退出再登錄集群。登錄命令的username格式需要變化一下。登錄成功后修改默認(rèn)sys租戶管理員root@sys。

mysql -h192.168.1.241 -uroot@sys -P2881 -p -c -A oceanbase alter user root identified by 'rootpwd';

退出使用密碼登錄驗證,同時查看集群資源信息。

mysql -h192.168.1.241 -uroot@sys -P2881 -prootpwd -c -A oceanbaseselect zone, svr_ip, inner_port, cpu_total, cpu_assigned, cpu_assigned_percent cpu_ass_percent, round(mem_total/1024/1024/1024) mem_total_gb, round(mem_assigned/1024/1024/1024) mem_ass_gb, round(disk_total/1024/1024/1024) disk_total_gb, unit_num, substr(build_version,1,6) version from __all_virtual_server_stat order by zone, svr_ip, inner_port;

3. 集群擴(kuò)容

目前搭建的還是1-1-1布局的OceanBase集群,需要再添加3個節(jié)點(diǎn),擴(kuò)容到2-2-2布局。這里就直接在3臺機(jī)器上再啟動第二個observer進(jìn)程,監(jiān)聽端口是3881和3882。

  • 節(jié)點(diǎn)準(zhǔn)備

192.168.1.241:3881:3882?zone1 注意修改node zone, ip, port, 網(wǎng)卡名字

cd /home/admin/node2/oceanbase && /home/admin/node2/oceanbase/bin/observer -i eth0 -P 3882 -p 3881 -z zone1 -d /home/admin/node2/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=61440M,datafile_size=100G,config_additional_dir=/data/data/2/obdemo/etc3;/data/log/log2/obdemo/etc2"ps -ef|grep observervi log/observer.log

192.168.1.81:2881:2882?zone2 注意修改node zone, ip, port, 網(wǎng)卡名字

cd /home/admin/node2/oceanbase && /home/admin/node2/oceanbase/bin/observer -i eth3 -P 3882 -p 3881 -z zone3 -d /home/admin/node2/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=61440M,datafile_size=100G,config_additional_dir=/data/data/2/obdemo/etc3;/data/log/log2/obdemo/etc2"ps -ef|grep observervi log/observer.log
  • 集群擴(kuò)容

將新增的3節(jié)點(diǎn)加入到OceanBase集群中。注意zone名稱和IP要對應(yīng)正確。

alter system add server '192.168.1.241:3882' zone 'zone1'; alter system add server '192.168.1.81:3882' zone 'zone2'; alter system add server '192.168.1.86:3882' zone 'zone3';select zone, svr_ip, inner_port, cpu_total, cpu_assigned, cpu_assigned_percent cpu_ass_percent, round(mem_total/1024/1024/1024) mem_total_gb, round(mem_assigned/1024/1024/1024) mem_ass_gb, round(disk_total/1024/1024/1024) disk_total_gb, unit_num, substr(build_version,1,6) version from __all_virtual_server_stat order by zone, svr_ip, inner_port;

4. OBProxy安裝和啟動

OceanBase是分布式數(shù)據(jù)庫,應(yīng)用的數(shù)據(jù)可能分布在任一節(jié)點(diǎn)上并且不固定,所以應(yīng)用不可能知道數(shù)據(jù)在哪個節(jié)點(diǎn)或者記錄所有節(jié)點(diǎn)IP。這時就需要一個反向代理OBProxy在OceanBase集群前面提供SQL路由功能。應(yīng)用通過OBProxy訪問OceanBase集群,OBProxy就是數(shù)據(jù)庫的代表。

  • OBProxy的軟件安裝

一個節(jié)點(diǎn)只需要安裝一個OBproxy,所以可以直接使用RPM包安裝。

su - admin mkdir -p /home/admin/logs/obproxy/log /home/admin/logs/obproxy/minidump sudo rpm -ivh obproxy-1.3.3-1506155.el7.x86_64.rpm
  • OBProxy專用用戶

OBProxy需要跟OceanBase集群保持通信,所以需要在sys租戶里提前創(chuàng)建好賬戶。

CREATE USER proxyro IDENTIFIED BY password '*e9c2bcdc178a99b7b08dd25db58ded2ee5bff050' ; GRANT SELECT ON *.* to proxyro;show grants for proxyro;
  • OBProxy啟動

OBProxy啟動跟OBServer啟動類似

注意其中?-r指定的是rootservice list地址,格式稍微不同,不需要RPC Port信息。-p指定OBProxy的監(jiān)聽端口。

cd /opt/taobao/install/obproxy && bin/obproxy -r "192.168.1.241:2881;192.168.1.81:2881;192.168.1.86:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false" -c obdemops -ef|grep obproxy

?通過OBProxy連接OceanBase集群的命令有兩種格式,區(qū)別在于用戶名的格式。如:[用戶名]@[租戶名]#[集群名]?或?[集群名]:[租戶名]:[用戶名]。

mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbase 或 mysql -h192.168.1.241 -uobdemo:sys:root -P2883 -prootpwd -c -A oceanbase

OceanBase 集群運(yùn)維

OceanBase分布式數(shù)據(jù)庫跟傳統(tǒng)數(shù)據(jù)庫或者其他分布式數(shù)據(jù)庫產(chǎn)品的一個顯著的區(qū)別就是它有資源管理的思想在里面。OceanBase集群把多臺主機(jī)的資源(CPU、內(nèi)存和空間)聚合在一個大的池子里,然后從中分配出指定規(guī)格的資源給一個具體的業(yè)務(wù)使用。這個提供給業(yè)務(wù)使用的就是租戶,也叫實例。

下面簡單演示一個租戶的創(chuàng)建過程。

1. 租戶的創(chuàng)建

  • 定義資源規(guī)格

    mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbasecreate resource unit unit_4c20g512g, max_cpu=4, max_memory='20G', min_memory='10G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size=53687091200; create resource unit unit_8c40g1024g, max_cpu=8, max_memory='40G', min_memory='20G', max_iops=20000, min_iops=5000, max_session_num=1000000, max_disk_size=107374182400; create resource unit unit_16c80g2048g, max_cpu=16, max_memory='80G', min_memory='40G', max_iops=50000, min_iops=10000, max_session_num=1000000, max_disk_size=214748364800;select unit_config_id,name,max_cpu,min_cpu,round(max_memory/1024/1024/1024) max_mem_gb, round(min_memory/1024/1024/1024) min_mem_gb, round(max_disk_size/1024/1024/1024) max_disk_size_gb from __all_unit_config order by unit_config_id;

  • 創(chuàng)建資源池

mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbasecreate resource pool pool_demo unit = 'unit_4c20g512g', unit_num = 1;select resource_pool_id, name,unit_count, unit_config_id, zone_list, tenant_id, gmt_modified from __all_resource_pool order by resource_pool_id ;
  • 創(chuàng)建租戶

mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbasecreate tenant t_obdemo resource_pool_list=('pool_demo');select tenant_id, tenant_name, zone_list, locality ,gmt_modified from __all_tenant;
  • 登錄租戶

## 租戶連接 斷開sys租戶,連接用戶租戶mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A -pshow databases;create database sysbenchtest; grant all privileges on sysbenchtest.* to testuser@'%' identified by 'testpwd';

2. 租戶擴(kuò)容

  • 租戶內(nèi)查看自己的資源能力

mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A -pselect tenant_id,tenant_name, unit_id, zone, svr_ip,svr_port,max_cpu,min_cpu,round(max_memory/1024/1024/1024) max_mem_gb, round(min_memory/1024/1024/1024) min_mem_gb, round(max_disk_size/1024/1024/1024) max_disk_size_gb from gv$unit;

如果業(yè)務(wù)覺得數(shù)據(jù)庫很慢且瓶頸是在資源,則對租戶的資源能力進(jìn)行擴(kuò)容。

  • 租戶擴(kuò)容

租戶擴(kuò)容有兩個思路,一是提升資源單元規(guī)格,二是增加資源單元數(shù)量。

mysql -h192.168.1.241 -uobdemo:sys:root -P2883 -prootpwd -c -A oceanbasealter resource pool pool_demo unit = 'unit_8c40g1024g'; alter resource pool pool_demo unit_num = 2;//縮容同理alter resource pool pool_demo unit_num = 1;

3. 集群參數(shù)配置

至此,OceanBase集群和租戶都搭建好了。為了避免學(xué)習(xí)環(huán)境因為資源緊張導(dǎo)致OceanBase不穩(wěn)定,還需要做一些參數(shù)配置,類似于ORACLE中的參數(shù)變更。

  • 集群參數(shù)修改

配置日志相關(guān)參數(shù)

mysql -h192.168.1.241 -uobdemo:sys:root -P2883 -prootpwd -c -A oceanbase-- observer log自清理設(shè)置 alter system set enable_syslog_recycle=True; alter system set max_syslog_file_count=5;show parameters where name in ('enable_syslog_recycle', 'max_syslog_file_count');

配置OBProxy參數(shù)

-- obproxy設(shè)置: alter proxyconfig set enable_metadb_used=False; alter proxyconfig set enable_proxy_scramble=True; alter proxyconfig set proxy_mem_limited=2G; alter proxyconfig set log_dir_size_threshold=10G;

配置凍結(jié)合并參數(shù)

-- 關(guān)閉輪轉(zhuǎn)合并,設(shè)置轉(zhuǎn)儲次數(shù) alter system set enable_merge_by_turn = false; alter system set minor_freeze_times=3; alter system set minor_warm_up_duration_time='300s';
  • 租戶變量修改

OceanBase還支持對租戶的行為進(jìn)行配置,這些是通過租戶變量的修改實現(xiàn)。類似于MySQL中的變量修改。

mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A -p set global ob_query_timeout=100000000;

OceanBase 集群清理

如果前面在集群初始化中出現(xiàn)報錯,則需要清理所有步驟重新來過。

OceanBase安裝環(huán)境清理

?

pkill observer Sleep 10rpm -qa|grep oceanbase rpm -qa|grep obproxy sudo rpm -esu - admin /bin/rm -rf ~/node1 ~/node2 /bin/rm -rf /data/data/* /data/log/*

轉(zhuǎn)載

手動搭建OceanBase集群

總結(jié)

以上是生活随笔為你收集整理的OceanBase数据库实践入门——手动搭建OceanBase集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。