選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

對 Neptune 全文檢索搜尋進行疑難排解

焦點模式
對 Neptune 全文檢索搜尋進行疑難排解 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

注意

如果您已在 OpenSearch 叢集上啟用精細存取控制,則也需要在 Neptune 資料庫中啟用 IAM 身分驗證

若要診斷從 Neptune 複寫到 OpenSearch 方面的問題,請參閱輪詢器 Lambda 函數的 CloudWatch Logs。這些日誌提供自串流讀取的詳細記錄數目,以及成功複寫到 OpenSearch 的詳細記錄數目。

您也可以透過變更 LoggingLevel 環境變數,以變更 Lambda 函數的 LOGGING 層級。

注意

LoggingLevel 設為 DEBUG 後,您可以檢視其他詳細資訊,例如捨棄的串流記錄以及捨棄每筆記錄的原因,同時透過 StreamPoller 將資料從 Neptune 複寫到 OpenSearch。如果您發現遺失記錄,這樣做可能很有用。

Neptune 串流消費者應用程式會在 CloudWatch 上發佈兩個亦可協助您診斷問題的指標:

  • StreamRecordsProcessed – 應用程式每時間單位所處理的記錄數目。有助於追蹤應用程式執行速率。

  • StreamLagTime – 目前時間與正在處理之串流記錄遞交時間的時間差 (以毫秒為單位)。此指標會顯示消費者應用程式落後的程度。

此外,與複寫程序相關的所有指標都會公開在 CloudWatch 的儀表板中,與您使用 CloudWatch 範本執行個體化應用程式時所提供的 ApplicationName 同名。

您也可以選擇建立 CloudWatch 警示,每次輪詢失敗連續超過兩次即觸發。執行個體化應用程式時,透過將 CreateCloudWatchAlarm 欄位設為 true 以執行此作業。然後指定您希望觸發警示時收到通知的電子郵件地址。

故障診斷從串流讀取記錄時失敗的程序

如果程序在讀取串流的記錄時失敗,請確定下列事項:

  • 已在叢集上啟用串流。

  • Neptune 串流端點的格式正確:

    • 對於 Gremlin 或 openCypher:https://your cluster endpoint:your cluster port/propertygraph/stream 或其別名 (https://your cluster endpoint:your cluster port/pg/stream)

    • SPARQL:https://your cluster endpoint:your cluster port/sparql/stream

  • DynamoDB 端點是針對 VPC 設定的。

  • 已針對您的 VPC 子網路設定監控端點。

對將資料寫入 OpenSearch 時失敗的程序進行疑難排解

如果程序在將記錄寫入 OpenSearch 時失敗,請確定您有下列項目:

  • 您的 Elasticsearch 版本為 7.1 或更高版本,或是 Opensearch 2.3 以上。

  • 可從 VPC 中的輪詢器 Lambda 函數存取 OpenSearch。

  • 附加至 OpenSearch 的安全政策允許傳入 HTTP/HTTPS 請求。

修正現有複寫設定上 Neptune 與 OpenSearch 之間的不同步問題

您可以使用下列步驟,讓 Neptune 資料庫和 OpenSearch 網域重新與最新資料同步,以防它們之間由於 ExpiredStreamException 或資料損毀而發生不同步問題。

請注意,此方法會刪除 OpenSearch 網域中的所有資料,並從 Neptune 資料庫的目前狀態重新同步它,因此不需要在 Neptune 資料庫中重新載入任何資料。

  1. 停用複寫程序,如停用 (暫停) 串流輪詢器程序中所述。

  2. 使用下列命令刪除 OpenSearch 網域上的 Neptune 索引:

    curl -X DELETE "(your OpenSearch endpoint)/amazon_neptune"
  3. 建立資料庫的複製 (請參閱 Neptune 中的資料庫複製)。

  4. 針對串流 API 端點執行此類命令,以取得所複製資料庫上串流的最新 eventID (如需詳細資訊,請參閱呼叫 Neptune 串流 REST API):

    curl "https://(your neptune endpoint):(port)/(propertygraph or sparql)/stream?iteratorType=LATEST"

    記下回應中 lastEventId 物件中 commitNumopNum 欄位中的值。

  5. 使用 github 上的 export-neptune-to-elasticsearch 工具,執行從複製的資料庫到 OpenSearch 網域的一次性同步。

  6. 移至複寫堆疊的 DynamoDB 資料表。資料表的名稱將是您在 AWS CloudFormation 範本中指定的應用程式名稱 (預設值為 NeptuneStream),字尾為 -LeaseTable 。換言之,預設資料表名稱為 NeptuneStream-LeaseTable

    您可以透過掃描來探索資料表資料列,因為資料表中應該只有一個資料列。使用上面記錄的 commitNumopNum 值進行以下變更:

    • 將資料表中 checkpoint 欄位的值變更為您針對 commitNum 記下的值。

    • 將資料表中 checkpointSubSequenceNumber 欄位的值變更為您針對 opNum 記下的值。

  7. 重新啟用複寫程序,如重新啟用串流輪詢器程序中所述。

  8. 刪除複製的資料庫和為export-neptune-to-elasticsearch工具建立的 AWS CloudFormation 堆疊。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。