0

我正在尝试运行/配置 Spring Data Cloud Data Flow (SCDF) 来安排 Spring Batch Job 的任务。

我在连接到本地 postgresql(localhost:5432)的 minikube 中运行。minikube 在虚拟机中运行,我通过 --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

我没有运行 Prometeus、Grafana、Kafka/Rabbitmq,因为我想测试并确保我可以从 SCDF 启动 Spring Batch Job。我没有运行船长部署(Spring Cloud DataFlow 服务器在本地运行,指向 Kubernetes 中的船长),如果只是运行任务,则没有必要。

这是我在尝试从 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。

任何帮助表示赞赏,谢谢!马库斯。

4

1 回答 1

0

我做了一个搜索

引起:org.postgresql.util.PSQLException:错误:关系“hibernate_sequence”不存在位置:17

并发现了这个stackoverflow anwer:

批量插入中的 Postgres 错误:关系“hibernate_sequence”不存在位置 17

去 postgres 并创建 hibernate_sequence:

CREATE SEQUENCE my_seq_gen START 1;

然后,添加应用程序工作。

于 2021-07-08T16:31:54.310 回答