mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
add autoRegister and cluster
This commit is contained in:
@@ -23,6 +23,8 @@ public class CanalConstants {
|
||||
public static final String CANAL_ADMIN_PORT = ROOT + "." + "admin.port";
|
||||
public static final String CANAL_ADMIN_USER = ROOT + "." + "admin.user";
|
||||
public static final String CANAL_ADMIN_PASSWD = ROOT + "." + "admin.passwd";
|
||||
public static final String CANAL_ADMIN_AUTO_REGISTER = ROOT + "." + "admin.auto.register";
|
||||
public static final String CANAL_ADMIN_AUTO_CLUSTER = ROOT + "." + "admin.auto.cluster";
|
||||
public static final String CANAL_ZKSERVERS = ROOT + "." + "zkServers";
|
||||
public static final String CANAL_WITHOUT_NETTY = ROOT + "." + "withoutNetty";
|
||||
|
||||
|
||||
@@ -47,7 +47,6 @@ import com.google.common.collect.MigrateMap;
|
||||
public class CanalController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CanalController.class);
|
||||
private Long cid;
|
||||
private String ip;
|
||||
private String registerIp;
|
||||
private int port;
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.commons.lang.BooleanUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -46,12 +47,15 @@ public class CanalLauncher {
|
||||
}
|
||||
|
||||
final CanalStater canalStater = new CanalStater(properties);
|
||||
String managerAddress = properties.getProperty(CanalConstants.CANAL_ADMIN_MANAGER);
|
||||
String managerAddress = CanalController.getProperty(properties, CanalConstants.CANAL_ADMIN_MANAGER);
|
||||
if (StringUtils.isNotEmpty(managerAddress)) {
|
||||
String user = properties.getProperty(CanalConstants.CANAL_ADMIN_USER);
|
||||
String passwd = properties.getProperty(CanalConstants.CANAL_ADMIN_PASSWD);
|
||||
String adminPort = properties.getProperty(CanalConstants.CANAL_ADMIN_PORT, "11110");
|
||||
String registerIp = properties.getProperty(CanalConstants.CANAL_REGISTER_IP);
|
||||
String user = CanalController.getProperty(properties, CanalConstants.CANAL_ADMIN_USER);
|
||||
String passwd = CanalController.getProperty(properties, CanalConstants.CANAL_ADMIN_PASSWD);
|
||||
String adminPort = CanalController.getProperty(properties, CanalConstants.CANAL_ADMIN_PORT);
|
||||
boolean autoRegister = BooleanUtils.toBoolean(CanalController.getProperty(properties,
|
||||
CanalConstants.CANAL_ADMIN_AUTO_REGISTER));
|
||||
String autoCluster = CanalController.getProperty(properties, CanalConstants.CANAL_ADMIN_AUTO_CLUSTER);
|
||||
String registerIp = CanalController.getProperty(properties, CanalConstants.CANAL_REGISTER_IP);
|
||||
if (StringUtils.isEmpty(registerIp)) {
|
||||
registerIp = AddressUtils.getHostIp();
|
||||
}
|
||||
@@ -59,7 +63,9 @@ public class CanalLauncher {
|
||||
user,
|
||||
passwd,
|
||||
registerIp,
|
||||
Integer.parseInt(adminPort));
|
||||
Integer.parseInt(adminPort),
|
||||
autoRegister,
|
||||
autoCluster);
|
||||
PlainCanal canalConfig = configClient.findServer(null);
|
||||
if (canalConfig == null) {
|
||||
throw new IllegalArgumentException("managerAddress:" + managerAddress
|
||||
@@ -69,8 +75,8 @@ public class CanalLauncher {
|
||||
Properties managerProperties = canalConfig.getProperties();
|
||||
// merge local
|
||||
managerProperties.putAll(properties);
|
||||
int scanIntervalInSecond = Integer.valueOf(properties.getProperty(CanalConstants.CANAL_AUTO_SCAN_INTERVAL,
|
||||
"5"));
|
||||
int scanIntervalInSecond = Integer.valueOf(CanalController.getProperty(properties,
|
||||
CanalConstants.CANAL_AUTO_SCAN_INTERVAL));
|
||||
executor.scheduleWithFixedDelay(new Runnable() {
|
||||
|
||||
private PlainCanal lastCanalConfig;
|
||||
|
||||
@@ -5,4 +5,7 @@ canal.register.ip =
|
||||
canal.admin.manager = 127.0.0.1:8089
|
||||
canal.admin.port = 11110
|
||||
canal.admin.user = admin
|
||||
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
|
||||
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
|
||||
# admin auto register
|
||||
canal.admin.register.auto = true
|
||||
canal.admin.register.cluster =
|
||||
Reference in New Issue
Block a user