Menghubungkan ke database Apache Hadoop dengan AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

Menghubungkan ke database Apache Hadoop dengan AWS Schema Conversion Tool

Anda dapat menggunakan antarmuka baris AWS SCT perintah (CLI) untuk bermigrasi dari Apache Hadoop ke Amazon. EMR AWS SCT menggunakan bucket Amazon S3 Anda sebagai penyimpanan sementara untuk data Anda selama migrasi.

AWS SCT mendukung sebagai sumber Apache Hadoop versi 2.2.0 dan lebih tinggi. Juga, AWS SCT mendukung Apache Hive versi 0.13.0 dan lebih tinggi.

AWS SCT mendukung sebagai target Amazon EMR versi 6.3.0 dan lebih tinggi. Juga, AWS SCT mendukung sebagai target Apache Hadoop versi 2.6.0 dan lebih tinggi, dan Apache Hive versi 0.13.0 dan lebih tinggi.

Prasyarat untuk menggunakan Apache Hadoop sebagai sumber

Prasyarat berikut diperlukan untuk terhubung ke Apache Hadoop dengan. AWS SCT CLI

  • Buat bucket Amazon S3 untuk menyimpan data selama migrasi. Anda kemudian dapat menyalin data ke Amazon EMR HDFS atau menggunakan Amazon S3 sebagai repositori data untuk beban kerja Hadoop Anda. Lihat informasi yang lebih lengkap di Membuat bucket dalam Panduan Pengguna Amazon S3.

  • Buat peran AWS Identity and Access Management (IAM) dengan AmazonS3FullAccess kebijakan. AWS SCT menggunakan IAM peran ini untuk mengakses bucket Amazon S3 Anda.

  • Catat kunci AWS rahasia dan kunci akses AWS rahasia Anda. Untuk informasi selengkapnya tentang kunci AWS akses, lihat Mengelola kunci akses di Panduan IAM Pengguna.

  • Buat dan konfigurasikan EMR kluster Amazon target. Untuk informasi selengkapnya, lihat Memulai Amazon EMR di Panduan EMR Manajemen Amazon.

  • Instal distcp utilitas pada cluster Apache Hadoop sumber Anda. Juga, instal s3-dist-cp utilitas pada EMR cluster Amazon target Anda. Pastikan bahwa pengguna database Anda memiliki izin untuk menjalankan utilitas ini.

  • Konfigurasikan core-site.xml file di cluster Hadoop sumber Anda untuk menggunakan protokol s3a. Untuk melakukannya, atur fs.s3a.aws.credentials.provider parameter ke salah satu nilai berikut.

    • org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider

    • org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider

    • org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider

    • org.apache.hadoop.fs.s3a.auth.AssumedRoleCredentialProvider

    Anda dapat menambahkan contoh kode berikut ke dalam core-site.xml file.

    <property> <name>fs.s3a.aws.credentials.provider</name> <value>org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider</value> </property>

    Contoh sebelumnya menunjukkan salah satu dari empat opsi dari daftar opsi sebelumnya. Jika Anda tidak mengatur fs.s3a.aws.credentials.provider parameter dalam core-site.xml file, AWS SCT pilih penyedia secara otomatis.

Izin untuk menggunakan Hive sebagai sumber

Izin yang diperlukan untuk pengguna sumber Hive adalah sebagai berikut:

  • READakses ke folder data sumber dan ke bucket Amazon S3 sumber

  • READ+WRITEakses ke bucket Amazon S3 menengah dan target

Untuk meningkatkan kecepatan migrasi, sebaiknya Anda menjalankan pemadatan untuk tab sumber ACID -transaksional.

Izin yang diperlukan untuk pengguna target Amazon EMR Hive adalah sebagai berikut:

  • READakses ke bucket Amazon S3 target

  • READ+WRITEakses ke bucket Amazon S3 menengah

  • READ+WRITEakses ke HDFS folder target

Izin untuk digunakan HDFS sebagai sumber

Izin yang diperlukan untuk HDFS sebagai sumber adalah sebagai berikut:

  • EXECUTEuntuk NameNode

  • EXECUTE+READuntuk semua folder sumber dan file yang Anda sertakan dalam proyek migrasi

  • READ+WRITEagar tmp direktori di NameNode menjalankan pekerjaan Spark dan menyimpan file sebelum migrasi ke Amazon S3

DalamHDFS, semua operasi memerlukan akses traversal. Akses traversal menuntut EXECUTE izin pada semua komponen jalur yang ada, kecuali untuk komponen jalur akhir. Misalnya, untuk setiap operasi yang mengakses/foo/bar/baz, pengguna Anda harus memiliki EXECUTE izin pada/,/foo, dan/foo/bar.

