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:
Panggil operasi DescribeDBInstanceAttribute untuk mengkueri detail instans ApsaraDB RDS Anda.
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.
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" }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.
-
InjectionManagerFactorytidak ditemukanDataHub 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_EMPTYVersi library jersey-common lebih lama dari V2.22.1. Tingkatkan ke V2.22.1 atau versi yang lebih baru.
-
Error reading entity from input streamPenyebab 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/HttpUrlJalankan
mvn dependency:treeuntuk memeriksa apakah versi klien OkHttp bentrok dengan dependensi lainnya.
-
javax/ws/rs/core/ResponseStatusFamilyPeriksa dependensi paket
javax.ws.rs— misalnya, pastikan apakah bergantung padajsr311-api.
Error lainnya
-
Parse body failed, Offset: 0Error 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 exceededUkuran 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
getTopicuntuk 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 limitPada versi terbaru DataHub, satu proyek dapat berisi maksimal 20 topik.
-
SeekOutOfRangeParameter offset tidak valid atau telah kedaluwarsa.
-
Offset session has changedSatu 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 = trueuntuk mengaktifkan konektivitas internal, lalu jalankanselect internal_domain, internal_port from information_schematauntuk mengambil titik akhir tersebut.