【问题标题】:tf_serving grpc client connection reset by peertf_serving grpc 客户端连接由对等方重置
【发布时间】:2019-08-12 14:30:49
【问题描述】:

我构建了一个客户端,使用 grpc 和 c++ 将一些数据提供给 docker-container 内的模型服务器。

尝试连接时,我收到消息: 错误 14 对等方重置连接。

客户端代码:

std::cout << "calling prediction service on " << "localhost:8500" 
<< std::endl;
    ServingClient sclient(grpc::CreateChannel(
        "localhost:8500", grpc::InsecureChannelCredentials()));
    std::vector<float> reply = sclient.callPredict(model_name, 
model_signature_name, data);

tensorflow 服务命令:

tensorflow_model_server --port=8500 --rest_api_port=8501 -- model_name=best_model --model_base_path=/models/best_model/

docker 容器输出:

2019-08-12 13:59:29.851181: I tensorflow_serving/core/loader_harness.cc:86] 成功加载可服务版本 {name: best_model version: 1} 2019-08-12 13:59:29.854813:我 tensorflow_serving/model_servers/server.cc:324] 在 0.0.0.0:8500 运行 gRPC ModelServer ... [警告] getaddrinfo:不支持节点名的地址族 [evhttp_server.cc : 239] RAW:进入事件循环... 2019-08-12 13:59:29.858052:我 tensorflow_serving/model_servers/server.cc:344] 在:localhost:8501 导出 HTTP/REST API ...

客户端输出: 在 localhost:8500 上调用预测服务 生成的 Proto Tensor OK gRPC 调用返回码:14:对等方重置连接 gRPC 失败

【问题讨论】:

  • "Connection reset by peer" 可能表明服务器没有监听客户端所针对的 ip:port。您说您正在端口 8500 上的 docker 容器中运行服务器,并且客户端的目标是环回接口和端口 8500 - 如果是这样,则应满足以下条件之一才能使其正常工作:a)使用 docker host网络,即 --net 主机,用于服务器 b) 以 docker 容器的 IP 为目标,而不是您机器的本地主机,c) 您的客户端必须在与服务器相同的 docker 容器中运行。
  • 通过定位 docker-ip 你的意思是使用 0.0.0.0: 而不是 "localhost" 对吗?我已经尝试过但没有改善。我很确定我的客户端代码工作正常,因为当我连接不同的服务器(在 docker 之外)时,我得到了连接。当我使用 REST 接口与 docker 容器通信时,我得到: curl: (56) Recv failure: Connection reset by peer 。另一个威胁表明它可能是由容器内的错误端口映射引起的。但我只使用了 tensorflow 服务命令。
  • 不完全是,定位 0.0.0.0 也不正确。请注意,docker 网络使用“docker 桥” - 请参阅docs.docker.com/v17.09/engine/userguide/networking/… 和相关的更多详细信息。简而言之,docker 容器默认不与主机“共享”网络接口。找出可用于从主机(或其他容器)访问容器的 docker IP 的一种方法是运行“docker inspect ”,然后查看“IPAddress”字段。获取容器 id 的一个简单示例方法是运行“docker container ls”

标签: tensorflow grpc serving


【解决方案1】:

我无法发布答案,但我的问题在重新安装 ubuntu 后解决了。

但我不能说这与我的问题有什么关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多