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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Greenplum failed segment的恢复方法

發(fā)布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Greenplum failed segment的恢复方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自:li0924的博客《Greenplum failed segment的恢復(fù)方法》

【前記】

Segment檢測及故障切換機制
GP Master首先會檢測Primary狀態(tài),如果Primary不可連通,那么將會檢測Mirror狀態(tài),Primary/Mirror狀態(tài)總共有4種:
1. Primary活著,Mirror活著。GP Master探測Primary成功之后直接返回,進行下一個Segment檢測;
2. Primary活著,Mirror掛了。GP Master探測Primary成功之后,通過Primary返回的狀態(tài)得知Mirror掛掉了(Mirror掛掉之后,Primary將會探測到,將自己變成ChangeTracking模式),這時候更新Master元信息,進行下一個Segment檢測;
3. Primary掛了,Mirror活著。GP Master探測Primary失敗之后探測Mirror,發(fā)現(xiàn)Mirror是活著,這時候更新Master上面的元信息,同時使Mirror接管Primary(故障切換),進行下一個Segment檢測;
4. Primary掛了,Mirror掛了。GP Master探測Primary失敗之后探測Mirror,Mirror也是掛了,直到重試最大值,結(jié)束這個Segment的探測,也不更新Master元信息了,進行下一個Segment檢測。
上面的2-4需要進行g(shù)precoverseg進行segment恢復(fù)。

對失敗的segment節(jié)點;啟動時會直接跳過,忽略。

[gpadmin@mdw ~]$ gpstart 20160718:18:43:27:002949 gpstart:mdw:gpadmin-[INFO]:-Starting gpstart with args: 20160718:18:43:27:002949 gpstart:mdw:gpadmin-[INFO]:-Gathering information and validating the environment... 20160718:18:43:27:002949 gpstart:mdw:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 4.3.8.1 build 1' 20160718:18:43:28:002949 gpstart:mdw:gpadmin-[INFO]:-Greenplum Catalog Version: '201310150' 20160718:18:43:28:002949 gpstart:mdw:gpadmin-[INFO]:-Starting Master instance in admin mode 20160718:18:43:30:002949 gpstart:mdw:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information 20160718:18:43:30:002949 gpstart:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:43:30:002949 gpstart:mdw:gpadmin-[INFO]:-Setting new master era 20160718:18:43:30:002949 gpstart:mdw:gpadmin-[INFO]:-Master Started... 20160718:18:43:30:002949 gpstart:mdw:gpadmin-[INFO]:-Shutting down master 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[WARNING]:-Skipping startup of segment marked down in configuration: on sdw2 directory /home/gpadmin/gpdata/gpdatam/gpseg0 <<<<< 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:--------------------------- 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Master instance parameters 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:--------------------------- 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Database = template1 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Master Port = 1921 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Master directory = /home/gpadmin/gpdata/pgmaster/gpseg-1 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Timeout = 600 seconds 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Master standby = Off 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:--------------------------------------- 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:-Segment instances that will be started 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:--------------------------------------- 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:- Host Datadir Port Role 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:- sdw1 /home/gpadmin/gpdata/gpdatap/gpseg0 40000 Primary 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:- sdw2 /home/gpadmin/gpdata/gpdatap/gpseg1 40000 Primary 20160718:18:43:32:002949 gpstart:mdw:gpadmin-[INFO]:- sdw1 /home/gpadmin/gpdata/gpdatam/gpseg1 50000 MirrorContinue with Greenplum instance startup Yy|Nn (default=N): > y 20160718:18:43:34:002949 gpstart:mdw:gpadmin-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait... ........... 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[INFO]:-Process results... 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[INFO]:----------------------------------------------------- 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[INFO]:- Successful segment starts = 3 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[INFO]:- Failed segment starts = 0 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[WARNING]:-Skipped segment starts (segments are marked down in configuration) = 1 <<<<<<<< 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[INFO]:----------------------------------------------------- 20160718:18:43:45:002949 gpstart:mdw:gpadmin-[INFO]:- 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[INFO]:-Successfully started 3 of 3 segment instances, skipped 1 other segments 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[INFO]:----------------------------------------------------- 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[WARNING]:-**************************************************************************** 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[WARNING]:-There are 1 segment(s) marked down in the database 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[WARNING]:-To recover from this current state, review usage of the gprecoverseg 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[WARNING]:-management utility which will recover failed segment instance databases. 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[WARNING]:-**************************************************************************** 20160718:18:43:46:002949 gpstart:mdw:gpadmin-[INFO]:-Starting Master instance mdw directory /home/gpadmin/gpdata/pgmaster/gpseg-1 20160718:18:43:48:002949 gpstart:mdw:gpadmin-[INFO]:-Command pg_ctl reports Master mdw instance active 20160718:18:43:49:002949 gpstart:mdw:gpadmin-[INFO]:-No standby master configured. skipping... 20160718:18:43:49:002949 gpstart:mdw:gpadmin-[WARNING]:-Number of segments not attempted to start: 1 20160718:18:43:49:002949 gpstart:mdw:gpadmin-[INFO]:-Check status of database with gpstate utility

