Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Forever310
druid
提交
60282733
D
druid
项目概览
Forever310
/
druid
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
druid
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
60282733
编写于
12月 07, 2012
作者:
F
Fangjin Yang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
defaults for rules to make startup a bit easier
上级
6e775a9e
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
62 addition
and
2 deletion
+62
-2
client/src/main/java/com/metamx/druid/client/DruidServerConfig.java
.../main/java/com/metamx/druid/client/DruidServerConfig.java
+1
-0
server/src/main/java/com/metamx/druid/db/DatabaseRuleManager.java
...rc/main/java/com/metamx/druid/db/DatabaseRuleManager.java
+54
-0
server/src/main/java/com/metamx/druid/http/MasterMain.java
server/src/main/java/com/metamx/druid/http/MasterMain.java
+3
-1
server/src/main/java/com/metamx/druid/utils/DruidSetup.java
server/src/main/java/com/metamx/druid/utils/DruidSetup.java
+3
-0
server/src/main/resources/static/js/rules-0.0.1.js
server/src/main/resources/static/js/rules-0.0.1.js
+1
-1
未找到文件。
client/src/main/java/com/metamx/druid/client/DruidServerConfig.java
浏览文件 @
60282733
...
...
@@ -36,5 +36,6 @@ public abstract class DruidServerConfig
public
abstract
long
getMaxSize
();
@Config
(
"druid.server.tier"
)
@Default
(
"_default_tier"
)
public
abstract
String
getTier
();
}
server/src/main/java/com/metamx/druid/db/DatabaseRuleManager.java
浏览文件 @
60282733
...
...
@@ -27,11 +27,13 @@ import com.metamx.common.concurrent.ScheduledExecutors;
import
com.metamx.common.lifecycle.LifecycleStart
;
import
com.metamx.common.lifecycle.LifecycleStop
;
import
com.metamx.common.logger.Logger
;
import
com.metamx.druid.master.rules.PeriodLoadRule
;
import
com.metamx.druid.master.rules.Rule
;
import
org.codehaus.jackson.map.ObjectMapper
;
import
org.codehaus.jackson.type.TypeReference
;
import
org.joda.time.DateTime
;
import
org.joda.time.Duration
;
import
org.joda.time.Period
;
import
org.skife.jdbi.v2.DBI
;
import
org.skife.jdbi.v2.FoldController
;
import
org.skife.jdbi.v2.Folder3
;
...
...
@@ -40,6 +42,7 @@ import org.skife.jdbi.v2.StatementContext;
import
org.skife.jdbi.v2.tweak.HandleCallback
;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
...
...
@@ -50,6 +53,57 @@ import java.util.concurrent.atomic.AtomicReference;
*/
public
class
DatabaseRuleManager
{
public
static
void
createDefaultRule
(
final
DBI
dbi
,
final
String
ruleTable
,
final
ObjectMapper
jsonMapper
)
{
try
{
dbi
.
withHandle
(
new
HandleCallback
<
Void
>()
{
@Override
public
Void
withHandle
(
Handle
handle
)
throws
Exception
{
List
<
Map
<
String
,
Object
>>
existing
=
handle
.
select
(
String
.
format
(
"SELECT id from %s where datasource='_default';"
,
ruleTable
)
);
if
(!
existing
.
isEmpty
())
{
return
null
;
}
final
List
<
Rule
>
defaultRules
=
Arrays
.<
Rule
>
asList
(
new
PeriodLoadRule
(
new
Period
(
"P5000Y"
),
2
,
"_default_tier"
)
);
final
String
dataSource
=
"_default"
;
final
String
version
=
new
DateTime
().
toString
();
handle
.
createStatement
(
String
.
format
(
"INSERT INTO %s (id, dataSource, version, payload) VALUES (:id, :dataSource, :version, :payload)"
,
ruleTable
)
)
.
bind
(
"id"
,
String
.
format
(
"%s_%s"
,
dataSource
,
version
))
.
bind
(
"dataSource"
,
dataSource
)
.
bind
(
"version"
,
version
)
.
bind
(
"payload"
,
jsonMapper
.
writeValueAsString
(
defaultRules
))
.
execute
();
return
null
;
}
}
);
}
catch
(
Exception
e
)
{
throw
Throwables
.
propagate
(
e
);
}
}
private
static
final
Logger
log
=
new
Logger
(
DatabaseRuleManager
.
class
);
private
final
ObjectMapper
jsonMapper
;
...
...
server/src/main/java/com/metamx/druid/http/MasterMain.java
浏览文件 @
60282733
...
...
@@ -125,12 +125,14 @@ public class MasterMain
configFactory
.
build
(
DatabaseSegmentManagerConfig
.
class
),
dbi
);
final
DatabaseRuleManagerConfig
databaseRuleManagerConfig
=
configFactory
.
build
(
DatabaseRuleManagerConfig
.
class
);
final
DatabaseRuleManager
databaseRuleManager
=
new
DatabaseRuleManager
(
jsonMapper
,
scheduledExecutorFactory
.
create
(
1
,
"DatabaseRuleManager-Exec--%d"
),
configFactory
.
build
(
DatabaseRuleManagerConfig
.
class
)
,
databaseRuleManagerConfig
,
dbi
);
DatabaseRuleManager
.
createDefaultRule
(
dbi
,
databaseRuleManagerConfig
.
getRuleTable
(),
jsonMapper
);
final
ScheduledExecutorService
globalScheduledExec
=
scheduledExecutorFactory
.
create
(
1
,
"Global--%d"
);
final
MonitorScheduler
healthMonitor
=
new
MonitorScheduler
(
...
...
server/src/main/java/com/metamx/druid/utils/DruidSetup.java
浏览文件 @
60282733
...
...
@@ -21,9 +21,11 @@ package com.metamx.druid.utils;
import
com.google.common.io.Closeables
;
import
com.metamx.common.logger.Logger
;
import
com.metamx.druid.db.DatabaseRuleManager
;
import
com.metamx.druid.db.DbConnector
;
import
com.metamx.druid.db.DbConnectorConfig
;
import
com.metamx.druid.initialization.Initialization
;
import
com.metamx.druid.jackson.DefaultObjectMapper
;
import
com.metamx.druid.zk.PropertiesZkSerializer
;
import
org.I0Itec.zkclient.ZkClient
;
import
org.I0Itec.zkclient.ZkConnection
;
...
...
@@ -381,6 +383,7 @@ public class DruidSetup
DbConnector
.
createSegmentTable
(
dbConnector
.
getDBI
(),
tableName
);
DbConnector
.
createRuleTable
(
dbConnector
.
getDBI
(),
ruleTableName
);
DatabaseRuleManager
.
createDefaultRule
(
dbConnector
.
getDBI
(),
ruleTableName
,
new
DefaultObjectMapper
());
}
/**
...
...
server/src/main/resources/static/js/rules-0.0.1.js
浏览文件 @
60282733
var
tiers
=
[];
var
defaultDatasource
=
"
_
mmx_
default
"
;
var
defaultDatasource
=
"
_default
"
;
var
ruleTypes
=
[
"
loadByInterval
"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录