不卡av在线播放_欧美成人AU在线看_亚洲一区二区 视频_五月天亚洲无码伊人

Article / 文章中心

阿里云Redis數(shù)據(jù)庫因域名解析失敗導致連接問題的解決方法

發(fā)布時間:2019-07-10 點擊數(shù):3525

在使用Redis連接地址連接實例時,如果因DNS服務出現(xiàn)問題導致ECS解析連接地址失敗,ECS與Redis之間的網(wǎng)絡連接將會中斷。您可以根據(jù)本文的建議嘗試解決此類問題。

背景信息

ECS與Redis之間出現(xiàn)連接問題的原因多種多樣,DNS解析失敗是其中較為常見的一種。當出現(xiàn)UnknownHostException或者failed to connect: r-***************.redis.rds.aliyuncs.com could not be resolved之類提示未知主機名或連接地址無法正常解析的報錯時,請檢查域名的正確性和DNS服務器設置,并刷新DNS緩存。

說明 本文以Linux環(huán)境為例進行說明。

操作步驟

  1. 檢查業(yè)務代碼中設置的Redis連接地址是否正確。
    說明 您可以在Redis管理控制臺 實例信息頁查看Redis的內網(wǎng)連接地址,如下圖。


  2. 使用# cat /etc/resolv.conf在ECS中查看/etc/resolv.conf文件中是否正確設置了DNS服務器地址。
    查看DNS服務器地址
    說明
    • 如未設置DNS服務器請使用# vi /etc/resolv.conf命令編輯/etc/resolv.conf,按照上圖中的格式添加DNS服務器地址,編輯完成后按鍵盤上的Esc鍵,輸入:wq之后按下回車保存修改。
    • 建議您使用ECS中默認的DNS服務器或將其自定義為其它安全穩(wěn)定的DNS服務器。
  3. 根據(jù)您使用的DNS服務在下方選擇相應的方法清除DNS緩存。
    • 清除nscd的DNS緩存:
      # service nscd restart

      或使用:

      # service nscd reload
    • 清除dnsmasq的DNS緩存:
      # service dnsmasq restart
    • 清除BIND服務器中的DNS緩存 :
      # /etc/init.d/named restart

      或使用:

      # rndc restart
說明 如果以上步驟未能解決問題,您可以采用臨時方案,在 /etc/hosts文件中加入Redis的域名和IP的映射,確保域名可以正常解析,之后參考Redis連接問題排查與解決嘗試排除其它原因引起的連接問題。hosts文件的編輯方法請參見本文第2步的說明部分和下圖示例。請注意,修改hosts文件只能作為臨時解決方案,如果Redis實例的IP地址發(fā)生改變,該方案將會失效。