常见问题

IP白名单

重要

IP白名单会发生变动,非固定IP。 如按照文档添加IP白名单后仍有以下报错 'xxx' is not in white list , 请提交工单获取最新IP白名单

Region

经典网白名单

VPC白名单

华东1(杭州)

11.197.14.0/24

11.197.15.0/24

100.104.191.0/24

华东2(上海)

11.217.75.0/24

11.222.38.0/24

11.222.93.0/24

11.223.69.0/24

100.104.136.0/24

华北2(北京)

11.204.155.0/24

11.204.158.0/24

11.204.161.0/24

11.204.162.0/24

11.218.245.0/24

11.220.203.0/24

11.220.204.0/24

11.220.216.0/24

11.220.217.0/24

11.220.237.0/24

11.220.238.0/24

11.220.240.0/24

11.220.242.0/24

11.223.107.0/24

100.104.33.0/24

华南1(深圳)

11.216.113.0/24

11.217.52.0/24

11.220.54.0/24

11.220.56.0/24

10.58.213.157

10.58.213.173

10.58.213.160

10.58.213.151

10.58.213.156

11.114.243.70

10.58.219.72

10.58.219.70

10.58.219.74

10.58.219.73

10.58.219.71

10.58.213.175

10.58.213.152

10.58.213.174

10.58.213.148

10.58.213.158

26.41.109.7

100.104.55.0/24

亚太东南1(新加坡)

11.195.209.0/24

11.112.208.0/24

11.197.63.0/24

100.104.163.0/24

政务云(北京)

11.199.246.0/24

11.199.247.0/24

100.104.254.0/26

华北 3(张家口)

11.218.202.0/24

11.218.203.0/24

100.104.195.0/26

亚太南部 1(孟买-印度)关停中

11.207.230.0/24

11.207.231.0/24

11.207.248.0/24

100.104.254.0/26

亚太东南 3(吉隆坡-马来西亚)

11.204.39.0/24

11.204.40.0/24

11.204.41.0/24

11.48.249.0/24

11.48.250.0/24

100.104.13.0/24

中国香港

11.195.192.0/24

26.53.105.129

26.49.144.94

26.49.143.19

26.49.143.227

26.49.143.224

11.119.176.89

100.104.166.0/24

美国硅谷

11.199.218.0/24

11.199.219.0/24

11.199.229.0/24

100.104.235.0/24

权限问题

报错显示如下:

com.aliyun.datahub.exception.NoPermissionException: No permission, authentication failed in ram

没有权限,一般是子账号没有授权导致,授权文档:在RAM中添加权限,可以参考权限控制

RDS VPC 报错

报错显示如下:

InvalidInstanceId.NotFound:The instance not in current vpc

解决办法:

  1. 查询实例详情

  2. 输入服务地址和实例ID,如下图所示vpc-2

  3. 点击调试,在返回的结果中查找VpcCloudInstanceIdvpc-3

  4. 返回DataHub同步RDS页面,将获取到的VpcCloudInstanceId填入实例ID框内

jar包冲突

使用Java SDK,常见jar包冲突有以下几种

  • InjectionManagerFactory not found

    • SDK默认依赖jersey-client 2.22.1版本,如果用户依赖高版本,需要增加依赖。

  <dependency>
      <groupId>org.glassfish.jersey.inject</groupId>
      <artifactId>jersey-hk2</artifactId>
      <version>xxx</version>
    </dependency>
  • java.lang.NoSuchFieldError: EXCLUDE_EMPTY

    • jersey-common库版本太低,建议使用或高于SDK依赖版本,即 >= 2.22.1

  • Error reading entity from input stream

    • 原因1:httpclient版本太低,版本 >= 4.5.2

    • 原因2: 使用了新的数据类型,和SDK版本不匹配,需要升级SDK版本

  • jersey-apache-connector高版本有tcp链接bug

    • 使用2.22.1版本

  • java.lang.NosuchMethodError:okhttp3.HttpUrl.get(java/lang/String:)okhttp3/HttpUrl

    • 看下 mvn dependency:tree 是否有其他组件依赖来冲突的 okhttp版本

  • javax/ws/rs/core/ResponseStatusFamily

    • 检查javax.ws.rs包依赖情况,比如是否错误依赖了jsr311-api

其他问题

  • Parse body failed,Offset: 0

    • 一般出现写入数据时,在专有云的datahub中,因版本较低,所以不支持protobuf的二进制传输模式,而一些SDK默认都是开启二进制传输的,需要手动关闭即可。

    • Java SDk

datahubClient = DatahubClientBuilder.newBuilder()
    .setDatahubConfig(
        new DatahubConfig(endpoint,
            // 是否开启二进制传输,服务端2.12版本开始支持
            new AliyunAccount(accessId, accessKey), true))
    .build();
  • Python SDK

# Json mode: for datahub server version <= 2.11
dh = DataHub(access_id, access_key, endpoint, enable_pb=False)
  • GO SDK

config := &datahub.Config{
    EnableBinary:   false,
}
dh := datahub.NewClientWithConfig(accessId, accessKey, endpoint, config)
  • logstash

添加配置 enable_pb => false

  • Request body size exceeded

  • Record field size not match.

    • 表示传入的schema参数与Topic中的schema不符合,建议采用getTopic来获取schema。

  • The limit of query rate is exceeded.

    • 为了保证资源的有效利用,datahub服务器对请求的QPS进行了限制,出现这种情况一般是写入或者读取的频率过高,建议批量写入和批量读取,例如每1分钟写入一次,每次读取1000条record。

  • Num of topics exceed limit

    • 新版本datahub中限制每个project中最多20个Topic。

  • SeekOutOfRange

    • 点位参数非法或者点位已经失效。

  • Offset session has changed

    • 订阅是无法进行并行消费,请检查程序中是否存在多处消费同一个订阅的情况。

  • sink to odps,Decimal是否支持

    • 支持没有指定精度的decimal,默认(36,18)

  • addAttribute是什么意思

    • recordEntry.addAttribute(“key1”, “value1”)可以对一条record添加额外属性,可选项,可以根据实际的场景进行添加。

  • 如何删除Topic中的数据

    • datahub目前不支持删除Topic中的数据,建议采用重置点位来让数据失效。

  • 在配置所定义的OSS路径下以随机文件名创建文件,每个Shard对应一个文件,当文件大小达到5GB时,将创建新文件 ,可以修改吗?

    • 不能修改

  • ADS无法访问公网域名的解决方案

    • 需要在ads申请内网域名,连上数据库,指向alter database set intranet_vip = true,然后查询 select internal_domain, internal_port from information_schemata;