sofastack-guides / kc-sofastack-demo

SOFAStack Demo for SOFAStack Cloud Native Workshop on KubeCon China 2019
Apache License 2.0
47 stars 48 forks source link

本示例工程 FAQ #9

Open ujjboy opened 4 years ago

ujjboy commented 4 years ago

如果大家遇到问题,请先参阅本 FAQ 文档,如果未找到答案,可以提交 issue,最好能提供示例工程代码以及相关日志信息。

Q1:前置条件里的软件如何安装?

[必选]部署注册中心:https://www.sofastack.tech/projects/sofa-registry/server-quick-start/ [必须]部署数据库:本地自行搭建数据库,然后导入 DDL.sql [可选]部署LookoutServer:https://www.sofastack.tech/projects/sofa-lookout/quick-start-metrics-server/ [可选]部署Zipkin:https://zipkin.io/pages/quickstart.html

如果未安装 LookoutServe 和 Zipkin,下面的 application.properties 环境也可以不用配置。

Q2: 提示 RPC-02306: 没有获得服务[io.sofastack.balance.manage.facade.BalanceMngFacade:1.0:user99]的调用地址,请检查服务是否已经推送

一般出现这个问题有如下几个原因:

  1. 连不上注册中心,可自行使用 SOFARegistry、Zookeeper、Nacos 等作为注册中心,并配置正确的注册中心地址。
  2. balance-mng 和 stock-mng 里的 service.unique.id 不一致。
  3. 服务端和客户端网络不通,可通过 telnet 命令排除。
  4. 如果注册中心使用的是 SOFARegistry v5.3.0~v5.4.2 之间,请参考 Q5。
  5. 如果还有问题,请提 issue 说明前置软件,再上传 ~/logs/rpc下的日志文件夹进行问题排除。

Q3: 报 org.springframework.jdbc.CannotGetJdbcConnectionException

java.lang.RuntimeException: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
### The error may exist in io/sofastack/balance/manage/mapper/BalanceMngMapper.java (best guess)
### The error may involve io.sofastack.balance.manage.mapper.BalanceMngMapper.userExists
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

请搭建数据库环境或者设置正确的数据库地址

Q4: 提示 RPC-02103: 订阅元数据失败

请安装注册中心,可自行使用 SOFARegistry、Zookeeper、Nacos 等作为注册中心。

Q5:使用 SOFARegistry v5.3.0~v5.4.2 集成版(registry-integratgion)注册中心时,服务地址时好时坏。

确认从 5.3.0 开始,SOFARegistry 单机集成版的配置存在问题,参见 Issue ,请下载最新修复版https://github.com/sofastack/sofa-registry/releases/download/v5.4.2/registry-integration-fix.tgz 重新安装。

Scan-jha commented 3 years ago

RPC-02306: 没有获得服务[io.sofastack.balance.manage.facade.BalanceMngFacade:1.0:user99]的调用地址,请检查服务是否已经推送

Scan-jha commented 3 years ago

sofaRegistry的版本是5.4.5的

Scan-jha commented 3 years ago

这些事rpc下的日志文件: bolt-threadpool.log common-default.log

rpc-client.log

rpc-registry.log rpc-server.log

Scan-jha commented 3 years ago

我把sofaregistry注册中心的地址换成linux上的服务之地之后,报错: Rpc invocation timeout[responseCommand TIMEOUT]! the address is 192.168.177.1:22200

Scan-jha commented 3 years ago

项目是在windows上启动的,注册中心是在linux上搭建的,注册中心的地址陪的时候换成linux上的服务器地址吗?

Scan-jha commented 3 years ago

问一下,什么#9的Q5?

Scan-jha commented 3 years ago

logs.zip

ujjboy commented 3 years ago

问一下,什么#9的Q5?

..... 就是本文的 「Q5:使用 SOFARegistry v5.3.0~v5.4.2 集成版(registry-integratgion)注册中心时,服务地址时好时坏。」

Scan-jha commented 3 years ago

但是我现在的版本是5.4.5,这个也存在这个问题吗? 帮我看一下logs的文件吧,我把注册中心换成自己在linux搭建的地址之后,StockMngApplication启动没有报错,但是在访问localhost:8080时报连接超时: Rpc invocation timeout[responseCommand TIMEOUT]! the address is 192.168.177.1:22200。BalanceMngApplication报The Network Adapter could not establish the connection。

Scan-jha commented 3 years ago

具体的报错,您看一下我发送logs.zip文件吧。

Scan-jha commented 3 years ago

我知道为什么了,oracle的地址我写成了IP的地址,现在我换成了localhost就不会报错了。DDL.sql有oracle的吗?

ujjboy commented 3 years ago

具体的报错,您看一下我发送logs.zip文件吧。

看了 logs.zip,没看到 rpc 框架的特别的错误,可能的错误就是服务端的业务代码真的处理超时了