All Products
Search
Document Center

Data Transmission Service:Pemecahan masalah terkait tugas pelacakan perubahan

Last Updated:Aug 22, 2026

Topik ini menjelaskan cara memecahkan masalah pada tugas pelacakan perubahan versi baru dengan menggunakan toolkit khusus Data Transmission Service (DTS) di client pelacakan perubahan Anda.

Informasi latar belakang

Pemecahan masalah tugas pelacakan perubahan menjadi sulit dalam skenario berikut: data yang dilacak dikonsumsi tanpa menggunakan SDK, SDK mengalami banyak perubahan, atau client pelacakan perubahan berjalan di lingkungan yang berbeda. DTS menyediakan toolkit untuk membantu memecahkan masalah pada tugas pelacakan perubahan Anda.

Penting

Penggunaan toolkit ini akan memperbarui offset konsumen dari kelompok konsumen tertentu di Konsol. Offset konsumen sisi server yang digunakan oleh mode SUBSCRIBE tidak diperbarui.

Prasyarat

Java Development Kit (JDK) telah diinstal pada client pelacakan perubahan Anda. Kami menyarankan penggunaan JDK 1.8 atau versi yang lebih baru.

Prosedur

  1. Unduh toolkit dts_subscribe_sdk_dep_demo ke client dan ekstrak file tersebut.

  2. Modifikasi file konfigurasi config dengan mengonfigurasi parameter yang dijelaskan dalam tabel berikut.

    Tabel 1. Parameter wajib

    Parameter

    Deskripsi

    Sumber

    brokerUrl

    Titik akhir dan nomor port saluran Data Subscription.

    Catatan

    Jika Instance ECS tempat client SDK Anda ditempatkan berada dalam VPC yang sama dengan saluran Data Subscription, gunakan alamat IP pribadi untuk langganan guna meminimalkan latensi jaringan.

    Di Konsol DTS, klik ID instansi langganan target. Pada halaman Basic Information, di area Network, Anda dapat memperoleh titik akhir dan nomor port.

    topic

    Topik saluran Data Subscription.

    Di Konsol DTS, klik ID instansi langganan target. Pada halaman Basic Information, di bagian Basic Information, Anda dapat memperoleh Topic.

    sid

    ID kelompok konsumen.

    Di Konsol DTS, klik ID instansi langganan target, lalu klik tab Consume Data di sebelah kiri. Anda dapat memperoleh informasi Consumer Group ID dan Account.

    Catatan

    Ini adalah password yang Anda atur saat membuat kelompok konsumen.

    userName

    Akun kelompok konsumen.

    Peringatan

    Jika Anda tidak menggunakan client yang disediakan dalam topik ini, Anda harus mengatur username dalam format <Consumer group account>-<Consumer group ID>, misalnya dtstest-dtsae******bpv. Jika tidak, koneksi akan gagal.

    password

    Password untuk akun tersebut.

    initCheckpoint

    Offset konsumen awal, ditentukan sebagai Unix timestamp (misalnya, 1620962769).

    Penting
    • Parameter ini hanya berlaku jika subscribeMode diatur ke ASSIGN dan isForceUseInitCheckpoint diatur ke true.

    • Anda dapat menggunakan offset konsumen untuk tujuan berikut:

      • Untuk mencegah kehilangan data setelah proses bisnis terganggu, gunakan offset konsumen terakhir untuk melanjutkan konsumsi data.

      • Saat memulai client langganan, gunakan offset konsumen yang diinginkan untuk menyesuaikan titik awal langganan dan mengonsumsi data sesuai kebutuhan.

    Di Konsol DTS, pada tab Change Tracking, lihat Data Range instansi target. Offset konsumen harus berada dalam rentang data instansi langganan dan harus dikonversi ke Unix timestamp.

    Catatan

    Anda dapat menggunakan mesin pencari untuk menemukan tool konversi Unix timestamp.

    subscribeMode

    Mode operasi client SDK. Nilai yang valid adalah:

    • ASSIGN: Dalam mode ini, hanya satu client SDK per kelompok konsumen yang dapat mengonsumsi data langganan.

    • SUBSCRIBE: Dalam mode ini, Anda dapat menjalankan beberapa client SDK dalam kelompok konsumen yang sama untuk disaster recovery.

    N/A

    isForceUseInitCheckpoint

    Menentukan apakah langganan dipaksa dimulai dari offset initCheckpoint. Nilai yang valid adalah true dan false.

    N/A

  3. Salin file config ke direktori yang sama dengan toolkit.

  4. Jalankan perintah berikut di direktori toolkit.

    java -jar dts_subscribe_sdk_dep_demo-1.0-SNAPSHOT-jar-with-dependencies.jar config

  5. Lihat file log dts-new-subscribe.log di direktori tempat perintah dijalankan. Rujuk tabel berikut untuk memecahkan masalah.

    Informasi log

    Deskripsi

    Solusi

    [2022-01-04 17:10:53.949] [INFO ] 
    [com.aliyun.dts.subscribe.clients.recordprocessor.EtlRecordProcessor] 
    [com.aliyun.dts.subscribe.clients.recordprocessor.DefaultRecordPrintListener:49] -
    RecordID [13082769]
    RecordTimestamp [1641284702]
    Source [{"sourceType": "MySQL", "version": "5.6.16-log"}]
    RecordType [HEARTBEAT]

    Menunjukkan bahwa tugas langganan berjalan dengan benar.

    N/A

    ERROR CheckResult{isOk=false, errMsg='telnet dts-cn-hangzhou.aliyuncs.com:18009 failed, please check the network and if the brokerUrl is correct'} (com.aliyun.dts.subscribe.clients.DefaultDTSConsumer)

    brokerUrl salah atau tidak dapat dijangkau, sehingga menyebabkan kegagalan koneksi.

    Masukkan brokerUrl yang benar di file config.

    telnet real node xxx failed, please check the network

    Terjadi error jaringan yang mencegah client terhubung ke node broker DTS.

    Verifikasi bahwa brokerUrl benar dan tidak ada firewall yang memblokir koneksi dari client Anda ke titik akhir tersebut.

    ERROR CheckResult{isOk=false, errMsg='build kafka consumer failed, error: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata, probably the user name or password is wrong'} (com.aliyun.dts.subscribe.clients.DefaultDTSConsumer)

    Username atau password salah, sehingga menyebabkan kegagalan koneksi.

    Masukkan userName dan password yang benar di file config.

    com.aliyun.dts.subscribe.clients.exception.TimestampSeekException: RecordGenerator:seek timestamp for topic [cn_hangzhou_rm_bp11tv2923n87081s_rdsdt_dtsacct-0] with timestamp [1610249501] failed

    Offset konsumen berada di luar rentang yang ditentukan, sehingga menyebabkan kegagalan koneksi.

    Di file config, atur parameter initCheckpoint ke nilai yang berada dalam rentang data instansi langganan.

    Catatan

    Jika nilai parameter antrian pesan DStoreRecordQueue dan DefaultUserRecordQueue secara konsisten tetap 0, hal ini menunjukkan adanya bottleneck saat mengambil data dari server DTS. Jika nilainya secara konsisten tetap pada nilai default 512, hal ini menunjukkan bahwa client langganan mengonsumsi data langganan secara lambat.