すべてのプロダクト
Search
ドキュメントセンター

DataHub:DataHub のよくある質問

最終更新日:Aug 21, 2026

権限に関するエラー

エラーメッセージ:

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

このエラーは、RAM ユーザーの権限が不足していることを示しています。RAM ユーザーに必要な権限を付与してください。詳細については、「アクセス制御」をご参照ください。

VPC 内の ApsaraDB RDS インスタンスに関するエラー

エラーメッセージ:

InvalidInstanceId.NotFound:The instance not in current vpc

このエラーを解決するには、正しい VPC インスタンス ID を特定し、DataHub コネクタの設定を更新します。

  1. DescribeDBInstanceAttribute API を呼び出して、ApsaraDB RDS インスタンスの詳細を照会します。

  2. [デバッグ] をクリックします。 表示されるパネルで、インスタンスが配置されているリージョン (たとえば、中国 (張家口)) に対応する [サービスアドレス] を選択し、[DBInstanceId] フィールドに対象のインスタンス ID を入力します。

  3. [呼び出し] をクリックします。返された結果から [VpcCloudInstanceId] を見つけます。

    {
      "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. ApsaraDB RDS にデータを同期する DataHub コネクタパネルで、[インスタンス ID] フィールドに VPC インスタンス ID を入力します。

JAR パッケージの競合に関するエラー

以下は、DataHub SDK for Java を使用する際によく発生する JAR パッケージの競合です。

  • InjectionManagerFactory が見つかりません

    • DataHub SDK for Java は、デフォルトで Jersey クライアント V2.22.1 に依存しています。プロジェクトで V2.22.1 より新しい Jersey クライアントを使用している場合は、次の依存関係を追加してください。

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

    • jersey-common ライブラリのバージョンが V2.22.1 より古いです。V2.22.1 以降にアップグレードしてください。

  • Error reading entity from input stream

    • 原因 1:HTTP クライアントのバージョンが V4.5.2 より古いです。HTTP クライアントを V4.5.2 以降にアップグレードしてください。

    • 原因 2:現在の SDK バージョンが必要なデータ型をサポートしていません。SDK をアップグレードしてください。

  • V2.22.1 より新しい jersey-apache-connector のバージョンには、TCP 接続のバグがあります。

    • V2.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

    • このエラーは通常、書き込み時に発生します。旧バージョンの Apsara Stack DataHub はプロトコルバッファのバイナリ転送をサポートしていませんが、一部の SDK ではデフォルトで有効になっています。SDK のバイナリ転送を無効にしてください。

    • Java SDK

datahubClient = DatahubClientBuilder.newBuilder()
    .setDatahubConfig(
        new DatahubConfig(endpoint,
            // バイナリデータ転送を無効に設定します。古いバージョンの DataHub サーバーはバイナリ転送をサポートしていません。
            new AliyunAccount(accessId, accessKey), false))
    .build();
  • Python SDK

# Json モード: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

enable_pb の値を false に設定してください。
  • Request body size exceeded

    • リクエストボディがサイズ制限を超えています。制限については、「制限事項」をご参照ください。

  • Record field size not match.

    • 指定したスキーマがトピックのスキーマと一致しません。getTopic を呼び出して、正しいスキーマを取得してください。

  • The limit of query rate is exceeded.

    • DataHub は、公平なリソース使用を確保するために QPS (秒間クエリ数) 制限を適用しています。データをバッチで書き込みまたは読み取ってください。例えば、1 分ごとにバッチを書き込み、1 バッチあたり最大 1,000 件のレコードを読み取ります。

  • Num of topics exceed limit

    • DataHub の最新バージョンでは、1 つのプロジェクトに最大 20 個のトピックを含めることができます。

  • SeekOutOfRange

    • offset パラメータが無効であるか、有効期限が切れています。

  • Offset session has changed

    • サブスクリプションは、一度に 1 つのコンシューマーのみが利用できます。同じサブスクリプションを共有する複数のコンシューマーがないか、プログラムを確認してください。

  • DECIMAL データを MaxCompute に同期できますか?

    • はい。MaxCompute は、明示的な精度を持たない DECIMAL 値をサポートしています。デフォルトでは、DECIMAL 値は小数点の左右それぞれに最大 18 桁を持つことができます。

  • addAttribute メソッドは何をしますか?

    • addAttribute() を使用すると、要件に応じてレコードに追加の属性を追加できます。これらの属性はオプションです。

  • トピックからデータを削除するにはどうすればよいですか?

    • DataHub は、トピックからのデータの削除をサポートしていません。データを破棄するには、オフセットをリセットしてデータをスキップしてください。

  • OSS に保存されるシャードデータの 5 GB ファイルサイズ制限を変更できますか?

    • いいえ。各シャードのデータは、指定された Object Storage Service (OSS) パス内のランダムな名前のファイルに書き込まれます。ファイルが 5 GB に達すると、新しいファイルが自動的に作成されます。この制限は変更できません。

  • AnalyticDB for MySQL インスタンスがパブリックエンドポイントにアクセスできません。どうすればよいですか?

    • AnalyticDB for MySQL で内部エンドポイントを申請してください。インスタンスにログインし、alter database set intranet_vip = true を実行して内部接続を有効にしてから、select internal_domain, internal_port from information_schema を実行してエンドポイントを取得します。