Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liyuanzhong001
DolphinScheduler
提交
4ff54a0c
DolphinScheduler
项目概览
liyuanzhong001
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4ff54a0c
编写于
5月 25, 2019
作者:
B
baoliang
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'upstream/branch-1.0.2' into 102
上级
31b809e8
d65596da
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
129 addition
and
13 deletion
+129
-13
docs/zh_CN/EasyScheduler FAQ.md
docs/zh_CN/EasyScheduler FAQ.md
+112
-0
escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java
...duler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java
+10
-4
escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java
...src/main/java/cn/escheduler/server/zk/ZKMasterClient.java
+1
-1
escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/list.vue
...ges/projects/pages/definition/pages/list/_source/list.vue
+4
-6
escheduler-ui/src/js/conf/home/pages/projects/pages/definition/timing/_source/list.vue
...e/pages/projects/pages/definition/timing/_source/list.vue
+2
-2
未找到文件。
docs/zh_CN/EasyScheduler FAQ.md
0 → 100644
浏览文件 @
4ff54a0c
Q:单机运行服务老挂,应该是内存不够,测试机器4核8G。生产环境需要分布式,如果单机的话建议的配置是?
A: Easy Scheduler有5个服务组成,这些服务本身需要的内存和cpu不多,
| 服务 | 内存 | cpu核数 |
| ------------ | ---- | ------- |
| MasterServer | 2G | 2核 |
| WorkerServer | 2G | 2核 |
| ApiServer | 512M | 1核 |
| AlertServer | 512M | 1核 |
| LoggerServer | 512M | 1核 |
注意:由于如果任务较多,WorkServer所在机器建议物理内存在16G以上
---
Q
:
管理员为什么不能创建项目?
A
:
管理员目前属于"纯管理", 没有租户,即没有linux上对应的用户,所以没有执行权限, 但是有所有的查看权限。如果需要创建项目等业务操作,请使用管理员创建租户和普通用户,然后使用普通用户登录进行操作
---
Q: 系统支持哪些邮箱?
A: 支持绝大多数邮箱,qq、163、126、139、outlook、aliyun等皆可支持
---
Q:常用的系统变量时间参数有哪些,如何使用?
![
image-20190524180218862
](
/Users/stone/Library/Application
Support/typora-user-images/image-20190524180218862.png)
---
Q:pip install kazoo 这个安装报错。是必须安装的吗?
A: 这个是python连接zookeeper需要使用到的
---
Q: 如果alert、api、logger服务任意一个宕机,任何还会正常执行吧
A: 不影响,影响正在运行中的任务的服务有Master和Worker服务
---
Q: 这个怎么指定机器运行任务的啊 」
A: 通过worker分组: 这个流程只能在指定的机器组里执行。默认是Default,可以在任一worker上执行。
---
Q: 跨用户的任务依赖怎么实现呢, 比如A用户写了一个任务,B用户需要依赖这个任务
就比如说 我们数仓组 写了一个 中间宽表的任务, 其他业务部门想要使用这个中间表的时候,他们应该是另外一个用户,怎么依赖这个中间表呢
A: 有两种情况,一个是要运行这个宽表任务,可以使用子工作流把宽表任务放到自己的工作流里面。另一个是检查这个宽表任务有没有完成,可以使用依赖节点来检查这个宽表任务在指定的时间周期有没有完成。
---
Q: 启动WorkerServer服务时不能正常启动,报以下信息是什么原因?
```
[INFO] 2019-05-06 16:39:31.492 cn.escheduler.server.zk.ZKWorkerClient:[155] - register failure , worker already started on : 127.0.0.1, please wait for a moment and try again
```
A:Worker/Master Server在启动时,会向Zookeeper注册自己的启动信息,是Zookeeper的临时节点,如果两次启动时间间隔较短的情况,上次启动的Worker/Master Server在Zookeeper的会话还未过期,会出现上述信息,处理办法是等待session过期,一般是1分钟左右
----
Q: 编译时escheduler-grpc模块一直报错:Information:java: Errors occurred while compiling module 'escheduler-rpc', 找不到LogParameter、RetStrInfo、RetByteInfo等class类
A: 这是因为rpc源码包是google Grpc实现的,需要使用maven进行编译,在根目录下执行:mvn -U clean package assembly:assembly -Dmaven.test.skip=true , 然后刷新下整个项目
----
Q:EasyScheduler支持windows上运行么?
A: 建议在Ubuntu、Centos上运行,暂不支持windows上运行,不过windows上可以进行编译。开发调试的话建议Ubuntu或者mac上进行。
-----
Q: 自定义参数如何使用?
A:
----
Q:任务为什么不执行?
A: 不执行的原因:
查看xx表里有没有内容?
查看Master server的运行日志:
查看Worker Server的运行日志
----
Q: 为什么任务一直在运行中?
A:
----
Q: 任务
escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java
浏览文件 @
4ff54a0c
...
@@ -1377,7 +1377,7 @@ public class ProcessDao extends AbstractBaseDao {
...
@@ -1377,7 +1377,7 @@ public class ProcessDao extends AbstractBaseDao {
* @return
* @return
*/
*/
public
List
<
TaskInstance
>
queryNeedFailoverTaskInstances
(
String
host
){
public
List
<
TaskInstance
>
queryNeedFailoverTaskInstances
(
String
host
){
return
taskInstanceMapper
.
queryByHostAndStatus
(
host
,
stateArray
);
return
taskInstanceMapper
.
queryByHostAndStatus
(
host
,
stateArray
);
}
}
/**
/**
...
@@ -1555,10 +1555,16 @@ public class ProcessDao extends AbstractBaseDao {
...
@@ -1555,10 +1555,16 @@ public class ProcessDao extends AbstractBaseDao {
}
}
public
void
selfFaultTolerant
(
int
...
states
){
/**
List
<
ProcessInstance
>
processInstanceList
=
processInstanceMapper
.
listByStatus
(
states
);
* master starup fault tolerant
*/
public
void
masterStartupFaultTolerant
(){
int
[]
readyStopAndKill
=
new
int
[]{
ExecutionStatus
.
READY_PAUSE
.
ordinal
(),
ExecutionStatus
.
READY_STOP
.
ordinal
(),
ExecutionStatus
.
NEED_FAULT_TOLERANCE
.
ordinal
(),
ExecutionStatus
.
RUNNING_EXEUTION
.
ordinal
()};
List
<
ProcessInstance
>
processInstanceList
=
processInstanceMapper
.
listByStatus
(
readyStopAndKill
);
for
(
ProcessInstance
processInstance:
processInstanceList
){
for
(
ProcessInstance
processInstance:
processInstanceList
){
selfFaultTolerant
(
processInstance
);
processNeedFailoverProcessInstances
(
processInstance
);
}
}
}
}
...
...
escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java
浏览文件 @
4ff54a0c
...
@@ -134,7 +134,7 @@ public class ZKMasterClient extends AbstractZKClient {
...
@@ -134,7 +134,7 @@ public class ZKMasterClient extends AbstractZKClient {
// check if fault tolerance is required,failure and tolerance
// check if fault tolerance is required,failure and tolerance
if
(
getActiveMasterNum
()
==
1
)
{
if
(
getActiveMasterNum
()
==
1
)
{
processDao
.
selfFaultTolerant
(
ExecutionStatus
.
RUNNING_EXEUTION
.
ordinal
(),
ExecutionStatus
.
NEED_FAULT_TOLERANCE
.
ordinal
()
);
processDao
.
masterStartupFaultTolerant
(
);
}
}
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
...
...
escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/list.vue
浏览文件 @
4ff54a0c
...
@@ -53,8 +53,8 @@
...
@@ -53,8 +53,8 @@
</td>
</td>
<td><span
class=
"ellipsis"
>
{{
item
.
desc
}}
</span></td>
<td><span
class=
"ellipsis"
>
{{
item
.
desc
}}
</span></td>
<td>
<td>
<span
v-if=
"item.scheduleReleaseState === 'OFFLINE'"
>
{{
$t
(
'
o
n
line
'
)
}}
</span>
<span
v-if=
"item.scheduleReleaseState === 'OFFLINE'"
>
{{
$t
(
'
o
ff
line
'
)
}}
</span>
<span
v-if=
"item.scheduleReleaseState === 'ONLINE'"
>
{{
$t
(
'
o
ff
line
'
)
}}
</span>
<span
v-if=
"item.scheduleReleaseState === 'ONLINE'"
>
{{
$t
(
'
o
n
line
'
)
}}
</span>
<span
v-if=
"!item.scheduleReleaseState"
>
-
</span>
<span
v-if=
"!item.scheduleReleaseState"
>
-
</span>
</td>
</td>
<td>
<td>
...
@@ -295,10 +295,8 @@
...
@@ -295,10 +295,8 @@
/**
/**
* click the select-all checkbox
* click the select-all checkbox
*/
*/
_topCheckBoxClick
(
v
)
{
_topCheckBoxClick
(
is
)
{
this
.
list
.
forEach
((
item
,
i
)
=>
{
_
.
map
(
this
.
list
,
v
=>
v
.
isCheck
=
v
.
releaseState
===
'
ONLINE
'
?
false
:
is
)
this
.
$set
(
this
.
list
[
i
],
'
isCheck
'
,
item
.
releaseState
!==
'
OFFLINE
'
?
v
:
false
)
})
this
.
_arrDelChange
()
this
.
_arrDelChange
()
},
},
/**
/**
...
...
escheduler-ui/src/js/conf/home/pages/projects/pages/definition/timing/_source/list.vue
浏览文件 @
4ff54a0c
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
:disabled=
"item.releaseState === 'ONLINE'"
>
:disabled=
"item.releaseState === 'ONLINE'"
>
</x-button>
</x-button>
<x-button
<x-button
type=
"
success
"
type=
"
warning
"
shape=
"circle"
shape=
"circle"
size=
"xsmall"
size=
"xsmall"
data-toggle=
"tooltip"
data-toggle=
"tooltip"
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
v-if=
"item.releaseState === 'OFFLINE'"
>
v-if=
"item.releaseState === 'OFFLINE'"
>
</x-button>
</x-button>
<x-button
<x-button
type=
"
warning
"
type=
"
error
"
shape=
"circle"
shape=
"circle"
size=
"xsmall"
size=
"xsmall"
data-toggle=
"tooltip"
data-toggle=
"tooltip"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录