开发环境配置


开发环境配置

English | 简体中文


前置条件

Bitsail支持在本地IDE运行集成测试,为此需要:

在安装上述必需组件后,您可以在本地的IDE上直接运行已有的集成测试。

从源代码编译

适配hive环境

BitSail使用bitsail-shaded-hive模块来管理hive依赖,在其中使用3.1.0作为默认hive版本。 因此,用户如果想在其他版本的hive环境中部署和使用BitSail,需要先修改 bitsail-shaded-hiveopen in new window 中的hive版本信息(如下图所示)。

打包&产物结构

  • 运行此脚本在编译时将Flink嵌入到BitSail的包中。bash build.sh。如果Flink已经在你们的集群中提供,则可以打包时只包含BitSail相关代码 mvn clean package -pl bitsail-dist -am -Dmaven.test.skip=true

完成打包后,输出的文件在此目录下bitsail-dist/target/.

产物的目录结构如下:

bitsail-archive-${version}-SNAPSHOT    
    /bin  
        /bitsail #提交启动脚本
    /conf
        /bitsail.conf #bitsail 系统配置
    /embedded
        /flink #内嵌flink
    /examples #e运行样例配置
        /example-datas #运行样例数据
        /Fake_xx_Example.json #Fake source 导入到 xx 的样例配置文件
        /xx_Print_Example.json #xx 导入到 print sink 的样例配置文件
    /libs #运行需要的jar包
        /bitsail-core.jar #入口 jar 包
        /connectors #connector plugin实现jar包
            /mapping #connector plugin 配置文件
        /components #各个组件的实现包,例如metric、dirty-collector
        /clients #bitsail client jar 包

运行本地集成测试

bitsail-test-integrationopen in new window 模块中,我们提供了 Flink11Engineopen in new window 类用于启动一个本地运行的flink作业。

例如,我们为Kafka读连接器构建了一个集成测试 KafkaSourceITCaseopen in new window 。 在这个测试中,首先会使用 test containeropen in new window 在本地docker中启动Kafka服务。此后便可以通过 testKafkaSource 方法来启动一个本地的 kafka2print flink作业。

public class KafkaSourceITCase {
  // ...

  @Test
  public void testKafkaSource() throws Exception {
    BitSailConfiguration configuration = JobConfUtils.fromClasspath("kafka_to_print.json");
    updateConfiguration(configuration);
    EmbeddedFlinkCluster.submitJob(configuration);
  }
  
  // ...
}