Memecahkan masalah pencarian teks lengkap Neptunus - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah pencarian teks lengkap Neptunus

catatan

Jika Anda telah mengaktifkankontrol akses berbutir haluspada AndaOpenSearchcluster, Anda perluaktifkan otentikasi IAMdalam database Neptunus Anda juga.

Untuk mendiagnosis masalah dengan replikasi dari Neptunus keOpenSearch, konsultasikan denganCloudWatchLog untuk fungsi poller Lambda Anda. Log ini memberikan rincian tentang jumlah catatan yang dibaca dari aliran dan jumlah catatan yang berhasil direplikasiOpenSearch.

Anda juga dapat mengubah tingkat LOGGING untuk fungsi Lambda Anda dengan mengubah variabel lingkungan LoggingLevel.

catatan

DenganLoggingLeveldiatur keDEBUG, Anda dapat melihat detail tambahan, seperti catatan aliran yang dijatuhkan dan alasan mengapa masing-masing dijatuhkan, sambil mereplikasi data denganStreamPollerdari Neptunus keOpenSearch. Ini dapat berguna jika Anda menemukan Anda kehilangan catatan.

Aplikasi konsumen aliran Neptunus menerbitkan dua metrikCloudWatchyang juga dapat membantu Anda mendiagnosis masalah:

  • StreamRecordsProcessed — Jumlah catatan yang diproses oleh aplikasi per satuan waktu. Bermanfaat dalam melacak tingkat run aplikasi.

  • StreamLagTime — Perbedaan waktu dalam milidetik antara waktu saat ini dan waktu komit catatan aliran sedang diproses. Metrik ini menunjukkan berapa banyak aplikasi konsumen yang tertinggal.

Selain itu, semua metrik yang terkait dengan proses replikasi diekspos di dasbor diCloudWatchdi bawah nama yang sama sepertiApplicationNamedisediakan ketika Anda instantiated aplikasi menggunakanCloudWatchTemplat.

Anda juga dapat memilih untuk membuatCloudWatchalarm yang dipicu setiap kali polling gagal lebih dari dua kali berturut-turut. Lakukan ini dengan menetapkan bidang CreateCloudWatchAlarm ke true ketika Anda menginisiasi aplikasi. Setelah itu, tentukan alamat email yang ingin Anda beri tahu saat alarm dipicu.

Pemecahan masalah proses yang gagal saat membaca catatan dari aliran

Jika proses gagal saat membaca catatan dari aliran, pastikan bahwa Anda memiliki hal berikut:

  • Aliran diaktifkan pada klaster Anda.

  • Titik akhir aliran Neptune menggunakan format yang benar:

    • Untuk Gremlin atau OpenCypher:https://your cluster endpoint:your cluster port/propertygraph/streamatau alias nya,https://your cluster endpoint:your cluster port/pg/stream

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

  • Titik akhir DynamoDB dikonfigurasi untuk VPC Anda.

  • Titik akhir pemantauan dikonfigurasi untuk subnet VPC Anda.

Memecahkan masalah proses yang gagal saat menulis data keOpenSearch

Jika suatu proses gagal saat menulis catatan keOpenSearch, pastikan Anda memiliki yang berikut:

  • Versi Elasticsearch Anda 7.1 atau lebih tinggi, atau Opensearch 2.3 ke atas.

  • OpenSearchdapat diakses dari fungsi poller Lambda di VPC Anda.

  • Kebijakan keamanan yang dilampirkanOpenSearchmemungkinkan permintaan HTTP/HTTPS masuk.

Memperbaikiout-of-syncmasalah antara Neptunus danOpenSearchpada pengaturan replikasi yang ada

Anda dapat menggunakan langkah-langkah di bawah ini untuk mendapatkan database Neptunus danOpenSearchdomain kembali sinkron dengan data terbaru dalam kasusout-of-syncmasalah di antara mereka yang dihasilkan dariExpiredStreamExceptionatau korupsi data.

Perhatikan bahwa pendekatan ini menghapus semua data diOpenSearchdomain dan kembali menyinkronkannya dari keadaan database Neptunus saat ini, sehingga tidak ada data yang perlu dimuat ulang dalam database Neptunus.

  1. Nonaktifkan proses replikasi seperti yang dijelaskan diMenonaktifkan (menjeda) proses poller aliran.

  2. Hapus indeks Neptunus padaOpenSearchdomain menggunakan perintah berikut:

    curl -X DELETE "(your OpenSearch endpoint)/amazon_neptune"
  3. Buat tiruan dari database (lihatKloning Database di Neptunus).

  4. Dapatkan yang terbarueventIDuntuk stream pada database kloning dengan menjalankan perintah semacam ini terhadap endpoint API Streams (lihatMemanggil REST API Neptunus Streamsuntuk informasi lebih lanjut):

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

    Buat catatan nilai-nilai dicommitNumdanopNumbidang dilastEventIdobjek dalam respon.

  5. Gunakanexport-neptune-to-elasticsearchalat pada github untuk melakukan sinkronisasi satu kali dari database kloning keOpenSearchdomain.

  6. Pergi ke tabel DynamoDB untuk tumpukan replikasi. Nama tabel akan menjadiNama Aplikasiyang Anda tentukan dalamAWS CloudFormationtemplate (defaultnya adalahNeptuneStream) dengan-LeaseTableakhiran. Dengan kata lain, nama tabel default adalahNeptuneStream-LeaseTable.

    Anda dapat menjelajahi baris tabel dengan memindai karena seharusnya hanya ada satu baris di tabel. Buat perubahan berikut menggunakancommitNumdanopNumnilai yang Anda catat di atas:

    • Ubah nilai untukcheckpointbidang dalam tabel dengan nilai yang Anda catatcommitNum.

    • Ubah nilai untukcheckpointSubSequenceNumberbidang dalam tabel dengan nilai yang Anda catatopNum.

  7. Aktifkan kembali proses replikasi seperti yang dijelaskan dalamMengaktifkan kembali proses poller stream.

  8. Hapus database kloning danAWS CloudFormationstack dibuat untukexport-neptune-to-elasticsearchalat.