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.
Topik
- Prasyarat untuk menggunakan Apache Hadoop sebagai sumber
- Izin untuk menggunakan Hive sebagai sumber
- Izin untuk digunakan HDFS sebagai sumber
- Izin untuk digunakan HDFS sebagai target
- Menghubungkan ke Apache Hadoop sebagai sumber
- Menghubungkan ke sumber Anda Hive dan layanan HDFS
- Menghubungkan ke Amazon EMR sebagai target
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, instals3-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, aturfs.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 dalamcore-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:
READ
akses ke folder data sumber dan ke bucket Amazon S3 sumberREAD+WRITE
akses 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:
READ
akses ke bucket Amazon S3 targetREAD+WRITE
akses ke bucket Amazon S3 menengahREAD+WRITE
akses ke HDFS folder target
Izin untuk digunakan HDFS sebagai sumber
Izin yang diperlukan untuk HDFS sebagai sumber adalah sebagai berikut:
EXECUTE
untuk NameNodeEXECUTE+READ
untuk semua folder sumber dan file yang Anda sertakan dalam proyek migrasiREAD+WRITE
agartmp
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:
EXECUTE
untuk NameNode EMR kluster Amazon targetREAD+WRITE
untuk 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
-
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. -
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.
-
Buat AWS SCT proyek baru.
Contoh kode berikut membuat
hadoop_emr
proyek dalamc:\sct
folder.CreateProject -name: 'hadoop_emr' -directory: 'c:\sct' /
-
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
,,host
port
, 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, gantihadoop_user
andhadoop_password
dengan nama pengguna Hadoop Anda dan kata sandi untuk pengguna ini. Untukpath\name
, masukkan nama dan path ke PEM file untuk cluster Hadoop sumber Anda. -
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
, masukkantrue
. 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
, masukkanlocalhost
. Untukport
, masukkan port lokal dari parameter SSH terowongan. -
Connect ke Hive dan HDFS layanan Anda secara langsung.
Untuk
host
, 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
-
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.
-
Tambahkan layanan Hive sumber Anda ke proyek.
Gunakan
AddSourceClusterHive
perintah untuk menghubungkan layanan sumber Hive. Pastikan Anda memberikan nilai untuk parameter wajib berikut:user
,,password
cluster
,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
andhive_password
dengan nama pengguna Hive Anda dan kata sandi untuk pengguna ini.Selanjutnya, ganti
hive_address
andhive_port
dengan alamat NameNode IP dan port cluster Hadoop sumber Anda.Untuk
hive_remote_address
, Anda dapat menggunakan nilai default127.0.0.1
atau alamat NameNode IP dari layanan Hive sumber Anda. -
Tambahkan HDFS layanan sumber Anda ke proyek.
Gunakan
AddSourceClusterHDFS
perintah untuk menghubungkan HDFS layanan sumber. Pastikan Anda memberikan nilai untuk parameter wajib berikut:user
,,password
cluster
,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
andhdfs_password
dengan nama HDFS pengguna Anda dan kata sandi untuk pengguna ini.Selanjutnya, ganti
hdfs_address
andhdfs_port
dengan alamat NameNode IP dan port cluster Hadoop sumber Anda.Untuk
hdfs_remote_address
, Anda dapat menggunakan nilai default127.0.0.1
atau alamat NameNode IP dari layanan Hive sumber Anda. -
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
-
Buka CLI skrip Anda yang mencakup informasi koneksi untuk cluster Hadoop sumber Anda. Tambahkan EMR kredensi Amazon target ke dalam file ini.
-
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
andemr_password
dengan nama EMR pengguna Amazon Anda dan kata sandi untuk pengguna ini. Untukpath\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. -
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.
-
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
andhive_password
dengan nama pengguna Hive Anda dan kata sandi untuk pengguna ini.Selanjutnya, ganti
hive_address
dengan nilai default127.0.0.1
atau dengan alamat NameNode IP layanan Hive target Anda. Selanjutnya, gantihive_port
dengan port layanan Hive target Anda. -
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
andhdfs_password
dengan nama HDFS pengguna Anda dan kata sandi untuk pengguna ini.Selanjutnya, ganti
hdfs_address
andhdfs_port
dengan alamat IP pribadi dan port HDFS layanan target Anda. NameNode -
Simpan CLI skrip Anda. Selanjutnya, tambahkan aturan pemetaan dan perintah migrasi. Untuk informasi selengkapnya, lihat Memigrasi beban kerja Hadoop.