Menggunakan Oozie dengan database remote di Amazon RDS - Amazon EMR

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

Menggunakan Oozie dengan database remote di Amazon RDS

Secara default, informasi pengguna Oozie dan sejarah query disimpan dalam database MySQL lokal pada node master. Atau, Anda dapat membuat satu atau lebih cluster OZie-enabled menggunakan konfigurasi yang disimpan di Amazon S3 dan database MySQL di Amazon Relational Database Service (Amazon RDS). Hal ini memungkinkan Anda untuk mempertahankan informasi pengguna dan riwayat permintaan yang dibuat oleh Oozie tanpa menjaga cluster Amazon EMR Anda berjalan. Kami merekomendasikan menggunakan enkripsi sisi server Amazon S3 untuk menyimpan file konfigurasi.

First, membuat database remote untuk Oozie.

Untuk membuat basis data MySQL eksternal
  1. Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Pilih Luncurkan Instans DB.

  3. Pilih MySQL dan kemudian pilih Select.

  4. Tinggalkan pilihan default dari Deployment Multi-AZ dan Penyimpanan Provisioned IOPS dan pilih Selanjutnya.

  5. Tinggalkan Spesifikasi Instance pada default mereka, tentukan Pengaturan, dan pilih Selanjutnya.

  6. Pada halaman Konfigurasi Pengaturan Lanjutan, pilih grup keamanan yang tepat dan nama databases. Grup keamanan yang Anda gunakan setidaknya harus mengizinkan Inbound Akses TCP untuk port 3306 dari node master cluster Anda. Jika Anda belum membuat cluster Anda pada saat ini, Anda dapat mengizinkan semua host untuk menyambung ke port 3306 dan menyesuaikan grup keamanan setelah Anda telah meluncurkan cluster. Pilih Luncurkan Instans DB.

  7. Dari Dasbor RDS, pilih Instans dan pilih instans yang baru saja Anda buat. Ketika basis data Anda tersedia, buat catatan dari dbname, nama pengguna, kata sandi, dan hostname instans RDS. Anda menggunakan informasi ini ketika Anda membuat dan mengkonfigurasi cluster Anda.

Untuk menentukan database MySQL eksternal untuk Oozie ketika meluncurkan sebuah cluster menggunakan AWS CLI

Untuk menentukan basis data MySQL eksternal untuk Oozie ketika meluncurkan sebuah klaster menggunakanAWS CLI, gunakan informasi yang Anda catat saat membuat instans RDS untuk mengonfigurasioozie-site dengan objek konfigurasi.

catatan

Anda dapat membuat beberapa cluster yang menggunakan database eksternal yang sama, tetapi setiap cluster akan berbagi riwayat permintaan dan informasi pengguna.

  • Menggunakan AWS CLI, membuat sebuah cluster dengan Oozie diinstal, menggunakan database eksternal yang Anda buat, dan referensi file konfigurasi dengan klasifikasi konfigurasi untuk Oozie yang menentukan properti database. Contoh berikut membuat cluster dengan Oozie diinstal, referensi file konfigurasi di Amazon S3, myConfig.json, yang menentukan konfigurasi database.

    catatan

    Karakter kelanjutan baris Linux (\) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

    aws emr create-cluster --release-label emr-5.36.0 --applications Name=Oozie Name=Spark Name=Hive \ --instance-type m5.xlarge --instance-count 3 \ --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json --use-default-roles

    Contoh konten dari file myConfig.json ditampilkan di bawah ini. Ganti URL JDBC, nama pengguna, dan kata sandi dengan URL JDBC, nama pengguna, dan kata sandi contoh RDS Anda.

    penting

    JDBC URL harus menyertakan nama database sebagai akhiran. Sebagai contoh, jdbc:mysql://oozie-external-db.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    [{ "Classification": "oozie-site", "Properties": { "oozie.service.JPAService.jdbc.driver": "org.mariadb.jdbc.Driver", "oozie.service.JPAService.jdbc.url": "JDBC URL", "oozie.service.JPAService.jdbc.username": "username", "oozie.service.JPAService.jdbc.password": "password" }, "Configurations": [] }]