Contoh kode berikut menunjukkan cara memberikan EXECUTE+READ izin untuk folder sumber dan file Anda, dan READ+WRITE izin untuk direktori. tmp

hadoop fs –chmod –R 744 /user/hdfs-data hadoop fs –chmod –R 766 /tmp

Izin untuk digunakan HDFS sebagai target

Izin yang diperlukan untuk Amazon EMR HDFS sebagai target adalah sebagai berikut:

  • EXECUTEuntuk NameNode EMR kluster Amazon target

  • READ+WRITEuntuk HDFS folder target tempat Anda akan menyimpan data setelah migrasi

Menghubungkan ke Apache Hadoop sebagai sumber

Anda dapat menggunakan Apache Hadoop sebagai sumber dalam AWS SCT versi 1.0.670 atau lebih tinggi. Anda dapat memigrasikan cluster Hadoop ke EMR Amazon hanya di AWS SCT antarmuka baris perintah (). CLI Sebelum Anda mulai, biasakan diri Anda dengan antarmuka baris perintah AWS SCT. Untuk informasi selengkapnya, lihat CLIReferensi untuk AWS Schema Conversion Tool.

Untuk terhubung ke Apache Hadoop di AWS SCT CLI
  1. Buat AWS SCT CLI skrip baru atau edit template skenario yang ada. Misalnya, Anda dapat mengunduh dan mengedit HadoopMigrationTemplate.scts template. Untuk informasi selengkapnya, lihat Mendapatkan CLI skenario.

  2. Konfigurasikan pengaturan AWS SCT aplikasi seperti lokasi driver dan folder log.

    Unduh JDBC driver yang diperlukan dan tentukan lokasi tempat Anda menyimpan file. Untuk informasi selengkapnya, lihat Menginstal JDBC driver untuk AWS Schema Conversion Tool.

    Contoh kode berikut menunjukkan cara menambahkan jalur ke driver Apache Hive. Setelah Anda menjalankan contoh kode ini, AWS SCT menyimpan file log di c:\sct folder.

    SetGlobalSettings -save: 'true' -settings: '{ "hive_driver_file": "c:\\sct\\HiveJDBC42.jar", "log_folder": "c:\\sct", "console_log_folder": "c:\\sct" }' /

    Anda dapat menggunakan contoh ini dan contoh berikut di Windows.

  3. Buat AWS SCT proyek baru.

    Contoh kode berikut membuat hadoop_emr proyek dalam c:\sct folder.

    CreateProject -name: 'hadoop_emr' -directory: 'c:\sct' /
  4. Tambahkan cluster Hadoop sumber Anda ke proyek.

    Gunakan AddSourceCluster perintah untuk terhubung ke cluster Hadoop sumber. Pastikan Anda memberikan nilai untuk parameter wajib berikut:name,, hostport, danuser. Parameter lainnya adalah opsional.

    Contoh kode berikut menambahkan sumber cluster Hadoop. Contoh ini ditetapkan HADOOP_SOURCE sebagai nama cluster sumber. Gunakan nama objek ini untuk menambahkan Hive dan HDFS layanan ke proyek dan membuat aturan pemetaan.

    AddSourceCluster -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' /

    Pada contoh sebelumnya, ganti hadoop_address dengan alamat IP cluster Hadoop Anda. Jika perlu, konfigurasikan nilai opsi 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.

  5. Simpan CLI skrip Anda. Selanjutnya, tambahkan informasi koneksi untuk Hive dan HDFS layanan Anda.

Menghubungkan ke sumber Anda Hive dan layanan HDFS

Anda dapat terhubung ke sumber Anda Hive dan HDFS layanan dengan. AWS SCT CLI Untuk terhubung ke Apache Hive, gunakan JDBC driver Hive versi 2.3.4 atau lebih tinggi. Untuk informasi selengkapnya, lihat Menginstal JDBC driver untuk AWS Schema Conversion Tool.

AWS SCT terhubung ke Apache Hive dengan pengguna hadoop cluster. Untuk melakukannya, gunakan AddSourceClusterHDFS perintah AddSourceClusterHive dan. Anda dapat menggunakan salah satu pendekatan berikut.

  • Buat SSH terowongan baru.

    Untuk createTunnel, masukkan true. Untukhost, masukkan alamat IP internal sumber Anda Hive atau HDFS layanan. Untukport, masukkan port layanan Hive atau HDFS layanan Anda.

    Selanjutnya, masukkan Hive atau HDFS kredensi Anda untuk dan. user password Untuk informasi selengkapnya tentang SSH terowongan, lihat Mengatur SSH terowongan ke node utama menggunakan penerusan port lokal di Panduan Manajemen AmazonEMR.

  • Gunakan SSH terowongan yang ada.

    Untuk host, masukkan localhost. Untukport, masukkan port lokal dari parameter SSH terowongan.

  • Connect ke Hive dan HDFS layanan Anda secara langsung.

    Untukhost, masukkan alamat IP atau nama host dari sumber Anda Hive atau HDFS layanan. Untukport, masukkan port layanan Hive atau HDFS layanan Anda. Selanjutnya, masukkan Hive atau HDFS kredensi Anda untuk dan. user password

