白屏: 集群、Zone、Observer 常用運(yùn)維操作
?常用運(yùn)維操作
運(yùn)維場(chǎng)景 | 步驟 |
時(shí)鐘同步 | OceanBase從Partition的多個(gè)副本中選出主對(duì)外提供服務(wù)。為避免Paxos的活鎖問(wèn)題,OceanBase 采用一種基于時(shí)鐘的選舉算法選主 檢查 NTP 狀態(tài):運(yùn)行 ntpstat 檢查 NTP 服務(wù)器狀態(tài)。如果結(jié)果為 synchronised to NTP server,則可以認(rèn)定 NTP 的配置處于同步狀態(tài) 檢查 NTP 的偏移量:多次執(zhí)行 ntpq -p|grep -E “\*|\=|remote“ 命令,確??梢钥吹椒€(wěn)定的 offset。若 offset 值小于 50ms 則為時(shí)鐘同步正常 |
內(nèi)存不足 | OB是準(zhǔn)內(nèi)存數(shù)據(jù)庫(kù),任何寫(xiě)操作都需要消耗內(nèi)存資源,只有合并和轉(zhuǎn)儲(chǔ)操作能夠釋放內(nèi)存資源,所以當(dāng)合并和轉(zhuǎn)儲(chǔ)速度長(zhǎng)時(shí)間低于內(nèi)存消耗速度時(shí),內(nèi)存最終將被耗盡,服務(wù)能力跌零調(diào)大租戶(hù)內(nèi)存?轉(zhuǎn)儲(chǔ) / 合并 |
外存(磁盤(pán))不足 | 運(yùn)行日志盤(pán)滿(mǎn):可清空較老的日志clog盤(pán)滿(mǎn):查詢(xún)表__all_virtual_server_clog_stat,清除較老的日志,再合并數(shù)據(jù)文件滿(mǎn):擴(kuò)容,或?qū)⑤^老的數(shù)據(jù)遷移到歷史庫(kù),再合并 |
黑屏:集群運(yùn)維管理
在集群中啟動(dòng)或停止Zone的操作通常用于允許或禁止Zone內(nèi)的所有物理服務(wù)器對(duì)外提供服務(wù)的需求場(chǎng)景
啟動(dòng)或停止Zone:
alter system start zone zone1;
alter system stop zone zone1;
修改Zone信息
ALTER SYSTEM {ALTER|CHANGE|MODIFY} ZONE [Zone_Name] SET [Zone_Option_List];
Zone_option_list : region, IDC, Zone_type (READONLY, READWRITE)
查看Zone的狀態(tài)
Select * from __all_zone;
黑屏:Observer運(yùn)維管理
查看OBServer的信息:
select * from __all_server;
select * from __all_server_event_history;
管理OBServer狀態(tài): 進(jìn)程啟動(dòng)后,對(duì)OBServer的管理類(lèi)似對(duì)Zone的管理
Start Server操作:
ALTER SYSTEM START SERVER 'ip:port' [,'ip:port'…] [ZONE='zone'];
示例:alter system start server '192.168.100.1:2882';
Start Server操作:
ALTER SYSTEM START SERVER 'ip:port' [,'ip:port'…] [ZONE='zone'];
示例:alter system start server '192.168.100.1:2882';
Stop Server操作:
ALTER SYSTEM STOP SERVER 'ip:port' [,'ip:port'…] [ZONE='zone'];
示例:alter system stop server '192.168.100.1:2882' zone='z1';
黑屏:Observer服務(wù)管理(進(jìn)程)
查看OBServer進(jìn)程:登錄OceanBase Server所在的宿主機(jī)
ps -ef |grep observer
啟動(dòng)OBServer進(jìn)程:登錄 OceanBase Server主機(jī)
cd /home/admin/oceanbase/
./bin/observer [啟動(dòng)參數(shù)]
./bin/observer --help 查看 OBServer 啟動(dòng)參數(shù)的詳細(xì)信息
停止 OBServer 進(jìn)程:
kill -15 `pgrep observer`
kill -9 `pgrep observer`
黑屏:Observer服務(wù)啟動(dòng)恢復(fù)
由于增刪改數(shù)據(jù)在內(nèi)存中,進(jìn)程啟動(dòng)后:
需要與其他副本同步,將clog或者ssd基線(xiàn)數(shù)據(jù)進(jìn)行同步(補(bǔ)齊)
需要將上一次合并之后的內(nèi)存數(shù)據(jù)恢復(fù)出來(lái)(clog回放),才能提供服務(wù)
注意事項(xiàng):
停機(jī)時(shí)間短(分鐘或者小時(shí)級(jí)別),一般只追齊clog
停機(jī)時(shí)間長(zhǎng)(天級(jí)別),clog落后太多,會(huì)直接追齊ssd基線(xiàn)數(shù)據(jù),然后補(bǔ)齊合并版本后的clog
這一過(guò)程結(jié)束后,該OBServer才能對(duì)外提供服務(wù),可以查詢(xún)__all_server 表的start service time字段來(lái)判斷OBServer是否對(duì)外提供服務(wù)
可以在停止OBServer服務(wù)前執(zhí)行轉(zhuǎn)儲(chǔ)(alter system minor freeze;),以加快 OBServer 服務(wù)恢復(fù)過(guò)程
黑屏:服務(wù)停止(停機(jī)運(yùn)維)
機(jī)器需要運(yùn)維操作時(shí),需要停止OceanBase服務(wù)進(jìn)程:
1. 系統(tǒng)租戶(hù)登陸,確定運(yùn)維時(shí)長(zhǎng),如果大于1小時(shí)但小于1天,為了避免服務(wù)恢復(fù)后的補(bǔ)副本操作,需要設(shè)置永久下線(xiàn)時(shí)間 (alter system set server_permanent_offline_time = '86400s’;)
2. 將服務(wù)從當(dāng)前 OBServer 切走,保證停服務(wù)的時(shí)候,對(duì)于業(yè)務(wù)沒(méi)有影響(alter system stop server'ip地址:2882';)內(nèi)含切主動(dòng)作
3.檢查主副本都切走(select count(*) from __all_virtual_table t, __all_virtual_meta_table m where t.table_id=m.table_id and role=1 and m.svr_ip='ip地址' ; ),返回值應(yīng)為0
4. 停止進(jìn)程 kill -15 <observer pid>
黑屏:服務(wù)恢復(fù)(停機(jī)運(yùn)維結(jié)束)
機(jī)器需要運(yùn)維操作結(jié)束后,需要恢復(fù)OceanBase服務(wù)進(jìn)程:
- 機(jī)器上電
- 檢查該機(jī)器ntp同步狀態(tài)和服務(wù)運(yùn)行情況
- admin用戶(hù)啟動(dòng)OBServer進(jìn)程
- 系統(tǒng)租戶(hù)登陸,啟動(dòng)server(alter system start server ‘ip地址:2882’;)
- 檢查_(kāi)_all_server表,查看status為‘a(chǎn)ctive’且‘start_service_time’的值>0,則表示OBServer正常啟動(dòng)并開(kāi)始提供服務(wù)
- 將永久下線(xiàn)時(shí)間改回默認(rèn)值3600s( alter system set server_permanent_offline_time = '3600s’;)
黑屏:故障節(jié)點(diǎn)替換
首先要確保集群中有足夠的冗余資源(OBServer),可以代替故障節(jié)點(diǎn)進(jìn)行工作:
1.系統(tǒng)租戶(hù)登陸,stop server,確保主副本都切走
2. 為目標(biāo)zone添加新的server(alter system add server 'ip地址:2882' ZONE 'zone1'; )
3. 將故障server下線(xiàn)(alter system delete server 'ip地址:2882' ZONE 'zone1'; ),OB 會(huì)自動(dòng)將被下線(xiàn)OBServer的 Unit 遷移至新添加的 OBServer 上文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-401928.html
4. 檢查_(kāi)_all_server表檢查server狀態(tài),舊 OBServer 的信息已經(jīng)消失文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-401928.html
到了這里,關(guān)于OBCP第八章 OB運(yùn)維、監(jiān)控與異常處理-日常運(yùn)維操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!