玩Zookeeper的時候經常偶先KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss 跟進去一看 獲取連接的時候顯示 err:-112
然后查了一下狀態(tài)碼,顯示會話過期蹂空,果然是這樣令境,記錄一下,同時把每個狀態(tài)備注一份
錯誤碼 | 名稱 | 說明 |
---|---|---|
-1 | Unknown | 此狀態(tài)不由服務器生成 |
0 | 斷開連接 | 客戶端處于斷開連接狀態(tài)-它未連接到集成中的任何服務器 |
1 | 未連接同步(已棄用) | 此狀態(tài)不由服務器生成 |
3 | 同步連接 | 客戶端處于已連接狀態(tài)-它已連接到集成中的服務器(ZooKeeper client創(chuàng)建期間在主機連接參數(shù)中指定的服務器之一) |
4 | 驗證失敗 | 身份驗證失敗狀態(tài) |
5 | 連接只讀 | 客戶端連接到只讀服務器文虏,即當前未連接到大多數(shù)服務器的服務器坑填。接收到此狀態(tài)后允許的唯一操作是讀取操作裆泳。此狀態(tài)僅為只讀客戶端生成,因為讀/寫客戶端不允許連接到r/o服務器 |
6 | Sasl認證 | 用于通知客戶端它們已通過SASL身份驗證蹋凝,以便它們可以使用SASL授權的權限執(zhí)行Zookeeper操作 |
-112 | 過期 | 服務群集已在此會話過期鲁纠。ZooKeeper客戶端連接(會話)不再有效。如果要訪問集成仙粱,必須創(chuàng)建一個新的客戶端連接(實例化一個新的ZooKeeper*實例) |