Codis proxy error : dial tcp : lookup cnsz22vla888.novalocal on 127.0.1.1:53 : no such host

筆者之前在雲主機上啓動codis,這次是在本地啓動。dashboard,proxy,fe都成功啓動之後,打開 fe 的頁面,點擊最左側自己創建的product_name,卻發現頁面顯示殘缺不全

這裏寫圖片描述

再看fe的控制檯日誌,發現報錯

http : proxy error : dial tcp : lookup cnsz22vla888.novalocal on 127.0.1.1:53 : no such host

但是我的proxy明明是啓動成功的,講真的這個錯誤困擾了一天。我一直覺得解決問題最好的方式就是——今天不管了,第二天再看。。。。

那好,就算是第二天,也得解決啊。首先看一下異常是什麼時候拋出來的,發現頁面上單機左側的”codis-wujiang”的時候,會觸發

$scope.selectCodisInstance = function (selected) {
    if ($scope.codis_name == selected) {
        return;
    }
    $scope.resetOverview();
    $scope.codis_name = selected;
    var url = concatUrl("/topom", selected);
    $http.get(url).then(function (resp) {
        if ($scope.codis_name != selected) {
            return;
        }
        var overview = resp.data;
        $scope.codis_addr = overview.model.admin_addr;
        $scope.codis_coord_name = "[" + overview.config.coordinator_name.charAt(0).toUpperCase() + overview.config.coordinator_name.slice(1) + "]";
        $scope.codis_coord_addr = overview.config.coordinator_addr;
        $scope.updateStats(overview.stats);
    });
}

這裏$http.get(url)之後直接就跳到方法外了。

回想一下fe的啓動參數,fe是不依賴於proxy的,除了自己啓動之後的監聽端口是18090之外,就只有一個指定的從codis.json中讀取數據。裏面剛好就有異常中報的 cnsz22vla888.novalocal

//codis.json
[
    {
        "name": "codis-wujiang",
        "dashboard": "cnsz22vla888.novalocal:18080"
    }
]

在centOS中,codis.json是通過下面的命令來生成的:(筆者注:這個文件只需要生成一次)

./bin/codis-admin --dashboard-list --zookeeper=*.*.*.* | tee ./conf/codis.json

在ubuntu中,我偷了個懶,直接把原來centOS中成功啓動的codis.json複製過來。。。。。立刻想到,如果fe無法找到dashboard,後續的操作都無法進行。dashboard是codis集羣的管理工具,支持proxy和server的添加、刪除、數據遷移,所有對集羣的操作必須通過dashboard。

dashboard的啓動文件dashboard.toml中指定的admin地址是:

# Set bind address for admin(rpc), tcp only.
admin_addr = "0.0.0.0:18080"

後來我手動對codis.json文件作了修改,改成

//codis.json
[
    {
        "name": "codis-wujiang",
        "dashboard": "0.0.0.0:18080"
    }
]

然後重啓fe,發現一切都可以正常工作了。

說明
如有轉載,請註明出處:
http://blog.csdn.net/antony9118/article/details/75732016

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章