【云圖說】第235期 DDS讀寫兩步走 帶您領(lǐng)略只讀節(jié)點的風(fēng)采
1044
2025-04-03
使用文檔數(shù)據(jù)庫服務(wù)(Document Database Service,簡稱DDS)實例時,實例連接失敗真是令人頭大。萬事開頭難,跟著小云妹,耐心閱讀本貼,讓你自學(xué)成才,實例連接自此暢通無阻!
順著以下幾個方面進(jìn)行排查,問題就可以迎刃而解~
1. 排除數(shù)據(jù)庫實例異常
可能原因:DDS系統(tǒng)故障,實例狀態(tài)異常,實例或表被鎖定等。
解決方法:嘗試實例重啟功能。
2. 使用正確的客戶端連接方式
建議安裝使用4.0版本以上的MongoDB客戶端連接實例,以集群為例:
連接方式
使用場景
內(nèi)網(wǎng)方式
系統(tǒng)默認(rèn)提供內(nèi)網(wǎng)IP地址。
當(dāng)應(yīng)用部署在ECS上,且該ECS與DDS實例處于同一區(qū)域,同一VPC時,建議單獨使用內(nèi)網(wǎng)IP連接ECS與DDS實例。
公網(wǎng)方式
不能通過內(nèi)網(wǎng)IP地址訪問DDS實例時,使用公網(wǎng)訪問,建議單獨綁定彈性公網(wǎng)IP連接ECS(或公網(wǎng)主機(jī))與DDS實例。
3. 使用正確的SSL方式安全連接
(推薦)SSL方式:實例連接管理頁面的SSL開關(guān)開啟,并且上傳證書到ECS。
普通方式:實例基本信息頁面的SSL開關(guān)關(guān)閉。
4. 排除連接命令錯誤
請獲取正確的連接地址、端口參數(shù)配置、用戶名和密碼、SSL方式下命令錯誤,并重試連接實例。
SSL內(nèi)網(wǎng)連接集群示例:./mongo mongodb://rwuser:****@
? 連接地址
連接信息可在“實例管理”頁的“連接地址”列獲取。
圖1?連接地址
? 數(shù)據(jù)庫端口
目標(biāo)實例的“連接管理”頁面,“內(nèi)網(wǎng)連接”頁簽的“數(shù)據(jù)庫端口”。
? 用戶名和密碼
root管理員帳號及其對應(yīng)的密碼。
? 證書名稱
SSL證書文件名,該文件需放在執(zhí)行該命令的路徑下。
SSL公網(wǎng)連接集群示例:./mongo mongodb://rwuser:****@
? 連接地址
單擊實例名稱,在實例“連接管理”頁面“公網(wǎng)連接”頁簽的公網(wǎng)連接地址處獲取。
? 數(shù)據(jù)庫端口
目標(biāo)實例的“連接管理”頁面,“公網(wǎng)連接”頁簽的“數(shù)據(jù)庫端口”。
? 用戶名和密碼
root管理員帳號及其對應(yīng)的密碼。
? 證書名稱
SSL證書文件名,該文件需放在執(zhí)行該命令的路徑下。
5. 排除網(wǎng)絡(luò)不通
跨網(wǎng)段訪問(配置IP映射)
確保在源端ECS網(wǎng)絡(luò)與實例節(jié)點網(wǎng)絡(luò)連通,如果網(wǎng)絡(luò)不通,可以可以通過建立VPC對等連接進(jìn)行相關(guān)配置。
在客戶端與副本集實例部署在不同網(wǎng)段的情況下需要進(jìn)行跨網(wǎng)段訪問配置,例如訪問副本集的客戶端所在網(wǎng)段為192.168.0.0/16,副本集所在的網(wǎng)段為172.16.0.0/24,則需要添加跨網(wǎng)段配置192.168.0.0/16才能正常訪問。
內(nèi)網(wǎng)訪問
檢查ECS與RDS是否在同一個區(qū)域,VPC。
● 不同區(qū)域的云服務(wù)之間內(nèi)網(wǎng)互不相通,無法訪問實例。請就近選擇靠近您業(yè)務(wù)的區(qū)域,可減少網(wǎng)絡(luò)時延,提高訪問速度。
●?不同VPC下,可以通過建立VPC對等連接實現(xiàn)網(wǎng)絡(luò)互通。
檢查安全組規(guī)則。
在ECS上測試是否可以正常連接到DDS實例地址的端口。
安全組外訪問安全組內(nèi)的DDS實例時,需要為安全組添加相應(yīng)的入方向規(guī)則。
telnet?<實例地址>?{8635}
公網(wǎng)訪問
檢查安全組規(guī)則。
安全組外訪問安全組內(nèi)的DDS實例時,需要為安全組加相應(yīng)的入方向規(guī)則。
檢查網(wǎng)絡(luò)ACL規(guī)則。
a. 進(jìn)入虛擬私有云網(wǎng)絡(luò)ACL列表。
b.?檢查EIP綁定的網(wǎng)卡是否在網(wǎng)絡(luò)ACL關(guān)聯(lián)的子網(wǎng)下。
c.?查看網(wǎng)絡(luò)ACL當(dāng)前是“開啟”狀態(tài)還是“關(guān)閉”狀態(tài)。
d.?若網(wǎng)絡(luò)ACL為“開啟”狀態(tài),需要添加ICMP放通規(guī)則進(jìn)行流量放通。
注意:網(wǎng)絡(luò)ACL的默認(rèn)規(guī)則是丟棄所有出入方向的包,關(guān)閉“網(wǎng)絡(luò)ACL”后,其默認(rèn)規(guī)則仍然生效。
相同區(qū)域主機(jī)進(jìn)行ping測試。
如果在原ECS上沒有ping通DDS實例綁定的EIP,請在相同區(qū)域的另一臺ECS上去ping該EIP,如果可以正常ping通,說明虛擬網(wǎng)絡(luò)正常,請?zhí)峤还温?lián)系華為云客服協(xié)助解決。
6. 排除實例的連接數(shù)滿的情況
查看實例的連接數(shù)是否已達(dá)上限。
云監(jiān)控服務(wù)目前可以監(jiān)控數(shù)據(jù)庫CPU、內(nèi)存、磁盤、連接數(shù)等指標(biāo),并且設(shè)置告警策略,出現(xiàn)告警時可以提前識別風(fēng)險。
7. 連接失敗的常見報錯及處理方法
Mongo Shell連接實例失敗,提示:isMaster
該命令為非SSL方式下連接實例的命令,若實例已開通SSL連接,執(zhí)行此命令會報錯。可用以下方式解決:
。關(guān)閉SSL連接,使用非SSL方式下的命令連接實例。
。下載SSL證書,將證書上傳到ECS目錄下(示例:/root/ca.crt),使用SSL方式下的命令連接實例。
Mongo Shell連接實例失敗,提示No route to host以及connection attempt failed
可能是DDS實例的端口錯誤,也可能是DDS實例與ECS不在同一個區(qū)域活子網(wǎng)。可以通過curl命令確認(rèn)到達(dá)DDS實例的網(wǎng)絡(luò)是否暢通。
Mongo Shell連接實例失敗,提示No route to host以及connection attempt failed
可能是DDS實例的端口錯誤,也可能是DDS實例與ECS不在同一個區(qū)域活子網(wǎng)。可以通過curl命令確認(rèn)到達(dá)DDS實例的網(wǎng)絡(luò)是否暢通。
Mongo Shell連接實例失敗,提示:Authentication failed
可能是連接DDS實例命令中管理員密碼錯誤。請重新輸入正確的管理員密碼。
Mongo Shell連接實例失敗,提示:couldn't connect to server
可能是未設(shè)置正確的安全組策略,導(dǎo)致從安全組外訪問安全組內(nèi)的DDS實例失敗。請設(shè)置正確的安全組策略。
Mongo Shell連接實例失敗,提示:Cannot list multiple servers in URL without 'replicaSet' option
可能是由于MongoDB客戶端版本太低導(dǎo)致的。請使用4.0版本以上的MongoDB客戶端連接實例。
Mongo Shell連接副本集實例失敗,提示:Cannot list multiple servers in URL without 'replicaSet'option
可能是使用Connection String URI連接副本集實例時,URI命令行沒有加雙引號。請將命令行添加雙引號,再連接副本集實例。
Java驅(qū)動連接實例失敗,提示:Timeout while receiving message
可能是由于異常的慢查詢占用實例資源,導(dǎo)致CPU使用率激增甚至到達(dá)峰值,請檢查是否有慢查詢,建議添加索引進(jìn)行優(yōu)化。也可能是應(yīng)用端連接池的配置錯誤導(dǎo)致,如超時時間的設(shè)置等,請檢查應(yīng)用端連接池的配置是否正確。
更多詳細(xì)內(nèi)容,趕緊戳這里,了解詳情吧~~
云小課 數(shù)據(jù)庫 文檔數(shù)據(jù)庫服務(wù) DDS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。