Search in sources :

Example 1 with OuterAdapterConfig

use of com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig in project canal by alibaba.

the class Common method init.

public static KuduAdapter init() {
    DatasourceConfig.DATA_SOURCES.put("defaultDS", TestConstant.dataSource);
    OuterAdapterConfig outerAdapterConfig = new OuterAdapterConfig();
    outerAdapterConfig.setName("kudu");
    outerAdapterConfig.setKey("kudu");
    Map<String, String> properties = new HashMap<>();
    properties.put("kudu.master.address", "10.6.36.102,10.6.36.187,10.6.36.229");
    outerAdapterConfig.setProperties(properties);
    KuduAdapter adapter = new KuduAdapter();
    adapter.init(outerAdapterConfig, null);
    return adapter;
}
Also used : HashMap(java.util.HashMap) OuterAdapterConfig(com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig) KuduAdapter(com.alibaba.otter.canal.client.adapter.kudu.KuduAdapter)

Example 2 with OuterAdapterConfig

use of com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig in project canal by alibaba.

the class Common method init.

public static RdbAdapter init() {
    DatasourceConfig.DATA_SOURCES.put("defaultDS", TestConstant.dataSource);
    OuterAdapterConfig outerAdapterConfig = new OuterAdapterConfig();
    outerAdapterConfig.setName("rdb");
    outerAdapterConfig.setKey("oracle1");
    Map<String, String> properties = new HashMap<>();
    properties.put("jdbc.driveClassName", "oracle.jdbc.OracleDriver");
    properties.put("jdbc.url", "jdbc:oracle:thin:@127.0.0.1:49161:XE");
    properties.put("jdbc.username", "mytest");
    properties.put("jdbc.password", "m121212");
    outerAdapterConfig.setProperties(properties);
    RdbAdapter adapter = new RdbAdapter();
    adapter.init(outerAdapterConfig, null);
    return adapter;
}
Also used : HashMap(java.util.HashMap) RdbAdapter(com.alibaba.otter.canal.client.adapter.rdb.RdbAdapter) OuterAdapterConfig(com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig)

Example 3 with OuterAdapterConfig

use of com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig in project canal by alibaba.

the class Common method init.

public static ES6xAdapter init() {
    DatasourceConfig.DATA_SOURCES.put("defaultDS", TestConstant.dataSource);
    OuterAdapterConfig outerAdapterConfig = new OuterAdapterConfig();
    outerAdapterConfig.setName("es");
    outerAdapterConfig.setHosts(TestConstant.esHosts);
    Map<String, String> properties = new HashMap<>();
    properties.put("cluster.name", TestConstant.clusterName);
    outerAdapterConfig.setProperties(properties);
    ES6xAdapter esAdapter = new ES6xAdapter();
    esAdapter.init(outerAdapterConfig, null);
    return esAdapter;
}
Also used : HashMap(java.util.HashMap) ES6xAdapter(com.alibaba.otter.canal.client.adapter.es6x.ES6xAdapter) OuterAdapterConfig(com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig)

Example 4 with OuterAdapterConfig

use of com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig in project canal by alibaba.

the class CanalAdapterLoader method init.

/**
 * 初始化canal-client
 */
public void init() {
    loader = ExtensionLoader.getExtensionLoader(OuterAdapter.class);
    for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
        for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
            List<List<OuterAdapter>> canalOuterAdapterGroups = new CopyOnWriteArrayList<>();
            List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
            for (OuterAdapterConfig config : group.getOuterAdapters()) {
                loadAdapter(config, canalOuterAdapters);
            }
            canalOuterAdapterGroups.add(canalOuterAdapters);
            AdapterProcessor adapterProcessor = canalAdapterProcessors.computeIfAbsent(canalAdapter.getInstance() + "|" + StringUtils.trimToEmpty(group.getGroupId()), f -> new AdapterProcessor(canalClientConfig, canalAdapter.getInstance(), group.getGroupId(), canalOuterAdapterGroups));
            adapterProcessor.start();
            logger.info("Start adapter for canal-client mq topic: {} succeed", canalAdapter.getInstance() + "-" + group.getGroupId());
        }
    }
