Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memigrasi beban kerja Hadoop ke Amazon dengan EMR AWS Schema Conversion Tool
Untuk memigrasikan cluster Apache Hadoop, pastikan Anda menggunakan AWS SCT versi 1.0.670 atau yang lebih tinggi. Juga, biasakan diri Anda dengan antarmuka baris perintah (CLI) dari AWS SCT. Untuk informasi selengkapnya, lihat CLIReferensi untuk AWS Schema Conversion Tool.
Topik
Ikhtisar migrasi
Gambar berikut menunjukkan diagram arsitektur migrasi dari Apache Hadoop ke Amazon. EMR
![Diagram arsitektur migrasi Hadoop](images/hadoop-migration-architecture-diagram.png)
AWS SCT memigrasikan data dan metadata dari cluster Hadoop sumber Anda ke bucket Amazon S3. Selanjutnya, AWS SCT gunakan metadata Hive sumber Anda untuk membuat objek database di layanan Amazon EMR Hive target. Secara opsional, Anda dapat mengkonfigurasi Hive untuk menggunakan AWS Glue Data Catalog sebagai metastore nya. Dalam hal ini, AWS SCT memigrasikan metadata Hive sumber Anda ke file. AWS Glue Data Catalog
Kemudian, Anda dapat menggunakannya AWS SCT untuk memigrasikan data dari bucket Amazon S3 ke layanan Amazon EMR HDFS target Anda. Atau, Anda dapat meninggalkan data di bucket Amazon S3 dan menggunakannya sebagai repositori data untuk beban kerja Hadoop Anda.
Untuk memulai migrasi Hapoood, Anda membuat dan menjalankan AWS SCT CLI skrip Anda. Skrip ini mencakup set lengkap perintah untuk menjalankan migrasi. Anda dapat mengunduh dan mengedit templat skrip migrasi Hadoop. Untuk informasi selengkapnya, lihat Mendapatkan CLI skenario.
Pastikan skrip Anda menyertakan langkah-langkah berikut sehingga Anda dapat menjalankan migrasi dari Apache Hadoop ke Amazon S3 dan Amazon. EMR
Langkah 1: Connect ke cluster Hadoop Anda
Untuk memulai migrasi cluster Apache Hadoop Anda, buat proyek baru. AWS SCT Selanjutnya, sambungkan ke cluster sumber dan target Anda. Pastikan Anda membuat dan menyediakan AWS sumber daya target sebelum memulai migrasi.
Pada langkah ini, Anda menggunakan AWS SCT CLI perintah berikut.
CreateProject
— untuk membuat AWS SCT proyek baru.AddSourceCluster
— untuk terhubung ke cluster Hadoop sumber di proyek Anda AWS SCT .AddSourceClusterHive
— untuk terhubung ke layanan sumber Hive di proyek Anda.AddSourceClusterHDFS
— untuk terhubung ke HDFS layanan sumber dalam proyek Anda.AddTargetCluster
— untuk terhubung ke EMR kluster Amazon target di proyek Anda.AddTargetClusterS3
— untuk menambahkan bucket Amazon S3 ke proyek Anda.AddTargetClusterHive
— untuk terhubung ke layanan Hive target di proyek AndaAddTargetClusterHDFS
— untuk terhubung ke HDFS layanan target dalam proyek Anda
Untuk contoh menggunakan AWS SCT CLI perintah ini, lihatMenghubungkan ke Apache Hadoop.
Ketika Anda menjalankan perintah yang menghubungkan ke sumber atau target cluster, AWS SCT mencoba untuk membuat koneksi ke cluster ini. Jika upaya koneksi gagal, maka AWS SCT berhenti menjalankan perintah dari CLI skrip Anda dan menampilkan pesan kesalahan.
Langkah 2: Siapkan aturan pemetaan
Setelah Anda terhubung ke sumber dan kluster target, atur aturan pemetaan. Aturan pemetaan mendefinisikan target migrasi untuk kluster sumber. Pastikan Anda menyiapkan aturan pemetaan untuk semua kluster sumber yang ditambahkan dalam proyek Anda AWS SCT . Untuk informasi selengkapnya tentang aturan pemetaan, lihatMemetakan tipe data di AWS Schema Conversion Tool.
Pada langkah ini, Anda menggunakan AddServerMapping
perintah. Perintah ini menggunakan dua parameter, yang menentukan cluster sumber dan target. Anda dapat menggunakan AddServerMapping
perintah dengan jalur eksplisit ke objek database Anda atau dengan nama objek. Untuk opsi pertama, Anda menyertakan jenis objek dan namanya. Untuk opsi kedua, Anda hanya menyertakan nama objek.
-
sourceTreePath
— jalur eksplisit ke objek database sumber Anda.targetTreePath
— jalur eksplisit ke objek database target Anda. -
sourceNamePath
— jalur yang hanya mencakup nama-nama objek sumber Anda.targetNamePath
— jalur yang hanya mencakup nama-nama objek target Anda.
Contoh kode berikut membuat aturan pemetaan menggunakan jalur eksplisit untuk database sumber testdb
Hive dan cluster target. EMR
AddServerMapping -sourceTreePath: 'Clusters.HADOOP_SOURCE.HIVE_SOURCE.Databases.testdb' -targetTreePath: 'Clusters.HADOOP_TARGET.HIVE_TARGET' /
Anda dapat menggunakan contoh ini dan contoh berikut di Windows. Untuk menjalankan CLI perintah di Linux, pastikan Anda memperbarui jalur file dengan tepat untuk sistem operasi Anda.
Contoh kode berikut membuat aturan pemetaan menggunakan jalur yang hanya menyertakan nama objek.
AddServerMapping -sourceNamePath: 'HADOOP_SOURCE.HIVE_SOURCE.testdb' -targetNamePath: 'HADOOP_TARGET.HIVE_TARGET' /
Anda dapat memilih Amazon EMR atau Amazon S3 sebagai target untuk objek sumber Anda. Untuk setiap objek sumber, Anda dapat memilih hanya satu target dalam satu AWS SCT proyek. Untuk mengubah target migrasi objek sumber, hapus aturan pemetaan yang ada, lalu buat aturan pemetaan baru. Untuk menghapus aturan pemetaan, gunakan DeleteServerMapping
perintah. Perintah ini menggunakan salah satu dari dua parameter berikut.
sourceTreePath
— jalur eksplisit ke objek database sumber Anda.sourceNamePath
— jalur yang hanya mencakup nama-nama objek sumber Anda.
Untuk informasi selengkapnya tentang DeleteServerMapping
perintah AddServerMapping
dan, lihat AWS Schema Conversion Tool CLIReferensi
Langkah 3: Buat laporan penilaian
Sebelum Anda memulai migrasi, kami sarankan untuk membuat laporan penilaian. Laporan ini merangkum semua tugas migrasi dan merinci item tindakan yang akan muncul selama migrasi. Untuk memastikan migrasi Anda tidak gagal, lihat laporan ini dan alamat item tindakan sebelum migrasi. Untuk informasi selengkapnya, lihat Laporan penilaian.
Pada langkah ini, Anda menggunakan CreateMigrationReport
perintah. Perintah ini menggunakan dua parameter. treePath
Parameternya wajib, dan forceMigrate
parameternya opsional.
treePath
— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.forceMigrate
— ketika diatur ketrue
, AWS SCT melanjutkan migrasi bahkan jika proyek Anda menyertakan HDFS folder dan tabel Hive yang merujuk ke objek yang sama. Nilai default-nya adalahfalse
.
Anda kemudian dapat menyimpan salinan laporan penilaian sebagai file value (CSV) yang dipisahkan koma PDF atau. Untuk melakukannya, gunakan SaveReportCSV
perintah SaveReportPDF
or.
SaveReportPDF
Perintah menyimpan salinan laporan penilaian Anda sebagai PDF file. Perintah ini menggunakan empat parameter. file
Parameternya wajib, parameter lainnya bersifat opsional.
file
— jalur ke PDF file dan namanya.filter
— nama filter yang Anda buat sebelumnya untuk menentukan ruang lingkup objek sumber Anda untuk bermigrasi.treePath
— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.namePath
— jalur yang hanya mencakup nama objek target Anda yang Anda simpan salinan laporan penilaian.
SaveReportCSV
Perintah menyimpan laporan penilaian Anda dalam tiga CSV file. Perintah ini menggunakan empat parameter. directory
Parameternya wajib, parameter lainnya bersifat opsional.
directory
— jalur ke folder tempat AWS SCT menyimpan CSV file.filter
— nama filter yang Anda buat sebelumnya untuk menentukan ruang lingkup objek sumber Anda untuk bermigrasi.treePath
— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.namePath
— jalur yang hanya mencakup nama objek target Anda yang Anda simpan salinan laporan penilaian.
Contoh kode berikut menyimpan salinan laporan penilaian dalam c:\sct\ar.pdf
file.
SaveReportPDF -file:'c:\sct\ar.pdf' /
Contoh kode berikut menyimpan salinan laporan penilaian sebagai CSV file di c:\sct
folder.
SaveReportCSV -file:'c:\sct' /
Untuk informasi selengkapnya tentang SaveReportCSV
perintah SaveReportPDF
dan, lihat AWS Schema Conversion Tool CLIReferensi
Langkah 4: Migrasikan cluster Apache Hadoop Anda ke Amazon dengan EMR AWS SCT
Setelah mengonfigurasi AWS SCT project, mulai migrasi klaster Apache Hadoop lokal Anda ke. AWS Cloud
Pada langkah ini, Anda menggunakanMigrate
,MigrationStatus
, dan ResumeMigration
perintah.
Migrate
Perintah memigrasikan objek sumber Anda ke cluster target. Perintah ini menggunakan empat parameter. Pastikan Anda menentukan treePath
parameter filter
atau. Parameter lainnya adalah opsional.
filter
— nama filter yang Anda buat sebelumnya untuk menentukan ruang lingkup objek sumber Anda untuk bermigrasi.treePath
— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.forceLoad
— ketika diatur ketrue
, AWS SCT secara otomatis memuat pohon metadata database selama migrasi. Nilai default-nya adalahfalse
.forceMigrate
— ketika diatur ketrue
, AWS SCT melanjutkan migrasi bahkan jika proyek Anda menyertakan HDFS folder dan tabel Hive yang merujuk ke objek yang sama. Nilai default-nya adalahfalse
.
MigrationStatus
Perintah mengembalikan informasi tentang kemajuan migrasi. Untuk menjalankan perintah ini, masukkan nama proyek migrasi Anda untuk name
parameter. Anda menentukan nama ini dalam CreateProject
perintah.
ResumeMigration
Perintah melanjutkan migrasi terputus yang Anda luncurkan menggunakan perintah. Migrate
ResumeMigration
Perintah tidak menggunakan parameter. Untuk melanjutkan migrasi, Anda harus terhubung ke sumber dan kluster target Anda. Untuk informasi selengkapnya, lihat Mengelola proyek migrasi.
Contoh kode berikut memigrasikan data dari HDFS layanan sumber Anda ke AmazonEMR.
Migrate -treePath: 'Clusters.HADOOP_SOURCE.HDFS_SOURCE' -forceMigrate: 'true' /
Menjalankan CLI skrip Anda
Setelah Anda selesai mengedit AWS SCT CLI skrip Anda, simpan sebagai file dengan .scts
ekstensi. Sekarang, Anda dapat menjalankan skrip Anda dari app
folder jalur AWS SCT instalasi Anda. Untuk melakukannya, gunakan perintah berikut.
RunSCTBatch.cmd --pathtoscts "C:\
script_path
\hadoop.scts"
Pada contoh sebelumnya, ganti script_path
dengan jalur ke file Anda dengan CLI skrip. Untuk informasi selengkapnya tentang menjalankan CLI skrip AWS SCT, lihatMode skrip.
Mengelola proyek migrasi data besar Anda
Setelah menyelesaikan migrasi, Anda dapat menyimpan dan mengedit AWS SCT proyek Anda untuk digunakan di masa mendatang.
Untuk menyimpan AWS SCT proyek Anda, gunakan SaveProject
perintah. Perintah ini tidak menggunakan parameter.
Contoh kode berikut menyimpan AWS SCT proyek Anda.
SaveProject /
Untuk membuka AWS SCT proyek Anda, gunakan OpenProject
perintah. Perintah ini menggunakan satu parameter wajib. Untuk file
parameter, masukkan path ke file AWS SCT proyek Anda dan namanya. Anda menentukan nama proyek dalam CreateProject
perintah. Pastikan Anda menambahkan .scts
ekstensi ke nama file proyek Anda untuk menjalankan OpenProject
perintah.
Contoh kode berikut membuka hadoop_emr
proyek dari c:\sct
folder.
OpenProject -file: 'c:\sct\hadoop_emr.scts' /
Setelah Anda membuka AWS SCT proyek Anda, Anda tidak perlu menambahkan sumber dan target cluster karena Anda telah menambahkannya ke proyek Anda. Untuk mulai bekerja dengan sumber dan kluster target Anda, Anda harus terhubung dengan mereka. Untuk melakukannya, Anda menggunakan ConnectTargetCluster
perintah ConnectSourceCluster
dan. Perintah ini menggunakan parameter yang sama dengan AddTargetCluster
perintah AddSourceCluster
dan. Anda dapat mengedit CLI skrip Anda dan mengganti nama perintah ini meninggalkan daftar parameter tanpa perubahan.
Contoh kode berikut menghubungkan ke cluster Hadoop sumber.
ConnectSourceCluster -name: 'HADOOP_SOURCE' -vendor: 'HADOOP' -host: '
hadoop_address
' -port: '22' -user: 'hadoop_user
' -password: 'hadoop_password
' -useSSL: 'true' -privateKeyPath: 'c:\path\name
.pem' -passPhrase: 'hadoop_passphrase
' /
Contoh kode berikut terhubung ke EMR cluster Amazon target.
ConnectTargetCluster -name: 'HADOOP_TARGET' -vendor: 'AMAZON_EMR' -host: 'ec2-44-44-55-66.eu-west-1.EXAMPLE.amazonaws.com' -port: '22' -user: '
emr_user
' -password: 'emr_password
' -useSSL: 'true' -privateKeyPath: 'c:\path\name
.pem' -passPhrase: '1234567890abcdef0!' -s3Name: 'S3_TARGET' -accessKey: 'AKIAIOSFODNN7EXAMPLE' -secretKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' -region: 'eu-west-1' -s3Path: 'doc-example-bucket/example-folder' /
Pada contoh sebelumnya, ganti hadoop_address
dengan alamat IP cluster Hadoop Anda. Jika diperlukan, konfigurasikan nilai variabel port. Selanjutnya, ganti hadoop_user
and hadoop_password
dengan nama pengguna Hadoop Anda dan kata sandi untuk pengguna ini. Untuk path\name
, masukkan nama dan path ke PEM file untuk cluster Hadoop sumber Anda. Untuk informasi selengkapnya tentang menambahkan sumber dan kluster target, lihatMenghubungkan ke database Apache Hadoop dengan AWS Schema Conversion Tool.
Setelah Anda terhubung ke sumber dan target cluster Hadoop, Anda harus terhubung ke Hive dan HDFS layanan Anda, serta ke bucket Amazon S3 Anda. Untuk melakukannya, Anda menggunakanConnectSourceClusterHive
,,ConnectSourceClusterHdfs
, ConnectTargetClusterHive
ConnectTargetClusterHdfs
, dan ConnectTargetClusterS3
perintah. Perintah ini menggunakan parameter yang sama dengan perintah yang Anda gunakan untuk menambahkan Hive dan HDFS layanan, serta bucket Amazon S3 ke project Anda. Edit CLI skrip untuk mengganti Add
awalan Connect
dengan nama perintah.