全部产品
Search
文档中心

Elasticsearch:Sinkronisasi data dari MySQL ke Alibaba Cloud Elasticsearch menggunakan DataWorks

更新时间:Feb 03, 2026

Anda dapat menggunakan Alibaba Cloud Elasticsearch (ES) untuk melakukan pencarian teks lengkap, kueri multidimensi, atau analisis statistik pada data dari database MySQL. Topik ini menjelaskan cara menggunakan layanan Data Integration dari DataWorks untuk menyinkronkan data dari database MySQL ke kluster Alibaba Cloud ES dalam hitungan menit.

Informasi latar belakang

DataWorks adalah platform pengembangan dan tata kelola data besar (big data) end-to-end yang dibangun di atas mesin data besar. Platform ini mengintegrasikan fitur-fitur seperti pengembangan data, penjadwalan task, dan manajemen data. Anda dapat menggunakan task sinkronisasi di DataWorks untuk menyinkronkan data dari berbagai sumber data ke kluster Alibaba Cloud ES secara cepat.

  • Sumber data yang didukung meliputi:

    • Database ApsaraDB (MySQL, PostgreSQL, SQL Server, MongoDB, dan HBase)

    • Alibaba Cloud PolarDB-X (hasil peningkatan dari DRDS sebelumnya)

    • Alibaba Cloud MaxCompute

    • Alibaba Cloud OSS

    • Alibaba Cloud Tablestore

    • Versi self-managed dari Hadoop Distributed File System (HDFS), Oracle, FTP, DB2, dan jenis database yang tercantum di atas

  • Skenario:

Prasyarat

Catatan
  • Anda hanya dapat menyinkronkan data ke Alibaba Cloud ES. Kluster Elasticsearch self-managed tidak didukung.

  • Instans ApsaraDB RDS for MySQL, instans ES, dan ruang kerja DataWorks harus berada di wilayah yang sama.

  • Instans ApsaraDB RDS for MySQL, instans ES, dan ruang kerja DataWorks harus berada di zona waktu yang sama. Jika tidak, perbedaan zona waktu dapat terjadi antara data sumber dan tujuan saat Anda menyinkronkan data yang berkaitan dengan waktu.

Penagihan

Prosedur

Catatan

Topik ini menggunakan sinkronisasi offline sebagai contoh. Untuk menyinkronkan data secara real-time, lihat Sinkronisasi real-time seluruh database MySQL ke Elasticsearch.

Langkah 1: Siapkan data sumber

Buat database dan tabel di instans ApsaraDB RDS for MySQL.

  • Anda dapat menggunakan database ApsaraDB for RDS atau database self-managed di server lokal. Topik ini menggunakan database ApsaraDB RDS for MySQL sebagai contoh untuk menunjukkan cara membuat database dan tabel. Untuk informasi lebih lanjut, lihat Mulai Cepat.

  • Anda dapat menggunakan pernyataan berikut untuk membuat tabel dan memasukkan data.

    -- buat tabel
    CREATE TABLE `es_test` (
        `id` bigint(32) NOT NULL,
        `name` varchar(32) NULL,
        `age` bigint(32) NULL,
        `hobby` varchar(32) NULL,
        PRIMARY KEY (`id`)
    ) ENGINE=InnoDB
    DEFAULT CHARACTER SET=utf8;
    
    -- masukkan data
    INSERT INTO `es_test` (`id`,`name`,`age`,`hobby`) VALUES (1,'user1',22,'music');
    INSERT INTO `es_test` (`id`,`name`,`age`,`hobby`) VALUES (2,'user2',23,'sport');
    INSERT INTO `es_test` (`id`,`name`,`age`,`hobby`) VALUES (3,'user3',43,'game');
    INSERT INTO `es_test` (`id`,`name`,`age`,`hobby`) VALUES (4,'user4',24,'run');
    INSERT INTO `es_test` (`id`,`name`,`age`,`hobby`) VALUES (5,'user5',42,'basketball');

Langkah 2: Beli dan konfigurasi kelompok sumber daya

Beli kelompok sumber daya Data Integration dan sambungkan virtual private cloud (VPC) serta ruang kerja ke kelompok tersebut.

  1. Masuk ke Konsol DataWorks.

  2. Pada bilah menu atas, pilih wilayah. Di panel navigasi sebelah kiri, klik Resource Groups.

  3. Klik Create Resource Group dan konfigurasikan parameter yang diperlukan.

  4. Pada kolom Operations dari kelompok sumber daya yang Anda buat, klik Network Settings untuk menyambungkan VPC ke kelompok sumber daya tersebut. Untuk informasi lebih lanjut, lihat Pengaturan jaringan.

    Kelompok sumber daya harus dapat terhubung ke VPC dari instans ApsaraDB RDS for MySQL dan instans ES agar dapat menyinkronkan data. Anda harus menyambungkan VPC, Zone, dan VSwitch tempat instans ApsaraDB RDS for MySQL dan instans ES berada. Untuk melihat informasi VPC suatu instans, lihat Ganti VPC dan vSwitch untuk instans ApsaraDB RDS for MySQL dan Lihat informasi dasar instans Elasticsearch.

    Penting

    Setelah Anda menyambungkan VPC, Anda harus menambahkan VSwitch CIDR Block dari VPC tersebut ke daftar putih akses internal instans ApsaraDB RDS for MySQL dan instans ES. Untuk informasi lebih lanjut, lihat Konfigurasi daftar putih alamat IP untuk instans ApsaraDB RDS for MySQL dan Konfigurasi daftar putih akses publik atau internal untuk instans ES.

  5. Di pojok kiri atas halaman, klik ikon kembali untuk kembali ke halaman Resource Groups.

  6. Pada kolom Operations dari kelompok sumber daya yang Anda buat, klik Attach Workspace untuk menyambungkan ruang kerja target ke kelompok sumber daya tersebut.