// if ("tcp".equalsIgnoreCase(canalClientConfig.getMode())) {
// // 初始化canal-client的适配器
// for (CanalClientConfig.CanalAdapter canalAdapter :
// canalClientConfig.getCanalAdapters()) {
// List<List<OuterAdapter>> canalOuterAdapterGroups = new
// CopyOnWriteArrayList<>();
// 
// for (CanalClientConfig.Group connectorGroup :
// canalAdapter.getGroups()) {
// List<OuterAdapter> canalOutConnectors = new CopyOnWriteArrayList<>();
// for (OuterAdapterConfig c : connectorGroup.getOuterAdapters()) {
// loadAdapter(c, canalOutConnectors);
// }
// canalOuterAdapterGroups.add(canalOutConnectors);
// }
// CanalAdapterWorker worker;
// if (StringUtils.isNotEmpty(canalServerHost)) {
// worker = new CanalAdapterWorker(canalClientConfig,
// canalAdapter.getInstance(),
// canalServerHost,
// zkHosts,
// canalOuterAdapterGroups);
// } else if (zkHosts != null) {
// worker = new CanalAdapterWorker(canalClientConfig,
// canalAdapter.getInstance(),
// zkHosts,
// canalOuterAdapterGroups);
// } else {
// throw new RuntimeException("No canal server connector found");
// }
// canalWorkers.put(canalAdapter.getInstance(), worker);
// worker.start();
// logger.info("Start adapter for canal instance: {} succeed",
// canalAdapter.getInstance());
// }
// } else if ("kafka".equalsIgnoreCase(canalClientConfig.getMode())) {
// // 初始化canal-client-kafka的适配器
// for (CanalClientConfig.CanalAdapter canalAdapter :
// canalClientConfig.getCanalAdapters()) {
// for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
// List<List<OuterAdapter>> canalOuterAdapterGroups = new
// CopyOnWriteArrayList<>();
// List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
// for (OuterAdapterConfig config : group.getOuterAdapters()) {
// loadAdapter(config, canalOuterAdapters);
// }
// canalOuterAdapterGroups.add(canalOuterAdapters);
// 
// CanalAdapterKafkaWorker canalKafkaWorker = new
// CanalAdapterKafkaWorker(canalClientConfig,
// canalClientConfig.getMqServers(),
// canalAdapter.getInstance(),
// group.getGroupId(),
// canalOuterAdapterGroups,
// canalClientConfig.getFlatMessage());
// canalMQWorker.put(canalAdapter.getInstance() + "-kafka-" +
// group.getGroupId(), canalKafkaWorker);
// canalKafkaWorker.start();
// logger.info("Start adapter for canal-client mq topic: {} succeed",
// canalAdapter.getInstance() + "-" + group.getGroupId());
// }
// }
// } else if ("rocketMQ".equalsIgnoreCase(canalClientConfig.getMode()))
// {
// // 初始化canal-client-rocketMQ的适配器
// for (CanalClientConfig.CanalAdapter canalAdapter :
// canalClientConfig.getCanalAdapters()) {
// for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
// List<List<OuterAdapter>> canalOuterAdapterGroups = new
// CopyOnWriteArrayList<>();
// List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
// for (OuterAdapterConfig config : group.getOuterAdapters()) {
// loadAdapter(config, canalOuterAdapters);
// }
// canalOuterAdapterGroups.add(canalOuterAdapters);
// CanalAdapterRocketMQWorker rocketMQWorker = new
// CanalAdapterRocketMQWorker(canalClientConfig,
// canalClientConfig.getMqServers(),
// canalAdapter.getInstance(),
// group.getGroupId(),
// canalOuterAdapterGroups,
// canalClientConfig.getAccessKey(),
// canalClientConfig.getSecretKey(),
// canalClientConfig.getFlatMessage(),
// canalClientConfig.isEnableMessageTrace(),
// canalClientConfig.getCustomizedTraceTopic(),
// canalClientConfig.getAccessChannel(),
// canalClientConfig.getNamespace());
// canalMQWorker.put(canalAdapter.getInstance() + "-rocketmq-" +
// group.getGroupId(), rocketMQWorker);
// rocketMQWorker.start();
// 
// logger.info("Start adapter for canal-client mq topic: {} succeed",
// canalAdapter.getInstance() + "-" + group.getGroupId());
// }
// }
// } else if ("rabbitMQ".equalsIgnoreCase(canalClientConfig.getMode()))
// {
// // 初始化canal-client-rabbitMQ的适配器
// for (CanalClientConfig.CanalAdapter canalAdapter :
// canalClientConfig.getCanalAdapters()) {
// for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
// List<List<OuterAdapter>> canalOuterAdapterGroups = new
// CopyOnWriteArrayList<>();
// List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
// for (OuterAdapterConfig config : group.getOuterAdapters()) {
// loadAdapter(config, canalOuterAdapters);
// }
// canalOuterAdapterGroups.add(canalOuterAdapters);
// CanalAdapterRabbitMQWorker rabbitMQWork = new
// CanalAdapterRabbitMQWorker(canalClientConfig,
// canalOuterAdapterGroups,
// canalAdapter.getInstance(),
// group.getGroupId(),
// canalClientConfig.getFlatMessage());
// canalMQWorker.put(canalAdapter.getInstance() + "-rabbitmq-" +
// group.getGroupId(), rabbitMQWork);
// rabbitMQWork.start();
// 
// logger.info("Start adapter for canal-client mq topic: {} succeed",
// canalAdapter.getInstance() + "-" + group.getGroupId());
// }
// }
// // CanalAdapterRabbitMQWork
// }
}
Also used : List(java.util.List) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) CanalClientConfig(com.alibaba.otter.canal.client.adapter.support.CanalClientConfig) OuterAdapterConfig(com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig) OuterAdapter(com.alibaba.otter.canal.client.adapter.OuterAdapter) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList)