Untuk terhubung ke Hive dan HDFS di AWS SCT CLI
  1. Buka CLI skrip Anda yang mencakup informasi koneksi untuk cluster Hadoop sumber Anda. Pastikan Anda menggunakan nama cluster Hadoop yang Anda tentukan pada langkah sebelumnya.

  2. Tambahkan layanan Hive sumber Anda ke proyek.

    Gunakan AddSourceClusterHive perintah untuk menghubungkan layanan sumber Hive. Pastikan Anda memberikan nilai untuk parameter wajib berikut:user,, passwordcluster,name, danport. Parameter lainnya adalah opsional.

    Contoh kode berikut membuat terowongan AWS SCT untuk bekerja dengan layanan Hive Anda. Layanan Hive sumber ini berjalan pada PC yang sama dengan. AWS SCT Contoh ini menggunakan cluster HADOOP_SOURCE sumber dari contoh sebelumnya.

    AddSourceClusterHive -cluster: 'HADOOP_SOURCE' -name: 'HIVE_SOURCE' -host: 'localhost' -port: '10005' -user: 'hive_user' -password: 'hive_password' -createTunnel: 'true' -localPort: '10005' -remoteHost: 'hive_remote_address' -remotePort: 'hive_port' /

    Contoh kode berikut terhubung ke layanan Hive Anda tanpa terowongan.

    AddSourceClusterHive -cluster: 'HADOOP_SOURCE' -name: 'HIVE_SOURCE' -host: 'hive_address' -port: 'hive_port' -user: 'hive_user' -password: 'hive_password' /

    Dalam contoh sebelumnya, ganti hive_user and hive_password dengan nama pengguna Hive Anda dan kata sandi untuk pengguna ini.

    Selanjutnya, ganti hive_address and hive_port dengan alamat NameNode IP dan port cluster Hadoop sumber Anda.

    Untuk hive_remote_address, Anda dapat menggunakan nilai default 127.0.0.1 atau alamat NameNode IP dari layanan Hive sumber Anda.

  3. Tambahkan HDFS layanan sumber Anda ke proyek.

    Gunakan AddSourceClusterHDFS perintah untuk menghubungkan HDFS layanan sumber. Pastikan Anda memberikan nilai untuk parameter wajib berikut:user,, passwordcluster,name, danport. Parameter lainnya adalah opsional.

    Pastikan bahwa pengguna Anda memiliki izin yang diperlukan untuk memigrasi data dari layanan sumber HDFS Anda. Untuk informasi selengkapnya, lihat Izin untuk menggunakan Hive sebagai sumber.

    Contoh kode berikut membuat terowongan AWS SCT untuk bekerja dengan HDFS layanan Apache Anda. Contoh ini menggunakan cluster HADOOP_SOURCE sumber yang Anda buat sebelumnya.

    AddSourceClusterHDFS -cluster: 'HADOOP_SOURCE' -name: 'HDFS_SOURCE' -host: 'localhost' -port: '9005' -user: 'hdfs_user' -password: 'hdfs_password' -createTunnel: 'true' -localPort: '9005' -remoteHost: 'hdfs_remote_address' -remotePort: 'hdfs_port' /

    Kode berikut terhubung ke HDFS layanan Apache Anda tanpa terowongan.

    AddSourceClusterHDFS -cluster: 'HADOOP_SOURCE' -name: 'HDFS_SOURCE' -host: 'hdfs_address' -port: 'hdfs_port' -user: 'hdfs_user' -password: 'hdfs_password' /

    Dalam contoh sebelumnya, ganti hdfs_user and hdfs_password dengan nama HDFS pengguna Anda dan kata sandi untuk pengguna ini.

    Selanjutnya, ganti hdfs_address and hdfs_port dengan alamat NameNode IP dan port cluster Hadoop sumber Anda.

    Untuk hdfs_remote_address, Anda dapat menggunakan nilai default 127.0.0.1 atau alamat NameNode IP dari layanan Hive sumber Anda.

  4. Simpan CLI skrip Anda. Selanjutnya, tambahkan informasi koneksi untuk EMR kluster Amazon target Anda, dan perintah migrasi.

Menghubungkan ke Amazon EMR sebagai target

