All Products
Search
Document Center

DataHub:FAQ DataHub

Last Updated:Aug 21, 2026

Error terkait izin

Pesan error:

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

Error ini menunjukkan bahwa pengguna RAM tidak memiliki izin yang diperlukan. Berikan izin yang sesuai kepada pengguna tersebut. Untuk detailnya, lihat Access control.

Error terkait instans ApsaraDB RDS di VPC

Pesan error:

InvalidInstanceId.NotFound:The instance not in current vpc

Untuk mengatasi error ini, temukan ID instans VPC yang benar dan perbarui konfigurasi konektor DataHub:

  1. Panggil operasi DescribeDBInstanceAttribute untuk mengkueri detail instans ApsaraDB RDS Anda.

  2. Klik Debug. Di panel yang muncul, pilih Service Address yang sesuai dengan wilayah tempat instans berada (misalnya, China (Zhangjiakou)), lalu masukkan ID instans target di bidang DBInstanceId.

  3. Klik Call. Temukan VpcCloudInstanceId dalam hasil respons yang dikembalikan.

    {
      "ConsoleVersion": "",
      "InstanceNetworkType": "VPC",
      "DBInstanceClassType": "x",
      "DBInstanceId": "rm-8vb46k05zz328je15",
      "AutoUpgradeMinorVersion": "Manual",
      "DBInstanceStorage": 50,
      "AvailabilityValue": "100.0%",
      "Engine": "MySQL",
      "IPType": "IPv4",
      "DBInstanceDiskUsed": 2994733056,
      "EngineVersion": "5.7",
      "DBInstanceStatus": "Running",
      "MaxConnections": 4000,
      "DBInstanceClass": "mysql.n2.medium.1",
      "AccountMaxQuantity": 99999,
      "VSwitchId": "vsw-8vb4860o3kz50f61sf99g",
      "PayType": "Prepaid",
      "LockMode": "Unlock",
      "SupportCreateSuperAccount": "Yes",
      "InsId": 1,
      "VpcId": "vpc-8vb4xj9ejcxynoz7alnyp",
      "CurrentKernelVersion": "rds_20191212",
      "TempUpgradeTimeStart": "2021-04-03 00:00:00",
      "TempUpgradeTimeEnd": "2021-04-11 00:00:00",
      "CreationTime": "2020-01-10T05:47:03Z",
      "ConnectionMode": "Standard",
      "VpcCloudInstanceId": "rm-8vb4Cxxx",
      "ProxyType": 0,
      "ConnectionString": "rm-8vb46k05zz328je15.mysql.zhangbei.rds.aliyuncs.com",
      "ExpireTime": "2021-04-10T16:00:00Z"
    }
  4. Di panel konektor DataHub untuk sinkronisasi data ke ApsaraDB RDS, masukkan ID instans VPC ke dalam bidang Instance ID.

Error terkait konflik paket JAR

Berikut adalah konflik paket JAR umum saat menggunakan DataHub SDK untuk Java.

  • InjectionManagerFactory tidak ditemukan

    • DataHub SDK untuk Java secara default bergantung pada Jersey client V2.22.1. Jika proyek Anda menggunakan Jersey client versi lebih baru dari V2.22.1, tambahkan dependensi berikut:

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

    • Versi library jersey-common lebih lama dari V2.22.1. Tingkatkan ke V2.22.1 atau versi yang lebih baru.

  • Error reading entity from input stream

    • Penyebab 1: Versi HTTP client lebih lama dari V4.5.2. Tingkatkan HTTP client ke V4.5.2 atau versi yang lebih baru.

    • Penyebab 2: Versi SDK saat ini tidak mendukung tipe data yang diperlukan. Tingkatkan SDK.

  • Versi jersey-apache-connector yang lebih baru dari V2.22.1 mengandung bug koneksi TCP.

    • Gunakan V2.22.1.

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

    • Jalankan mvn dependency:tree untuk memeriksa apakah versi klien OkHttp bentrok dengan dependensi lainnya.

  • javax/ws/rs/core/ResponseStatusFamily

    • Periksa dependensi paket javax.ws.rs — misalnya, pastikan apakah bergantung pada jsr311-api.

Error lainnya

  • Parse body failed, Offset: 0

    • Error ini biasanya terjadi saat menulis. Versi Apsara Stack DataHub sebelumnya tidak mendukung transmisi biner protocol buffers, tetapi beberapa SDK mengaktifkannya secara default. Nonaktifkan transmisi biner pada SDK Anda:

    • Java SDK

datahubClient = DatahubClientBuilder.newBuilder()
    .setDatahubConfig(
        new DatahubConfig(endpoint,
            // Tentukan apakah akan mengaktifkan transmisi data biner. Di DataHub SDK untuk Java V2.12 dan versi lebih baru, server mendukung transmisi data biner.
            new AliyunAccount(accessId, accessKey), true))
    .build();
  • Python SDK

# Mode Json: untuk versi server datahub <= 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

Atur nilai enable_pb menjadi false.
  • Request body size exceeded

    • Ukuran badan permintaan melebihi batas maksimum. Untuk informasi batasan dan cara mengatasinya, lihat Limits.

  • Record field size not match.

    • Skema yang Anda tentukan tidak sesuai dengan skema topik. Panggil getTopic untuk mengambil skema yang benar.

  • The limit of query rate is exceeded.

    • DataHub memberlakukan batas kueri per detik (QPS) untuk memastikan penggunaan resource yang adil. Tulis atau baca data dalam batch — misalnya, tulis satu batch setiap menit dan baca hingga 1.000 catatan per batch.

  • Num of topics exceed limit

    • Pada versi terbaru DataHub, satu proyek dapat berisi maksimal 20 topik.

  • SeekOutOfRange

    • Parameter offset tidak valid atau telah kedaluwarsa.

  • Offset session has changed

    • Satu subscription hanya dapat dikonsumsi oleh satu consumer dalam satu waktu. Periksa program Anda apakah ada beberapa consumer yang menggunakan subscription yang sama.

  • Apakah saya dapat menyinkronkan data DECIMAL ke MaxCompute?

    • Ya. MaxCompute mendukung nilai DECIMAL tanpa presisi eksplisit. Secara default, nilai DECIMAL dapat memiliki hingga 18 digit di setiap sisi titik desimal.

  • Apa fungsi metode addAttribute?

    • addAttribute() memungkinkan Anda menambahkan atribut tambahan ke suatu record sesuai kebutuhan. Atribut ini bersifat opsional.

  • Bagaimana cara menghapus data dari sebuah topik?

    • DataHub tidak mendukung penghapusan data dari topik. Untuk mengabaikan data, atur ulang offset agar melewati data tersebut.

  • Apakah saya dapat mengubah batas ukuran file 5 GB untuk data shard yang disimpan di OSS?

    • Tidak. Data setiap shard ditulis ke file dengan nama acak di path Object Storage Service (OSS) yang ditentukan. Ketika ukuran file mencapai 5 GB, file baru dibuat secara otomatis. Batas ini tidak dapat diubah.

  • Instans AnalyticDB for MySQL saya tidak dapat mengakses titik akhir publik. Apa yang harus saya lakukan?

    • Ajukan permohonan titik akhir internal di AnalyticDB for MySQL. Masuk ke instans tersebut, jalankan alter database set intranet_vip = true untuk mengaktifkan konektivitas internal, lalu jalankan select internal_domain, internal_port from information_schemata untuk mengambil titik akhir tersebut.