查看數(shù)據(jù)庫的mirror的節(jié)點啟動狀態(tài)

[gpadmin@mdw ~]$ gpstate -m 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-Starting gpstate with args: -m 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.8.1 build 1' 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.8.1 build 1) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Apr 20 2016 08:08:56' 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-------------------------------------------------------------- 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:--Current GPDB mirror list and status 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:--Type = Spread 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-------------------------------------------------------------- 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:- Mirror Datadir Port Status Data Status 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[WARNING]:-sdw2 /home/gpadmin/gpdata/gpdatam/gpseg0 50000 Failed <<<<<<<< 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:- sdw1 /home/gpadmin/gpdata/gpdatam/gpseg1 50000 Passive Synchronized 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[INFO]:-------------------------------------------------------------- 20160718:18:45:48:003084 gpstate:mdw:gpadmin-[WARNING]:-1 segment(s) configured as mirror(s) have failed

可直觀看出“[WARNING]:-sdw2 /home/gpadmin/gpdata/gpdatam/gpseg0 50000 Failed ”

如何恢復(fù)這個mirror segment呢?當(dāng)然primary segment也是這樣恢復(fù)的

  • 首先產(chǎn)生一個恢復(fù)的配置文件 : gprecoverseg -o ./recov
  • [gpadmin@mdw ~]$ gprecoverseg -o ./recov 20160718:18:47:04:003134 gprecoverseg:mdw:gpadmin-[INFO]:-Starting gprecoverseg with args: -o ./recov 20160718:18:47:04:003134 gprecoverseg:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.8.1 build 1' 20160718:18:47:04:003134 gprecoverseg:mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.8.1 build 1) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Apr 20 2016 08:08:56' 20160718:18:47:04:003134 gprecoverseg:mdw:gpadmin-[INFO]:-Checking if segments are ready 20160718:18:47:04:003134 gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:47:06:003134 gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:47:07:003134 gprecoverseg:mdw:gpadmin-[INFO]:-Configuration file output to ./recov successfully.
  • 查看恢復(fù)的配置文件;可以知道哪些segment需要恢復(fù)
  • [gpadmin@mdw ~]$ cat recov filespaceOrder=fastdisk sdw2:50000:/home/gpadmin/gpdata/gpdatam/gpseg0
  • 使用這個配置文件進行恢復(fù) : gprecoverseg -i ./recov
  • [gpadmin@mdw ~]$ gprecoverseg -i ./recov 20160718:18:47:33:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Starting gprecoverseg with args: -i ./recov 20160718:18:47:34:003187 gprecoverseg:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.8.1 build 1' 20160718:18:47:34:003187 gprecoverseg:mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.8.1 build 1) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Apr 20 2016 08:08:56' 20160718:18:47:34:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Checking if segments are ready 20160718:18:47:34:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Greenplum instance recovery parameters 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:---------------------------------------------------------- 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Recovery from configuration -i option supplied 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:---------------------------------------------------------- 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Recovery 1 of 1 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:---------------------------------------------------------- 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Synchronization mode = Incremental 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Failed instance host = sdw2 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Failed instance address = sdw2 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Failed instance directory = /home/gpadmin/gpdata/gpdatam/gpseg0 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Failed instance port = 50000 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Failed instance replication port = 51000 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Failed instance fastdisk directory = /data/gpdata/seg1/pg_mir_cdr/gpseg0 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Source instance host = sdw1 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Source instance address = sdw1 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Source instance directory = /home/gpadmin/gpdata/gpdatap/gpseg0 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Source instance port = 40000 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Source instance replication port = 41000 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Source instance fastdisk directory = /data/gpdata/seg1/pg_pri_cdr/gpseg0 20160718:18:47:35:003187 gprecoverseg:mdw:gpadmin-[INFO]:- Recovery Target = in-place 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Process results... 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Done updating primaries 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-****************************************************************** 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Updating segments for resynchronization is completed. 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-For segments updated successfully, resynchronization will continue in the background. 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:- 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-Use gpstate -s to check the resynchronization progress. 20160718:18:48:06:003187 gprecoverseg:mdw:gpadmin-[INFO]:-******************************************************************
  • 查看恢復(fù)狀態(tài)
  • [gpadmin@mdw ~]$ gpstate -m 20160718:18:48:39:003353 gpstate:mdw:gpadmin-[INFO]:-Starting gpstate with args: -m 20160718:18:48:39:003353 gpstate:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.8.1 build 1' 20160718:18:48:39:003353 gpstate:mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.8.1 build 1) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Apr 20 2016 08:08:56' 20160718:18:48:39:003353 gpstate:mdw:gpadmin-[INFO]:-Obtaining Segment details from master... 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:-------------------------------------------------------------- 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:--Current GPDB mirror list and status 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:--Type = Spread 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:-------------------------------------------------------------- 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:- Mirror Datadir Port Status Data Status 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:- sdw2 /home/gpadmin/gpdata/gpdatam/gpseg0 50000 Passive Resynchronizing 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:- sdw1 /home/gpadmin/gpdata/gpdatam/gpseg1 50000 Passive Synchronized 20160718:18:48:40:003353 gpstate:mdw:gpadmin-[INFO]:--------------------------------------------------------------
  • 到上一步,數(shù)據(jù)庫的主備就恢復(fù)了,但是還有一步,是可選的。
    你要不要把primary , mirror角色對調(diào)一下,因為現(xiàn)在mirror和primary和優(yōu)先角色是相反的。
    如果要對調(diào),使用以下命令,會停庫來處理。
  • gprecoverseg -r

    用于修復(fù)Segment的是gprecoverseg。使用方式比較簡單,有限的幾個主要參數(shù)如下:
    -i :主要參數(shù),用于指定一個配置文件,該配置文件描述了需要修復(fù)的Segment和修復(fù)后的目的位置。
    -F :可選項,指定后,gprecoverseg會將”-i”中指定的或標(biāo)記”d”的實例刪除,并從活著的Mirror復(fù)制一個完整一份到目標(biāo)位置。
    -r :當(dāng)FTS發(fā)現(xiàn)有Primary宕機并進行主備切換,在gprecoverseg修復(fù)后,擔(dān)當(dāng)Primary的Mirror角色并不會立即切換回來,就會導(dǎo)致部分主機上活躍的Segment過多從而引起性能瓶頸。因此需要恢復(fù)Segment原先的角色,稱為re-balance。

    總結(jié)

    以上是生活随笔為你收集整理的Greenplum failed segment的恢复方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 久久久久无码精品国产 | 青青草综合网 | 久草视频在线资源站 | 黄色骚视频 | 可以免费观看av | 欧美精品成人一区二区三区四区 | 欧美一区二区免费在线观看 | 日韩一区二区免费视频 | 无码黑人精品一区二区 | 亚洲一区在线电影 | 在线欧美日韩国产 | 麻豆久久久 | 五月天丁香激情 | 中文字幕av网站 | 日韩av在线免费播放 | 久久久18禁一区二区三区精品 | 国产精品久久久久久久成人午夜 | 中国18videosex极品 | 国产一级二级在线 | 在线网站黄 | 欧美性猛交xxxx免费看久久久 | 色播视频在线 | 精品国产精品网麻豆系列 | 秘密基地免费观看完整版中文 | 精品亚洲一区二区三区四区五区高 | 毛片视频播放 | 日韩av无码一区二区三区不卡 | 九九热这里有精品 | av黄色网址 | 成人免费观看视频网站 | 少妇综合 | 91综合视频 | 中国黄色网址 | 精品在线视频免费观看 | 欧美两根一起进3p做受视频 | 日韩精品一卡 | 大桥未久av在线播放 | 免费看黄色片的网站 | 国产欧美又粗又猛又爽 | 女女互慰吃奶互揉调教捆绑 | 91在线在线 | 玖玖成人 | 插插插操操操 | 欧美日韩一区二区三 | 天堂av日韩| 日韩一区二区三区免费在线观看 | 久久97精品 | v99av| 国产女主播在线 | 日本女人黄色片 | 女人又爽又黄免费女仆 | 超碰97最新| 超碰2020| 成人深夜在线 | 欧美黄色一级网站 | 91九色丨porny丨肉丝 | 欧美青草视频 | 欧美激情一区二区三区免费观看 | 国产精品入口66mio男同 | 国偷自拍 | 国产小视频免费在线观看 | av老司机在线观看 | 免费观看的毛片 | 亚洲精品成人电影 | 久久久久久伦理 | 精品人妻少妇一区二区三区 | 国产精品偷乱一区二区三区 | 欧美一线天 | 国产88av| 大牛影视剧免费播放在线 | 毛片的网站 | 国产一区视频网站 | 国产精品免费一区二区三区都可以 | 国产一级免费观看 | 欧美videossex另类 | 日韩视频h| 亚洲综合激情小说 | 在线看片日韩 | 国产激情av一区二区三区 | 欧美色精品在线 | 日韩在线精品视频一区二区涩爱 | 精品人妻天天爽夜夜爽视频 | 你懂的av在线 | 欧美激情videos | 亚洲aav| 深夜激情影院 | 三级黄色免费片 | 国产淫语对白 | 欧美日韩国产精品综合 | 日本免费一区二区在线 | 日本国产精品视频 | 99亚洲视频 | 亚洲国产午夜 | 福利影院在线 | 国产成人av影院 | 青青艹在线观看 | 黄色小网站在线观看 | 久久精品99久久久久久 | 少妇aaaaa|