Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dlink
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaowei
dlink
Commits
046ffb48
Commit
046ffb48
authored
Jun 03, 2021
by
wenmo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
29b75d42
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
174 additions
and
25 deletions
+174
-25
CatalogueServiceImpl.java
...ain/java/com/dlink/service/impl/CatalogueServiceImpl.java
+1
-1
application.yml
dlink-admin/src/main/resources/application.yml
+2
-1
logback-spring.xml
dlink-admin/src/main/resources/logback-spring.xml
+3
-3
pom.xml
dlink-core/pom.xml
+27
-6
ExecutorSetting.java
...ore/src/main/java/com/dlink/executor/ExecutorSetting.java
+2
-2
JobManager.java
dlink-core/src/main/java/com/dlink/job/JobManager.java
+5
-7
JobManagerTest.java
dlink-core/src/test/java/com/dlink/core/JobManagerTest.java
+91
-0
pages.ts
dlink-web/src/locales/zh-CN/pages.ts
+2
-0
Welcome.tsx
dlink-web/src/pages/Welcome.tsx
+41
-5
No files found.
dlink-admin/src/main/java/com/dlink/service/impl/CatalogueServiceImpl.java
View file @
046ffb48
...
@@ -58,7 +58,7 @@ public class CatalogueServiceImpl extends SuperServiceImpl<CatalogueMapper, Cata
...
@@ -58,7 +58,7 @@ public class CatalogueServiceImpl extends SuperServiceImpl<CatalogueMapper, Cata
}
else
{
}
else
{
Task
task
=
new
Task
();
Task
task
=
new
Task
();
task
.
setId
(
oldCatalogue
.
getTaskId
());
task
.
setId
(
oldCatalogue
.
getTaskId
());
task
.
setAlias
(
oldC
atalogue
.
getName
());
task
.
setAlias
(
c
atalogue
.
getName
());
taskService
.
updateById
(
task
);
taskService
.
updateById
(
task
);
this
.
updateById
(
catalogue
);
this
.
updateById
(
catalogue
);
return
true
;
return
true
;
...
...
dlink-admin/src/main/resources/application.yml
View file @
046ffb48
spring
:
spring
:
datasource
:
datasource
:
url
:
jdbc:mysql://1
27.0.0
.1:3306/dlink?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://1
92.168.24
.1:3306/dlink?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username
:
dlink
username
:
dlink
password
:
dlink
password
:
dlink
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
...
@@ -20,6 +20,7 @@ mybatis-plus:
...
@@ -20,6 +20,7 @@ mybatis-plus:
configuration
:
configuration
:
##### mybatis-plus打印完整sql(只适用于开发环境)
##### mybatis-plus打印完整sql(只适用于开发环境)
log-impl
:
org.apache.ibatis.logging.stdout.StdOutImpl
log-impl
:
org.apache.ibatis.logging.stdout.StdOutImpl
# log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
##### Flink 集群配置
##### Flink 集群配置
...
...
dlink-admin/src/main/resources/logback-spring.xml
View file @
046ffb48
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
<configuration>
<configuration>
<contextName>
${APP_NAME}
</contextName>
<contextName>
${APP_NAME}
</contextName>
<springProperty
name=
"APP_NAME"
scope=
"context"
source=
"spring.application.name"
/>
<springProperty
name=
"APP_NAME"
scope=
"context"
source=
"spring.application.name"
/>
<springProperty
name=
"LOG_FILE"
scope=
"context"
source=
"logging.file"
defaultValue=
".
.
/logs/application/${APP_NAME}"
/>
<springProperty
name=
"LOG_FILE"
scope=
"context"
source=
"logging.file"
defaultValue=
"./logs/application/${APP_NAME}"
/>
<springProperty
name=
"LOG_POINT_FILE"
scope=
"context"
source=
"logging.file"
defaultValue=
".
.
/logs/point"
/>
<springProperty
name=
"LOG_POINT_FILE"
scope=
"context"
source=
"logging.file"
defaultValue=
"./logs/point"
/>
<springProperty
name=
"LOG_AUDIT_FILE"
scope=
"context"
source=
"logging.file"
defaultValue=
".
.
/logs/audit"
/>
<springProperty
name=
"LOG_AUDIT_FILE"
scope=
"context"
source=
"logging.file"
defaultValue=
"./logs/audit"
/>
<springProperty
name=
"LOG_MAXFILESIZE"
scope=
"context"
source=
"logback.filesize"
defaultValue=
"50MB"
/>
<springProperty
name=
"LOG_MAXFILESIZE"
scope=
"context"
source=
"logback.filesize"
defaultValue=
"50MB"
/>
<springProperty
name=
"LOG_FILEMAXDAY"
scope=
"context"
source=
"logback.filemaxday"
defaultValue=
"7"
/>
<springProperty
name=
"LOG_FILEMAXDAY"
scope=
"context"
source=
"logback.filemaxday"
defaultValue=
"7"
/>
<springProperty
name=
"ServerIP"
scope=
"context"
source=
"spring.cloud.client.ip-address"
defaultValue=
"0.0.0.0"
/>
<springProperty
name=
"ServerIP"
scope=
"context"
source=
"spring.cloud.client.ip-address"
defaultValue=
"0.0.0.0"
/>
...
...
dlink-core/pom.xml
View file @
046ffb48
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<properties>
<properties>
<java.version>
1.8
</java.version>
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<flink.version>
1.12.
2
</flink.version>
<flink.version>
1.12.
4
</flink.version>
<scala.binary.version>
2.11
</scala.binary.version>
<scala.binary.version>
2.11
</scala.binary.version>
<maven.compiler.source>
1.8
</maven.compiler.source>
<maven.compiler.source>
1.8
</maven.compiler.source>
<maven.compiler.target>
1.8
</maven.compiler.target>
<maven.compiler.target>
1.8
</maven.compiler.target>
...
@@ -23,20 +23,41 @@
...
@@ -23,20 +23,41 @@
</properties>
</properties>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
</dependency>
<!--<dependency>
<groupId>org.apache.flink</groupId>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<version>${flink.version}</version>
<!--<scope>provided</scope>-->
</dependency>-->
</dependency>
<dependency>
<dependency>
<groupId>
org.apache.flink
</groupId>
<groupId>
org.apache.flink
</groupId>
<artifactId>
flink-table-planner-blink_${scala.binary.version}
</artifactId>
<artifactId>
flink-table-planner-blink_${scala.binary.version}
</artifactId>
<version>
${flink.version}
</version>
<version>
${flink.version}
</version>
<!--<scope>provided</scope>-->
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<groupId>
org.apache.flink
</groupId>
<artifactId>
hutool-all
</artifactId>
<artifactId>
flink-clients_${scala.binary.version}
</artifactId>
<version>
${flink.version}
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.apache.flink
</groupId>
<artifactId>
flink-connector-jdbc_2.11
</artifactId>
<version>
${flink.version}
</version>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<version>
${junit.version}
</version>
<scope>
provided
</scope>
</dependency>
<!--<!–@Nullable–>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>1.3.9</version>
</dependency>-->
</dependencies>
</dependencies>
</project>
</project>
\ No newline at end of file
dlink-core/src/main/java/com/dlink/executor/ExecutorSetting.java
View file @
046ffb48
...
@@ -7,10 +7,10 @@ package com.dlink.executor;
...
@@ -7,10 +7,10 @@ package com.dlink.executor;
* @since 2021/5/25 13:43
* @since 2021/5/25 13:43
**/
**/
public
class
ExecutorSetting
{
public
class
ExecutorSetting
{
private
String
type
=
Executor
.
LOCAL
;
private
String
type
;
private
Integer
checkpoint
;
private
Integer
checkpoint
;
private
Integer
parallelism
;
private
Integer
parallelism
;
private
boolean
useSqlFragment
=
true
;
private
boolean
useSqlFragment
;
private
String
savePointPath
;
private
String
savePointPath
;
public
ExecutorSetting
(
String
type
)
{
public
ExecutorSetting
(
String
type
)
{
...
...
dlink-core/src/main/java/com/dlink/job/JobManager.java
View file @
046ffb48
...
@@ -104,11 +104,9 @@ public class JobManager {
...
@@ -104,11 +104,9 @@ public class JobManager {
runResult
.
setTime
(
timeElapsed
);
runResult
.
setTime
(
timeElapsed
);
runResult
.
setFinishDate
(
LocalDateTime
.
now
());
runResult
.
setFinishDate
(
LocalDateTime
.
now
());
if
(
tableResult
.
getJobClient
().
isPresent
())
{
if
(
tableResult
.
getJobClient
().
isPresent
())
{
runResult
.
setJobId
(
tableResult
.
getJobClient
().
get
().
getJobID
().
toString
());
runResult
.
setJobId
(
tableResult
.
getJobClient
().
get
().
getJobID
().
toHexString
());
runResult
.
setSuccess
(
tableResult
.
getJobClient
().
get
().
getJobStatus
().
isDone
());
}
else
{
runResult
.
setSuccess
(
true
);
}
}
runResult
.
setSuccess
(
true
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -144,7 +142,6 @@ public class JobManager {
...
@@ -144,7 +142,6 @@ public class JobManager {
currentIndex
++;
currentIndex
++;
String
operationType
=
Operations
.
getOperationType
(
sqlText
);
String
operationType
=
Operations
.
getOperationType
(
sqlText
);
if
(
operationType
.
equalsIgnoreCase
(
FlinkSQLConstant
.
INSERT
))
{
if
(
operationType
.
equalsIgnoreCase
(
FlinkSQLConstant
.
INSERT
))
{
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
TableResult
tableResult
=
executor
.
executeSql
(
sqlText
);
TableResult
tableResult
=
executor
.
executeSql
(
sqlText
);
long
finish
=
System
.
currentTimeMillis
();
long
finish
=
System
.
currentTimeMillis
();
...
@@ -169,9 +166,10 @@ public class JobManager {
...
@@ -169,9 +166,10 @@ public class JobManager {
StackTraceElement
[]
trace
=
e
.
getStackTrace
();
StackTraceElement
[]
trace
=
e
.
getStackTrace
();
StringBuilder
resMsg
=
new
StringBuilder
();
StringBuilder
resMsg
=
new
StringBuilder
();
for
(
StackTraceElement
s
:
trace
)
{
for
(
StackTraceElement
s
:
trace
)
{
resMsg
.
append
(
"
</br>
"
+
s
+
" "
);
resMsg
.
append
(
"
\n
"
+
s
+
" "
);
}
}
result
.
setError
(
LocalDateTime
.
now
().
toString
()
+
":"
+
"运行第"
+
currentIndex
+
"行sql时出现异常:"
+
e
.
getMessage
()
+
"</br> >>>堆栈信息<<<"
+
resMsg
.
toString
());
result
.
setSuccess
(
false
);
result
.
setError
(
LocalDateTime
.
now
().
toString
()
+
":"
+
"运行第"
+
currentIndex
+
"行sql时出现异常:"
+
e
.
getMessage
()
+
"\n >>>堆栈信息<<<"
+
resMsg
.
toString
());
return
result
;
return
result
;
}
}
...
...
dlink-core/src/test/java/com/dlink/core/JobManagerTest.java
0 → 100644
View file @
046ffb48
package
com
.
dlink
.
core
;
import
com.dlink.executor.Executor
;
import
com.dlink.executor.ExecutorSetting
;
import
com.dlink.job.JobManager
;
import
com.dlink.result.RunResult
;
import
com.dlink.result.SubmitResult
;
import
org.junit.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* JobManagerTest
*
* @author wenmo
* @since 2021/6/3
**/
public
class
JobManagerTest
{
@Test
public
void
submitJobTest2
(){
JobManager
jobManager
=
new
JobManager
(
"192.168.123.157"
,
8081
,
"test2"
,
100
);
String
sql1
=
"CREATE TABLE student (\n"
+
" sid INT,\n"
+
" name STRING,\n"
+
" PRIMARY KEY (sid) NOT ENFORCED\n"
+
") WITH (\n"
+
" 'connector' = 'jdbc',\n"
+
" 'url' = 'jdbc:mysql://192.168.24.1:3306/data?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true',\n"
+
" 'username'='datalink',\n"
+
" 'password'='datalink',\n"
+
" 'table-name' = 'student'\n"
+
")"
;
String
sql2
=
"CREATE TABLE man (\n"
+
" pid INT,\n"
+
" name STRING,\n"
+
" PRIMARY KEY (pid) NOT ENFORCED\n"
+
") WITH (\n"
+
" 'connector' = 'jdbc',\n"
+
" 'url' = 'jdbc:mysql://192.168.24.1:3306/data?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true',\n"
+
" 'username'='datalink',\n"
+
" 'password'='datalink',\n"
+
" 'table-name' = 'man'\n"
+
")"
;
String
sql3
=
"INSERT INTO man SELECT sid as pid,name from student"
;
List
<
String
>
sqls
=
new
ArrayList
<>();
sqls
.
add
(
sql1
);
sqls
.
add
(
sql2
);
sqls
.
add
(
sql3
);
ExecutorSetting
setting
=
new
ExecutorSetting
(
Executor
.
REMOTE
);
SubmitResult
result
=
jobManager
.
submit
(
sqls
,
setting
);
System
.
out
.
println
(
result
.
isSuccess
());
}
@Test
public
void
executeJobTest
(){
JobManager
jobManager
=
new
JobManager
(
"192.168.123.157"
,
8081
,
"test2"
,
100
);
String
sql1
=
"CREATE TABLE student (\n"
+
" sid INT,\n"
+
" name STRING,\n"
+
" PRIMARY KEY (sid) NOT ENFORCED\n"
+
") WITH (\n"
+
" 'connector' = 'jdbc',\n"
+
" 'url' = 'jdbc:mysql://192.168.24.1:3306/data?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true',\n"
+
" 'username'='datalink',\n"
+
" 'password'='datalink',\n"
+
" 'table-name' = 'student'\n"
+
");"
;
String
sql2
=
"CREATE TABLE man (\n"
+
" pid INT,\n"
+
" name STRING,\n"
+
" PRIMARY KEY (pid) NOT ENFORCED\n"
+
") WITH (\n"
+
" 'connector' = 'jdbc',\n"
+
" 'url' = 'jdbc:mysql://192.168.24.1:3306/data?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true',\n"
+
" 'username'='datalink',\n"
+
" 'password'='datalink',\n"
+
" 'table-name' = 'man'\n"
+
");"
;
String
sql3
=
"SELECT sid as pid,name from student"
;
List
<
String
>
sqls
=
new
ArrayList
<>();
sqls
.
add
(
sql1
);
sqls
.
add
(
sql2
);
sqls
.
add
(
sql3
);
String
sql
=
sql1
+
sql2
+
sql3
;
ExecutorSetting
setting
=
new
ExecutorSetting
(
Executor
.
REMOTE
,
0
,
1
,
false
,
null
);
RunResult
result
=
jobManager
.
execute
(
sql
,
setting
);
System
.
out
.
println
(
result
.
isSuccess
());
}
}
dlink-web/src/locales/zh-CN/pages.ts
View file @
046ffb48
...
@@ -24,6 +24,8 @@ export default {
...
@@ -24,6 +24,8 @@ export default {
'pages.login.registerAccount'
:
'注册账户'
,
'pages.login.registerAccount'
:
'注册账户'
,
'pages.welcome.Community'
:
'官方社区'
,
'pages.welcome.Community'
:
'官方社区'
,
'pages.welcome.upgrade'
:
'更新日志'
,
'pages.welcome.upgrade'
:
'更新日志'
,
'pages.welcome.QQ'
:
'QQ官方社区群'
,
'pages.welcome.QQcode'
:
'543709668'
,
'pages.welcome.link'
:
'欢迎加入'
,
'pages.welcome.link'
:
'欢迎加入'
,
'pages.welcome.star'
:
'欢迎 Star '
,
'pages.welcome.star'
:
'欢迎 Star '
,
'pages.welcome.advancedLayout'
:
'Github'
,
'pages.welcome.advancedLayout'
:
'Github'
,
...
...
dlink-web/src/pages/Welcome.tsx
View file @
046ffb48
...
@@ -34,6 +34,12 @@ export default (): React.ReactNode => {
...
@@ -34,6 +34,12 @@ export default (): React.ReactNode => {
<
FormattedMessage
id=
"pages.welcome.Community"
defaultMessage=
"官方社区"
/>
{
' '
}
<
FormattedMessage
id=
"pages.welcome.Community"
defaultMessage=
"官方社区"
/>
{
' '
}
<
FormattedMessage
id=
"pages.welcome.link"
defaultMessage=
"欢迎加入"
/>
<
FormattedMessage
id=
"pages.welcome.link"
defaultMessage=
"欢迎加入"
/>
</
Typography
.
Text
>
</
Typography
.
Text
>
<
Paragraph
>
<
Typography
.
Text
strong
>
<
FormattedMessage
id=
"pages.welcome.QQ"
defaultMessage=
"QQ官方社区群"
/>
{
' '
}
<
FormattedMessage
id=
"pages.welcome.QQcode"
defaultMessage=
"543709668"
/>
</
Typography
.
Text
>
</
Paragraph
>
<
CodePreview
>
微信公众号:Datalink数据中台
</
CodePreview
>
<
CodePreview
>
微信公众号:Datalink数据中台
</
CodePreview
>
<
Typography
.
Text
<
Typography
.
Text
strong
strong
...
@@ -56,19 +62,49 @@ export default (): React.ReactNode => {
...
@@ -56,19 +62,49 @@ export default (): React.ReactNode => {
</
Typography
.
Text
>
</
Typography
.
Text
>
</
Paragraph
>
</
Paragraph
>
<
p
>
</
p
>
<
p
>
</
p
>
<
Timeline
pending=
"Recording..."
reverse=
{
true
}
>
<
Timeline
pending=
{
<><
Text
code
>
0.2.0
</
Text
>
<
Timeline
.
Item
><
Text
code
>
0.1.0
</
Text
>
<
Text
type=
"secondary"
>
2015-09-01
</
Text
>
<
Text
type=
"secondary"
>
敬请期待
</
Text
>
<
p
>
</
p
>
<
Paragraph
>
<
ul
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio 会话管理
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio 进程监控
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio 任务详情
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio 连接器详情
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio 指标展示
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio 自动完成函数
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
细节优化
</
Link
>
</
li
>
</
ul
>
</
Paragraph
></>
}
reverse=
{
true
}
>
<
Timeline
.
Item
><
Text
code
>
0.1.0
</
Text
>
<
Text
type=
"secondary"
>
2021-06-04
</
Text
>
<
p
>
</
p
>
<
p
>
</
p
>
<
Paragraph
>
<
Paragraph
>
<
ul
>
<
ul
>
<
li
>
<
li
>
<
Link
href=
""
>
FlinkSql Studio
</
Link
>
<
Link
href=
""
>
FlinkSql Studio 基本功能
</
Link
>
</
li
>
<
li
>
<
Link
href=
""
>
Flink 集群管理
</
Link
>
</
li
>
</
li
>
<
li
>
<
li
>
<
Link
href=
""
>
Flink
集群
</
Link
>
<
Link
href=
""
>
Flink
Sql 任务管理
</
Link
>
</
li
>
</
li
>
<
li
>
<
li
>
<
Link
href=
""
>
Flink
任务
</
Link
>
<
Link
href=
""
>
Flink
Sql 文档管理
</
Link
>
</
li
>
</
li
>
</
ul
>
</
ul
>
</
Paragraph
>
</
Paragraph
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment