This is an automated email from the ASF dual-hosted git repository.
wenjun pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new a7b8e071b5 [Improvement][Registry][Jdbc] Add option can use ds
database directly (#14369)
a7b8e071b5 is described below
commit a7b8e071b5265ae84c2361f36d426daf5243b63c
Author: 旺阳 <[email protected]>
AuthorDate: Sat Jun 24 22:10:58 2023 +0800
[Improvement][Registry][Jdbc] Add option can use ds database directly
(#14369)
---
.../dolphinscheduler-registry-jdbc/README.md | 59 +++++++++++++---------
.../registry/jdbc/JdbcRegistryConfiguration.java | 1 +
2 files changed, 36 insertions(+), 24 deletions(-)
diff --git
a/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/README.md
b/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/README.md
index 305714ad9b..f311c20b07 100644
---
a/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/README.md
+++
b/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/README.md
@@ -1,20 +1,48 @@
# Introduction
-This module is the mysql registry plugin module, this plugin will use mysql as
the registry center.
+This module is the jdbc registry plugin module, this plugin will use jdbc as
the registry center. Will use the database configuration same as
DolphinScheduler in api'yaml default.
# How to use
-## Use Mysql as registry center
-If you want to set mysql as the registry center, you need to do the below two
steps:
+1. Initialize the database table
-1. Initialize the mysql table
+- If you use Mysql you can directly execute the sql script
`src/main/resources/mysql_registry_init.sql`.
-You can directly execute the sql script
`src/main/resources/mysql_registry_init.sql`.
+- If you use Postgresql you can directly execute the sql script
`src/main/resources/postgresql_registry_init.sql`.
-2. Open the config
+2. Change the config
You need to set the registry properties in master/worker/api's appplication.yml
+```yaml
+registry:
+ type: jdbc
+```
+
+After do this two steps, you can start your DolphinScheduler cluster, your
cluster will use mysql as registry center to
+store server metadata.
+
+NOTE: You need to add `mysql-connector-java.jar` into DS classpath if you use
mysql database, since this plugin will not bundle this driver in distribution.
+You can get the detail about <a
href="https://dolphinscheduler.apache.org/en-us/docs/3.1.2/guide/installation/pseudo-cluster">Initialize
the Database</a>.
+
+## Optional configuration
+
+```yaml
+registry:
+ type: jdbc
+ # Used to schedule refresh the ephemeral data/ lock.
+ term-refresh-interval: 2s
+ # Used to calculate the expire time,
+ # e.g. if you set 2, and latest two refresh error, then the ephemeral
data/lock will be expire.
+ term-expire-times: 3
+```
+
+## Use different database configuration for jdbc registry center
+
+You need to set the registry properties in master/worker/api's appplication.yml
+
+### Use Mysql as registry center
+
```yaml
registry:
type: jdbc
@@ -29,22 +57,7 @@ registry:
idle-timeout: 600000
```
-After do this two steps, you can start your DolphinScheduler cluster, your
cluster will use mysql as registry center to
-store server metadata.
-
-NOTE: You need to add `mysql-connector-java.jar` into DS classpath, since this
plugin will not bundle this driver in distribution.
-You can get the detail about <a
href="https://dolphinscheduler.apache.org/en-us/docs/3.1.2/guide/installation/pseudo-cluster">Initialize
the Database</a>
-
-## Use Postgresql as registry center
-If you want to set Postgresql as the registry center, you need to do the below
two steps:
-
-1. Initialize the PostgreSQL table
-
-You can directly execute the sql script
`src/main/resources/postgresql_registry_init.sql`.
-
-2. Open the config
-
-You need to set the registry properties in master/worker/api's appplication.yml
+### Use Postgresql as registry center
```yaml
registry:
@@ -60,5 +73,3 @@ registry:
idle-timeout: 600000
```
-After do this two steps, you can start your DolphinScheduler cluster, your
cluster will use postgresql as registry center to
-store server metadata.
diff --git
a/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/src/main/java/org/apache/dolphinscheduler/plugin/registry/jdbc/JdbcRegistryConfiguration.java
b/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/src/main/java/org/apache/dolphinscheduler/plugin/registry/jdbc/JdbcRegistryConfiguration.java
index ced09380f6..7b37749ab7 100644
---
a/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/src/main/java/org/apache/dolphinscheduler/plugin/registry/jdbc/JdbcRegistryConfiguration.java
+++
b/dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-jdbc/src/main/java/org/apache/dolphinscheduler/plugin/registry/jdbc/JdbcRegistryConfiguration.java
@@ -35,6 +35,7 @@ import com.zaxxer.hikari.HikariDataSource;
public class JdbcRegistryConfiguration {
@Bean
+ @ConditionalOnProperty(prefix = "registry.hikari-config", name =
"jdbc-url")
public SqlSessionFactory
jdbcRegistrySqlSessionFactory(JdbcRegistryProperties jdbcRegistryProperties)
throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new
MybatisSqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(new
HikariDataSource(jdbcRegistryProperties.getHikariConfig()));