Anda dapat terhubung ke EMR cluster Amazon target Anda dengan file AWS SCT CLI. Untuk melakukannya, Anda mengotorisasi lalu lintas masuk dan menggunakan. SSH Dalam hal ini, AWS SCT memiliki semua izin yang diperlukan untuk bekerja dengan EMR cluster Amazon Anda. Untuk informasi selengkapnya, lihat Sebelum Anda menyambung dan Connect ke node utama menggunakan SSH Panduan EMR Manajemen Amazon.

AWS SCT terhubung ke Amazon EMR Hive dengan pengguna hadoop cluster. Untuk terhubung ke Amazon EMR Hive, gunakan JDBC driver Hive versi 2.6.2.1002 atau lebih tinggi. Untuk informasi selengkapnya, lihat Menginstal JDBC driver untuk AWS Schema Conversion Tool.

Untuk terhubung ke Amazon EMR di AWS SCT CLI
  1. Buka CLI skrip Anda yang mencakup informasi koneksi untuk cluster Hadoop sumber Anda. Tambahkan EMR kredensi Amazon target ke dalam file ini.

  2. Tambahkan EMR kluster Amazon target Anda ke proyek.

    Contoh kode berikut menambahkan target EMR klaster Amazon. Contoh ini ditetapkan HADOOP_TARGET sebagai nama cluster target. Gunakan nama objek ini untuk menambahkan Hive dan HDFS layanan serta Amazon S3, folder bucket ke project dan buat aturan pemetaan.

    AddTargetCluster -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, masukkan nama AWS sumber daya dan informasi EMR koneksi Amazon Anda. Ini termasuk alamat IP EMR cluster Amazon Anda, kunci AWS akses, kunci akses AWS rahasia, dan bucket Amazon S3. Jika diperlukan, konfigurasikan nilai variabel port. Selanjutnya, ganti emr_user and emr_password dengan nama EMR pengguna Amazon Anda dan kata sandi untuk pengguna ini. Untuk path\name, masukkan nama dan jalur ke PEM file untuk EMR cluster Amazon target Anda. Untuk informasi selengkapnya, lihat Mengunduh PEM File untuk Akses EMR Cluster.

  3. Tambahkan bucket Amazon S3 target Anda ke proyek.

    Contoh kode berikut menambahkan bucket Amazon S3 target. Contoh ini menggunakan HADOOP_TARGET cluster yang Anda buat sebelumnya.

    AddTargetClusterS3 -cluster: 'HADOOP_TARGET' -Name: 'S3_TARGET' -accessKey: 'AKIAIOSFODNN7EXAMPLE' -secretKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' -region: 'eu-west-1' -s3Path: 'doc-example-bucket/example-folder' /

    Pada contoh sebelumnya, masukkan kunci akses, kunci AWS akses AWS rahasia, dan bucket Amazon S3.

  4. Tambahkan layanan Hive target Anda ke proyek.

    Contoh kode berikut membuat terowongan AWS SCT untuk bekerja dengan layanan Hive target Anda. Contoh ini menggunakan cluster HADOOP_TARGET target yang Anda buat sebelumnya.

    AddTargetClusterHive -cluster: 'HADOOP_TARGET' -name: 'HIVE_TARGET' -host: 'localhost' -port: '10006' -user: 'hive_user' -password: 'hive_password' -createTunnel: 'true' -localPort: '10006' -remoteHost: 'hive_address' -remotePort: 'hive_port' /

    Pada contoh sebelumnya, ganti hive_user and hive_password dengan nama pengguna Hive Anda dan kata sandi untuk pengguna ini.

    Selanjutnya, ganti hive_address dengan nilai default 127.0.0.1 atau dengan alamat NameNode IP layanan Hive target Anda. Selanjutnya, ganti hive_port dengan port layanan Hive target Anda.

  5. Tambahkan HDFS layanan target Anda ke proyek.

    Contoh kode berikut membuat terowongan AWS SCT untuk bekerja dengan HDFS layanan Apache Anda. Contoh ini menggunakan cluster HADOOP_TARGET target yang Anda buat sebelumnya.

    AddTargetClusterHDFS -cluster: 'HADOOP_TARGET' -name: 'HDFS_TARGET' -host: 'localhost' -port: '8025' -user: 'hdfs_user' -password: 'hdfs_password' -createTunnel: 'true' -localPort: '8025' -remoteHost: 'hdfs_address' -remotePort: 'hdfs_port' /

    Pada contoh sebelumnya, ganti hdfs_user and hdfs_password dengan nama HDFS pengguna Anda dan kata sandi untuk pengguna ini.

    Selanjutnya, ganti hdfs_address and hdfs_port dengan alamat IP pribadi dan port HDFS layanan target Anda. NameNode

  6. Simpan CLI skrip Anda. Selanjutnya, tambahkan aturan pemetaan dan perintah migrasi. Untuk informasi selengkapnya, lihat Memigrasi beban kerja Hadoop.