Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memigrasikan data dari lingkungan Hadoop lokal ke Amazon S3 menggunakan AWS untuk Amazon S3 DistCp PrivateLink
Jason Owens, Andres Cantor, Jeff Klopfenstein, Bruno Rocha Oliveira, dan Samuel Schmidt, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara memigrasikan hampir semua jumlah data dari lingkungan Apache Hadoop lokal ke Amazon Web Services (AWS) Cloud dengan menggunakan alat open-source Apache dengan DistCpAWS PrivateLink for Amazon Simple Storage Service (Amazon S3). Alih-alih menggunakan internet publik atau solusi proxy untuk memigrasikan data, Anda dapat menggunakan AWS PrivateLink untuk Amazon S3 untuk memigrasikan data ke Amazon S3 melalui koneksi jaringan pribadi antara pusat data lokal dan Amazon Virtual Private Cloud (Amazon VPC). Jika Anda menggunakan entri DNS di Amazon Route 53 atau menambahkan entri dalam file /etc/hosts di semua node cluster Hadoop lokal, maka Anda secara otomatis diarahkan ke titik akhir antarmuka yang benar.
Panduan ini memberikan petunjuk penggunaan DistCp untuk memigrasikan data ke AWS Cloud. DistCp adalah alat yang paling umum digunakan, tetapi alat migrasi lainnya tersedia. Misalnya, Anda dapat menggunakan alat AWS offline seperti AWS Snowball atau AWS Snowmobile, atau alat AWS online seperti AWS Storage Gateway atau AWS. DataSync Selain itu, Anda dapat menggunakan alat sumber terbuka lainnya seperti NiFiApache.
Prasyarat dan batasan
Prasyarat
Akun AWS aktif dengan koneksi jaringan pribadi antara pusat data lokal dan AWS Cloud
Hadoop, dipasang di tempat dengan DistCp
Pengguna Hadoop dengan akses ke data migrasi di Hadoop Distributed File System (HDFS)
AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi
Izin untuk memasukkan objek ke dalam bucket S3
Batasan
Batasan cloud pribadi virtual (VPC) berlaku PrivateLink untuk AWS untuk Amazon S3. Untuk informasi selengkapnya, lihat properti dan batasan titik akhir antarmuka PrivateLink serta kuota AWS ( PrivateLink dokumentasi AWS).
AWS PrivateLink untuk Amazon S3 tidak mendukung hal berikut:
Arsitektur
Tumpukan teknologi sumber
Tumpukan teknologi target
Arsitektur target
Diagram menunjukkan cara administrator Hadoop menggunakan DistCp untuk menyalin data dari lingkungan lokal melalui koneksi jaringan pribadi, seperti AWS Direct Connect, ke Amazon S3 melalui titik akhir antarmuka Amazon S3.
Layanan AWS
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur AWS yang dapat diskalakan.
Alat-alat lainnya
Apache Hadoop DistCp (salinan terdistribusi) adalah alat yang digunakan untuk menyalin antar-cluster besar dan intra-cluster. DistCp menggunakan Apache MapReduce untuk distribusi, penanganan kesalahan dan pemulihan, dan pelaporan.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|
Buat titik akhir untuk AWS PrivateLink untuk Amazon S3. | Masuk ke AWS Management Console dan buka konsol Amazon VPC. Pada panel navigasi, pilih Endpoints, lalu pilih Create Endpoint. Untuk kategori Layanan, pilih layanan AWS. Di kotak pencarian, masukkan s3, lalu tekan Enter. Dalam hasil pencarian, pilih com.amazonaws. < your-aws-region >.s3 nama layanan di mana nilai dalam kolom Type adalah Interface. Untuk VPC, pilih VPC Anda. Untuk Subnet, pilih subnet Anda. Untuk grup Keamanan, pilih atau buat grup keamanan yang memungkinkan TCP 443. Tambahkan tag berdasarkan kebutuhan Anda dan kemudian pilih Buat titik akhir.
| Administrator AWS |
Verifikasi titik akhir dan temukan entri DNS. | Buka konsol Amazon VPC, pilih Endpoints, lalu pilih endpoint yang Anda buat sebelumnya. Pada tab Detail, temukan entri DNS pertama untuk nama DNS. Ini adalah entri DNS Regional. Saat Anda menggunakan nama DNS ini, permintaan bergantian antara entri DNS khusus untuk Availability Zones. Pilih tab Subnet. Anda dapat menemukan alamat elastic network interface endpoint di setiap Availability Zone.
| Administrator AWS |
Periksa aturan firewall dan konfigurasi perutean. | Untuk mengonfirmasi bahwa aturan firewall Anda terbuka dan konfigurasi jaringan Anda diatur dengan benar, gunakan Telnet untuk menguji titik akhir pada port 443. Misalnya: $ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443
Trying 10.104.88.6...
Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.
...
$ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443
Trying 10.104.71.141...
Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.
Jika Anda menggunakan entri Regional, pengujian yang berhasil menunjukkan bahwa DNS bergantian antara dua alamat IP yang dapat Anda lihat di tab Subnet untuk titik akhir yang Anda pilih di konsol VPC Amazon. | Administrator jaringan, administrator AWS |
Konfigurasikan resolusi nama. | Anda harus mengonfigurasi resolusi nama untuk memungkinkan Hadoop mengakses titik akhir antarmuka Amazon S3. Anda tidak dapat menggunakan nama endpoint itu sendiri. Sebaliknya, Anda harus menyelesaikan <your-bucket-name>.s3.<your-aws-region>.amazonaws.com atau*.s3.<your-aws-region>.amazonaws.com. Untuk informasi lebih lanjut tentang batasan penamaan ini, lihat Memperkenalkan klien Hadoop S3A (situs web Hadoop). Pilih salah satu opsi konfigurasi berikut: Gunakan DNS lokal untuk menyelesaikan alamat IP pribadi titik akhir. Anda dapat mengganti perilaku untuk semua bucket atau bucket yang dipilih. Untuk informasi selengkapnya, lihat “Opsi 2: Akses Amazon S3 menggunakan Zona Kebijakan Respons Sistem Nama Domain (DNS RPZ)” di Akses hybrid aman ke Amazon S3 menggunakan AWS (postingan blog PrivateLink AWS). Konfigurasikan DNS lokal untuk meneruskan lalu lintas secara kondisional ke titik akhir masuk resolver di VPC. Lalu lintas diteruskan ke Route 53. Untuk informasi selengkapnya, lihat “Opsi 3: Meneruskan permintaan DNS dari lokal menggunakan Amazon Route 53 Resolver Endpoint” di Akses hybrid aman ke Amazon S3 menggunakan AWS (postingan blog AWS). PrivateLink Edit file /etc/hosts pada semua node di cluster Hadoop Anda. Ini adalah solusi sementara untuk pengujian dan tidak direkomendasikan untuk produksi. Untuk mengedit file /etc/hosts, tambahkan entri untuk salah satu atau. <your-bucket-name>.s3.<your-aws-region>.amazonaws.com s3.<your-aws-region>.amazonaws.com File /etc/hosts tidak dapat memiliki beberapa alamat IP untuk entri. Anda harus memilih satu alamat IP dari salah satu Availability Zones, yang kemudian menjadi satu titik kegagalan.
| Administrator AWS |
Konfigurasikan otentikasi untuk Amazon S3. | Untuk mengautentikasi ke Amazon S3 melalui Hadoop, kami menyarankan Anda mengekspor kredensi peran sementara ke lingkungan Hadoop. Untuk informasi selengkapnya, lihat Mengautentikasi dengan S3 (situs web Hadoop). Untuk pekerjaan yang berjalan lama, Anda dapat membuat pengguna dan menetapkan kebijakan yang memiliki izin untuk memasukkan data ke dalam bucket S3 saja. Kunci akses dan kunci rahasia dapat disimpan di Hadoop, hanya dapat diakses oleh DistCp pekerjaan itu sendiri dan ke administrator Hadoop. Untuk informasi selengkapnya tentang menyimpan rahasia, lihat Menyimpan rahasia dengan Penyedia Kredenal Hadoop (situs web Hadoop). Untuk informasi selengkapnya tentang metode autentikasi lainnya, lihat Cara mendapatkan kredensil peran IAM untuk digunakan dengan akses CLI ke akun AWS dalam dokumentasi Pusat Identitas AWS IAM (penerus AWS Single Sign-On). Untuk menggunakan kredensil sementara, tambahkan kredensil sementara ke file kredensil Anda, atau jalankan perintah berikut untuk mengekspor kredensil ke lingkungan Anda: export AWS_SESSION_TOKEN=SECRET-SESSION-TOKEN
export AWS_ACCESS_KEY_ID=SESSION-ACCESS-KEY
export AWS_SECRET_ACCESS_KEY=SESSION-SECRET-KEY
Jika Anda memiliki kunci akses tradisional dan kombinasi tombol rahasia, jalankan perintah berikut: export AWS_ACCESS_KEY_ID=my.aws.key
export AWS_SECRET_ACCESS_KEY=my.secret.key
Jika Anda menggunakan kunci akses dan kombinasi tombol rahasia, maka ubah penyedia kredensi dalam DistCp perintah dari "org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" ke. "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider" | Administrator AWS |
Transfer data dengan menggunakan DistCp | Untuk digunakan DistCp untuk mentransfer data, jalankan perintah berikut: hadoop distcp -Dfs.s3a.aws.credentials.provider=\
"org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" \
-Dfs.s3a.access.key="${AWS_ACCESS_KEY_ID}" \
-Dfs.s3a.secret.key="${AWS_SECRET_ACCESS_KEY}" \
-Dfs.s3a.session.token="${AWS_SESSION_TOKEN}" \
-Dfs.s3a.path.style.access=true \
-Dfs.s3a.connection.ssl.enabled=true \
-Dfs.s3a.endpoint=s3.<your-aws-region>.amazonaws.com \
hdfs:///user/root/ s3a://<your-bucket-name>
Wilayah AWS titik akhir tidak ditemukan secara otomatis saat Anda menggunakan DistCp perintah dengan AWS PrivateLink untuk Amazon S3. Hadoop 3.3.2 dan versi yang lebih baru menyelesaikan masalah ini dengan mengaktifkan opsi untuk secara eksplisit menyetel Wilayah AWS dari bucket S3. Untuk informasi selengkapnya, lihat S3A untuk menambahkan opsi fs.s3a.endpoint.region untuk menyetel wilayah AWS (situs web Hadoop). Untuk informasi lebih lanjut tentang penyedia S3A tambahan, lihat Konfigurasi Klien S3A Umum (situs web Hadoop). Misalnya, jika Anda menggunakan enkripsi, Anda dapat menambahkan opsi berikut ke rangkaian perintah di atas tergantung pada jenis enkripsi Anda: -Dfs.s3a.server-side-encryption-algorithm=AES-256 [or SSE-C or SSE-KMS]
Untuk menggunakan titik akhir antarmuka dengan S3A, Anda harus membuat entri alias DNS untuk nama Regional S3 (misalnya,s3.<your-aws-region>.amazonaws.com) ke titik akhir antarmuka. Lihat bagian Konfigurasi autentikasi untuk Amazon S3 untuk petunjuk. Solusi ini diperlukan untuk Hadoop 3.3.2 dan versi sebelumnya. Versi S3A yang akan datang tidak memerlukan solusi ini. Jika Anda memiliki masalah tanda tangan dengan Amazon S3, tambahkan opsi untuk menggunakan penandatanganan Signature Version 4 (SigV4): -Dmapreduce.map.java.opts="-Dcom.amazonaws.services.s3.enableV4=true"
| Insinyur migrasi, administrator AWS |