Spring云数据流:错误org.springframework.dao.InvalidDataAccessResourceUsageException
Spring Cloud Data Flow: Error org.springframework.dao.InvalidDataAccessResourceUsageException
我正在尝试 run/configure Spring 数据云数据流 (SCDF) 来为 Spring 批处理作业安排任务。
我运行正在连接到本地 postgresql(localhost:5432) 的 minikube 中。 virtualbox 中的 minikube 运行s,我通过 --cidr 分配了一个 vnet,因此 minikube 可以连接到本地 postgres。
这是 postgresql 服务 yaml:
https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/postgres-service.yaml
这是 SCDF 配置 yaml:
https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/server-config.yaml
这是 SCDF 部署 yaml:
https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/server-deployment.yaml
这是 SCDF server-svc.yaml:
https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/server-svc.yaml
要在 minikube 中启动 SCDF 服务器,我执行以下 kubectl 命令:
kubectl apply -f secret.yaml
kubectl apply -f configmap.yaml
kubectl apply -f postgres-service.yaml
kubectl create -f server-roles.yaml
kubectl create -f server-rolebinding.yaml
kubectl create -f service-account.yaml
kubectl apply -f server-config.yaml
kubectl apply -f server-svc.yaml
kubectl apply -f server-deployment.yaml
我不是 运行ing Prometeus、Grafana、Kafka/Rabbitmq,因为我想测试并确保我可以从 SCDF 启动 Spring 批处理作业。我没有 运行 船长部署 (Spring Cloud DataFlow server runnning locally pointing to Skipper in Kubernetes) 如果只是 运行ning 任务就没有必要。
这是我在尝试从 docker 私有存储库添加应用程序时遇到的错误:
这是 pod 中的完整错误堆栈:
https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/SCDF_Log_Error
错误堆栈中的亮点:
2021-07-08 13:04:13.753 WARN 1 --- [-nio-80-exec-10] o.s.c.d.s.controller.AboutController : Skipper Server is not accessible
org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:7577/api/about": Connect to localhost:7577 [localhost/127.0.0.1] failed: Connection refused (Connection refused); nested exception is org.apache.http.conn.HttpHostConnectException: Connect to localhost:7577 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
Postges 休眠错误:
2021-07-08 13:05:22.142 WARN 1 --- [p-nio-80-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42P01
2021-07-08 13:05:22.200 ERROR 1 --- [p-nio-80-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: relation "hibernate_sequence" does not exist
Position: 17
2021-07-08 13:05:22.214 ERROR 1 --- [p-nio-80-exec-5] o.s.c.d.s.c.RestControllerAdvice : Caught exception while handling a request
org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could
前几个错误来自 SCDF 试图连接到船长,因为它没有配置,这是预期的。
第二个错误是Postgres JDBC Hibernate。我该如何解决?
将 SCDF 设置为指向本地 postgres 时是否缺少配置?
此外,在我的 docker jar 中,我没有添加任何注释,例如 @EnableTask。
感谢任何帮助,谢谢!马库斯.
我搜索了
Caused by: org.postgresql.util.PSQLException: ERROR: relation
"hibernate_sequence" does not exist Position: 17
并找到了这个 Whosebug 答案:
Postgres error in batch insert : relation "hibernate_sequence" does not exist position 17
前往 postgres 并创建 hibernate_sequence:
CREATE SEQUENCE my_seq_gen START 1;
然后,添加应用程序成功了。
我正在尝试 run/configure Spring 数据云数据流 (SCDF) 来为 Spring 批处理作业安排任务。
我运行正在连接到本地 postgresql(localhost:5432) 的 minikube 中。 virtualbox 中的 minikube 运行s,我通过 --cidr 分配了一个 vnet,因此 minikube 可以连接到本地 postgres。
这是 postgresql 服务 yaml: https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/postgres-service.yaml
这是 SCDF 配置 yaml: https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/server-config.yaml
这是 SCDF 部署 yaml: https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/server-deployment.yaml
这是 SCDF server-svc.yaml: https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/server-svc.yaml
要在 minikube 中启动 SCDF 服务器,我执行以下 kubectl 命令:
kubectl apply -f secret.yaml
kubectl apply -f configmap.yaml
kubectl apply -f postgres-service.yaml
kubectl create -f server-roles.yaml
kubectl create -f server-rolebinding.yaml
kubectl create -f service-account.yaml
kubectl apply -f server-config.yaml
kubectl apply -f server-svc.yaml
kubectl apply -f server-deployment.yaml
我不是 运行ing Prometeus、Grafana、Kafka/Rabbitmq,因为我想测试并确保我可以从 SCDF 启动 Spring 批处理作业。我没有 运行 船长部署 (Spring Cloud DataFlow server runnning locally pointing to Skipper in Kubernetes) 如果只是 运行ning 任务就没有必要。
这是我在尝试从 docker 私有存储库添加应用程序时遇到的错误:
这是 pod 中的完整错误堆栈: https://github.com/msuzuki23/SpringCloudDataFlowDemo/blob/main/SCDF_Log_Error
错误堆栈中的亮点:
2021-07-08 13:04:13.753 WARN 1 --- [-nio-80-exec-10] o.s.c.d.s.controller.AboutController : Skipper Server is not accessible
org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:7577/api/about": Connect to localhost:7577 [localhost/127.0.0.1] failed: Connection refused (Connection refused); nested exception is org.apache.http.conn.HttpHostConnectException: Connect to localhost:7577 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
Postges 休眠错误:
2021-07-08 13:05:22.142 WARN 1 --- [p-nio-80-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42P01
2021-07-08 13:05:22.200 ERROR 1 --- [p-nio-80-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: relation "hibernate_sequence" does not exist
Position: 17
2021-07-08 13:05:22.214 ERROR 1 --- [p-nio-80-exec-5] o.s.c.d.s.c.RestControllerAdvice : Caught exception while handling a request
org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could
前几个错误来自 SCDF 试图连接到船长,因为它没有配置,这是预期的。
第二个错误是Postgres JDBC Hibernate。我该如何解决? 将 SCDF 设置为指向本地 postgres 时是否缺少配置?
此外,在我的 docker jar 中,我没有添加任何注释,例如 @EnableTask。
感谢任何帮助,谢谢!马库斯.
我搜索了
Caused by: org.postgresql.util.PSQLException: ERROR: relation "hibernate_sequence" does not exist Position: 17
并找到了这个 Whosebug 答案:
Postgres error in batch insert : relation "hibernate_sequence" does not exist position 17
前往 postgres 并创建 hibernate_sequence:
CREATE SEQUENCE my_seq_gen START 1;
然后,添加应用程序成功了。