Langkah 3: Tambahkan sumber data

Tambahkan sumber data ApsaraDB RDS for MySQL dan ES ke layanan Data Integration di DataWorks.

  1. Buka halaman Data Integration di DataWorks.

    1. Masuk ke Konsol DataWorks.

    2. Di panel navigasi sebelah kiri, klik Workspaces.

    3. Pada kolom Operations dari ruang kerja target, pilih Quick Access > Data Integration.

  2. Di panel navigasi sebelah kiri, klik Data Source.

  3. Tambahkan sumber data MySQL.

    1. Pada halaman Data Source List, klik Add Data Source.

    2. Pada halaman Add Data Source, cari dan pilih MySQL.

    3. Pada dialog Add MySQL Data Source, konfigurasikan parameter sumber data di bagian Basic Information.

      Untuk informasi lebih lanjut tentang konfigurasi, lihat Konfigurasi sumber data MySQL.

    4. Di bagian Connection Configuration, klik Test Connectivity. Jika status konektivitasnya Connected, artinya koneksi berhasil.

    5. Klik Complete.

  4. Tambahkan sumber data ES dengan cara yang sama. Untuk informasi lebih lanjut tentang konfigurasi, lihat Konfigurasi sumber data ES.

Langkah 4: Konfigurasi dan jalankan task sinkronisasi data offline

Task sinkronisasi data offline dijalankan menggunakan kelompok sumber daya. Kelompok sumber daya mengambil data dari sumber data di Data Integration dan menulis data tersebut ke kluster ES.

Catatan
  • Anda dapat mengonfigurasi task sinkronisasi offline dengan dua cara. Topik ini menggunakan Antarmuka tanpa kode (codeless UI) sebagai contoh. Anda juga dapat menggunakan editor kode untuk mengonfigurasi task sinkronisasi offline. Untuk informasi lebih lanjut, lihat Konfigurasi node sinkronisasi di editor kode, MySQL Reader, dan Elasticsearch Writer.

  • Topik ini menggunakan halaman Data Studio lama sebagai contoh untuk menunjukkan cara membuat task sinkronisasi offline.

  1. Buka halaman Data Development di DataWorks.

    1. Masuk ke Konsol DataWorks.

    2. Di panel navigasi sebelah kiri, klik Workspaces.

    3. Pada kolom Operations dari ruang kerja target, pilih Quick Access > Data Development.

  2. Buat task sinkronisasi offline.

    1. Pada tab Data Development (image icon) di panel navigasi sebelah kiri, pilih Create > Create Business Flow. Ikuti petunjuk di layar untuk membuat business flow.

    2. Klik kanan business flow yang Anda buat dan pilih Create Node > Data Integration > Offline Synchronization.

    3. Pada dialog Create Node, masukkan nama node dan klik Confirm.

  3. Konfigurasi jaringan dan sumber daya.

    1. Di bagian Data Source, atur Data Source ke MySQL dan Data Source Name ke nama sumber data tempat data akan disinkronkan.

    2. Di bagian My Resource Group, pilih kelompok sumber daya.

    3. Di bagian Data Destination, atur Data Destination ke Elasticsearch dan Data Source Name ke nama sumber data tujuan sinkronisasi.

  4. Klik Next.

  5. Konfigurasi task.

    1. Di bagian Data Source, pilih tabel tempat data akan disinkronkan.

    2. Di bagian Data Destination, konfigurasikan parameter untuk tujuan data.

    3. Di bagian Field Mapping, atur hubungan pemetaan antara Source Field dan Destination Field.

    4. Di bagian Channel Control, konfigurasikan parameter channel.

    Untuk informasi lebih lanjut tentang konfigurasi, lihat Konfigurasi node sinkronisasi di Antarmuka tanpa kode.

  6. Jalankan task.

    1. (Opsional) Konfigurasi properti penjadwalan untuk task tersebut. Di panel kanan, klik Scheduling dan konfigurasikan parameter penjadwalan sesuai kebutuhan. Untuk informasi lebih lanjut tentang parameter tersebut, lihat Penjadwalan.

    2. Di pojok kiri atas area node, klik ikon simpan untuk menyimpan task.

    3. Di pojok kiri atas area node, klik ikon commit untuk meng-commit task.

      Jika Anda mengonfigurasi properti penjadwalan untuk task tersebut, task akan berjalan secara otomatis secara berkala. Anda juga dapat mengklik ikon run di pojok kiri atas area node untuk menjalankan task segera.

      Jika log berisi Shell run successfully!, artinya task berhasil dijalankan.

Langkah 5: Verifikasi hasil sinkronisasi data

  1. Masuk ke konsol Kibana dari instans Alibaba Cloud ES tujuan. Untuk informasi lebih lanjut, lihat Masuk ke konsol Kibana.

  2. Di pojok kiri atas halaman Kibana, klik ikon tersebut dan pilih Dev Tools.

  3. Di Console, jalankan perintah berikut untuk melihat data yang telah disinkronkan.

    POST /es_test/_search?pretty
    {
    "query": { "match_all": {}}
    }
    Catatan

    Ganti es_test dengan nama indeks yang Anda tentukan dalam task sinkronisasi data.

    Jika data berhasil disinkronkan, hasil berikut akan dikembalikan.image..png