Example 5 with OuterAdapterConfig

use of com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig in project canal by alibaba.

the class Common method init.

public static PhoenixAdapter init() {
    DatasourceConfig.DATA_SOURCES.put("defaultDS", TestConstant.dataSource);
    OuterAdapterConfig outerAdapterConfig = new OuterAdapterConfig();
    outerAdapterConfig.setName("phoenix");
    outerAdapterConfig.setKey("phoenix");
    Map<String, String> properties = new HashMap<>();
    properties.put("jdbc.driverClassName", "org.apache.phoenix.jdbc.PhoenixDriver");
    properties.put("jdbc.url", "jdbc:phoenix:zookeeper01,zookeeper02,zookeeper03:2181:/hbase/db");
    outerAdapterConfig.setProperties(properties);
    PhoenixAdapter adapter = new PhoenixAdapter();
    adapter.init(outerAdapterConfig, null);
    return adapter;
}
Also used : HashMap(java.util.HashMap) OuterAdapterConfig(com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig) PhoenixAdapter(com.alibaba.otter.canal.client.adapter.phoenix.PhoenixAdapter)

Aggregations

OuterAdapterConfig (com.alibaba.otter.canal.client.adapter.support.OuterAdapterConfig)5 HashMap (java.util.HashMap)4 OuterAdapter (com.alibaba.otter.canal.client.adapter.OuterAdapter)1 ES6xAdapter (com.alibaba.otter.canal.client.adapter.es6x.ES6xAdapter)1 KuduAdapter (com.alibaba.otter.canal.client.adapter.kudu.KuduAdapter)1 PhoenixAdapter (com.alibaba.otter.canal.client.adapter.phoenix.PhoenixAdapter)1 RdbAdapter (com.alibaba.otter.canal.client.adapter.rdb.RdbAdapter)1 CanalClientConfig (com.alibaba.otter.canal.client.adapter.support.CanalClientConfig)1 List (java.util.List)1 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)1