全部产品
Search
文档中心

常见问题

更新时间: 2021-08-24

常见问题说明

RDS白名单

Region

经典网白名单

VPC白名单

华东1(杭州)

11.197.14.0/2411.197.15.0/24

100.104.191.0/24

华东2(上海)

11.217.75.0/2411.222.38.0/2411.222.93.0/2411.223.69.0/24

100.104.136.0/24

华北2(北京)

11.220.203.0/2411.220.204.0/2411.220.216.0/2411.220.217.0/2411.223.107.0/24

100.104.33.0/24

华南1(深圳)

11.216.113.0/2411.217.52.0/2411.220.54.0/2411.220.56.0/24

100.104.55.0/24

亚太东南1(新加坡)

11.216.101.0/2411.219.129.0/24

100.104.163.0/24

政务云(北京)

11.199.246.0/2411.199.247.0/24

100.104.254.0/26

华北 3(张家口)

11.218.202.0/2411.218.203.0/24

100.104.195.0/26

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

11.207.230.0/2411.207.231.0/2411.207.248.0/24

100.104.254.0/26

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

11.204.39.0/2411.204.40.0/2411.204.41.0/2411.48.249.0/2411.48.250.0/24

100.104.13.0/24

权限问题

报错显示

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

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

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(Constant.endpoint,
            // 是否开启二进制传输,服务端2.12版本开始支持
            new AliyunAccount(Constant.accessId, Constant.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.

    • 表示传入的shcema参数与Topic中的shcema不符合,建议采用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;