Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lijianghuflute
canal
提交
17f4ee13
canal
项目概览
lijianghuflute
/
canal
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
canal
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
17f4ee13
编写于
4月 19, 2021
作者:
Z
zoemak
提交者:
GitHub
4月 19, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
自动注册时可自定义node server名称,canal.properties#canal.admin.register.name,为空则使用canal.register.ip (#3459)
上级
f0417502
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
21 addition
and
9 deletion
+21
-9
admin/admin-web/src/main/java/com/alibaba/otter/canal/admin/controller/PollingConfigController.java
...otter/canal/admin/controller/PollingConfigController.java
+3
-2
admin/admin-web/src/main/java/com/alibaba/otter/canal/admin/service/PollingConfigService.java
...ibaba/otter/canal/admin/service/PollingConfigService.java
+1
-1
admin/admin-web/src/main/java/com/alibaba/otter/canal/admin/service/impl/PollingConfigServiceImpl.java
...er/canal/admin/service/impl/PollingConfigServiceImpl.java
+3
-2
admin/admin-web/src/main/resources/canal-template.properties
admin/admin-web/src/main/resources/canal-template.properties
+4
-0
deployer/src/main/java/com/alibaba/otter/canal/deployer/CanalConstants.java
...java/com/alibaba/otter/canal/deployer/CanalConstants.java
+1
-0
deployer/src/main/java/com/alibaba/otter/canal/deployer/CanalLauncher.java
.../java/com/alibaba/otter/canal/deployer/CanalLauncher.java
+3
-1
deployer/src/main/resources/canal_local.properties
deployer/src/main/resources/canal_local.properties
+2
-1
instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/plain/PlainCanalConfigClient.java
.../canal/instance/manager/plain/PlainCanalConfigClient.java
+4
-2
未找到文件。
admin/admin-web/src/main/java/com/alibaba/otter/canal/admin/controller/PollingConfigController.java
浏览文件 @
17f4ee13
...
...
@@ -46,14 +46,15 @@ public class PollingConfigController {
public
BaseModel
<
CanalConfig
>
canalConfigPoll
(
@RequestHeader
String
user
,
@RequestHeader
String
passwd
,
@RequestParam
String
ip
,
@RequestParam
Integer
port
,
@RequestParam
String
md5
,
@RequestParam
boolean
register
,
@RequestParam
String
cluster
,
@PathVariable
String
env
)
{
@RequestParam
String
cluster
,
@RequestParam
String
name
,
@PathVariable
String
env
)
{
if
(!
auth
(
user
,
passwd
))
{
throw
new
RuntimeException
(
"auth :"
+
user
+
" is failed"
);
}
if
(
StringUtils
.
isEmpty
(
md5
)
&&
register
)
{
// do something
pollingConfigService
.
autoRegister
(
ip
,
port
,
cluster
);
pollingConfigService
.
autoRegister
(
ip
,
port
,
cluster
,
StringUtils
.
trimToNull
(
name
)
);
}
CanalConfig
canalConfig
=
pollingConfigService
.
getChangedConfig
(
ip
,
port
,
md5
);
...
...
admin/admin-web/src/main/java/com/alibaba/otter/canal/admin/service/PollingConfigService.java
浏览文件 @
17f4ee13
...
...
@@ -5,7 +5,7 @@ import com.alibaba.otter.canal.admin.model.CanalInstanceConfig;
public
interface
PollingConfigService
{
public
boolean
autoRegister
(
String
ip
,
Integer
adminPort
,
String
cluster
);
public
boolean
autoRegister
(
String
ip
,
Integer
adminPort
,
String
cluster
,
String
name
);
CanalConfig
getChangedConfig
(
String
ip
,
Integer
port
,
String
md5
);
...
...
admin/admin-web/src/main/java/com/alibaba/otter/canal/admin/service/impl/PollingConfigServiceImpl.java
浏览文件 @
17f4ee13
...
...
@@ -2,6 +2,7 @@ package com.alibaba.otter.canal.admin.service.impl;
import
java.security.NoSuchAlgorithmException
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
org.apache.commons.lang.StringUtils
;
...
...
@@ -28,11 +29,11 @@ public class PollingConfigServiceImpl implements PollingConfigService {
@Autowired
CanalClusterService
canalClusterService
;
public
boolean
autoRegister
(
String
ip
,
Integer
adminPort
,
String
cluster
)
{
public
boolean
autoRegister
(
String
ip
,
Integer
adminPort
,
String
cluster
,
String
name
)
{
NodeServer
server
=
NodeServer
.
find
.
query
().
where
().
eq
(
"ip"
,
ip
).
eq
(
"adminPort"
,
adminPort
).
findOne
();
if
(
server
==
null
)
{
server
=
new
NodeServer
();
server
.
setName
(
ip
);
server
.
setName
(
Optional
.
ofNullable
(
name
).
orElse
(
ip
)
);
server
.
setIp
(
ip
);
server
.
setAdminPort
(
adminPort
);
server
.
setTcpPort
(
adminPort
+
1
);
...
...
admin/admin-web/src/main/resources/canal-template.properties
浏览文件 @
17f4ee13
...
...
@@ -16,6 +16,10 @@ canal.metrics.pull.port = 11112
canal.admin.port
=
11110
canal.admin.user
=
admin
canal.admin.passwd
=
4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
#canal.admin.register.auto = true
#canal.admin.register.cluster =
#canal.admin.register.name =
canal.zkServers
=
# flush data to zk
...
...
deployer/src/main/java/com/alibaba/otter/canal/deployer/CanalConstants.java
浏览文件 @
17f4ee13
...
...
@@ -25,6 +25,7 @@ public class CanalConstants {
public
static
final
String
CANAL_ADMIN_PASSWD
=
ROOT
+
"."
+
"admin.passwd"
;
public
static
final
String
CANAL_ADMIN_AUTO_REGISTER
=
ROOT
+
"."
+
"admin.register.auto"
;
public
static
final
String
CANAL_ADMIN_AUTO_CLUSTER
=
ROOT
+
"."
+
"admin.register.cluster"
;
public
static
final
String
CANAL_ADMIN_REGISTER_NAME
=
ROOT
+
"."
+
"admin.register.name"
;
public
static
final
String
CANAL_ZKSERVERS
=
ROOT
+
"."
+
"zkServers"
;
public
static
final
String
CANAL_WITHOUT_NETTY
=
ROOT
+
"."
+
"withoutNetty"
;
...
...
deployer/src/main/java/com/alibaba/otter/canal/deployer/CanalLauncher.java
浏览文件 @
17f4ee13
...
...
@@ -55,6 +55,7 @@ public class CanalLauncher {
boolean
autoRegister
=
BooleanUtils
.
toBoolean
(
CanalController
.
getProperty
(
properties
,
CanalConstants
.
CANAL_ADMIN_AUTO_REGISTER
));
String
autoCluster
=
CanalController
.
getProperty
(
properties
,
CanalConstants
.
CANAL_ADMIN_AUTO_CLUSTER
);
String
name
=
CanalController
.
getProperty
(
properties
,
CanalConstants
.
CANAL_ADMIN_REGISTER_NAME
);
String
registerIp
=
CanalController
.
getProperty
(
properties
,
CanalConstants
.
CANAL_REGISTER_IP
);
if
(
StringUtils
.
isEmpty
(
registerIp
))
{
registerIp
=
AddressUtils
.
getHostIp
();
...
...
@@ -65,7 +66,8 @@ public class CanalLauncher {
registerIp
,
Integer
.
parseInt
(
adminPort
),
autoRegister
,
autoCluster
);
autoCluster
,
name
);
PlainCanal
canalConfig
=
configClient
.
findServer
(
null
);
if
(
canalConfig
==
null
)
{
throw
new
IllegalArgumentException
(
"managerAddress:"
+
managerAddress
...
...
deployer/src/main/resources/canal_local.properties
浏览文件 @
17f4ee13
...
...
@@ -8,4 +8,5 @@ canal.admin.user = admin
canal.admin.passwd
=
4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
canal.admin.register.auto
=
true
canal.admin.register.cluster
=
\ No newline at end of file
canal.admin.register.cluster
=
canal.admin.register.name
=
\ No newline at end of file
instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/plain/PlainCanalConfigClient.java
浏览文件 @
17f4ee13
...
...
@@ -35,12 +35,14 @@ public class PlainCanalConfigClient extends AbstractCanalLifeCycle implements Ca
private
int
adminPort
;
private
boolean
autoRegister
;
private
String
autoCluster
;
private
String
name
;
public
PlainCanalConfigClient
(
String
configURL
,
String
user
,
String
passwd
,
String
localIp
,
int
adminPort
,
boolean
autoRegister
,
String
autoCluster
){
boolean
autoRegister
,
String
autoCluster
,
String
name
){
this
(
configURL
,
user
,
passwd
,
localIp
,
adminPort
);
this
.
autoCluster
=
autoCluster
;
this
.
autoRegister
=
autoRegister
;
this
.
name
=
name
;
}
public
PlainCanalConfigClient
(
String
configURL
,
String
user
,
String
passwd
,
String
localIp
,
int
adminPort
){
...
...
@@ -71,7 +73,7 @@ public class PlainCanalConfigClient extends AbstractCanalLifeCycle implements Ca
md5
=
""
;
}
String
url
=
configURL
+
"/api/v1/config/server_polling?ip="
+
localIp
+
"&port="
+
adminPort
+
"&md5="
+
md5
+
"®ister="
+
(
autoRegister
?
1
:
0
)
+
"&cluster="
+
autoCluster
;
+
"®ister="
+
(
autoRegister
?
1
:
0
)
+
"&cluster="
+
autoCluster
+
"&name="
+
name
;
return
queryConfig
(
url
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录