

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
<a name="CHAP_Source.Hadoop"></a>

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.

**Topics**
+ [Prasyarat untuk menggunakan Apache Hadoop sebagai sumber](#CHAP_Source.Hadoop.Prerequisites)
+ [Izin untuk menggunakan Hive sebagai sumber](#CHAP_Source.Hadoop.Permissions)
+ [Izin untuk menggunakan HDFS sebagai sumber](#CHAP_Source.Hadoop.PermissionsHDFS)
+ [Izin untuk menggunakan HDFS sebagai target](#CHAP_Source.Hadoop.PermissionsHDFSTarget)
+ [Menghubungkan ke Apache Hadoop sebagai sumber](#CHAP_Source.Hadoop.Connecting)
+ [Menghubungkan ke sumber Anda Hive dan layanan HDFS](#CHAP_Source.Hadoop.Hive)
+ [Menghubungkan ke Amazon EMR sebagai target](#CHAP_Source.Hadoop.Target)

## Prasyarat untuk menggunakan Apache Hadoop sebagai sumber
<a name="CHAP_Source.Hadoop.Prerequisites"></a>

Prasyarat berikut diperlukan untuk terhubung ke Apache Hadoop dengan CLI. AWS SCT 
+ 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dalam *Panduan Pengguna Amazon S3*.
+ Buat peran AWS Identity and Access Management (IAM) dengan `AmazonS3FullAccess` kebijakan. AWS SCT menggunakan peran IAM 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) di *Panduan Pengguna IAM*.
+ Buat dan konfigurasikan kluster EMR Amazon target. Untuk informasi selengkapnya, lihat [Memulai Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html) di Panduan Manajemen *EMR* Amazon.
+ Instal `distcp` utilitas pada cluster Apache Hadoop sumber Anda. Juga, instal `s3-dist-cp` utilitas pada kluster EMR 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
<a name="CHAP_Source.Hadoop.Permissions"></a>

Izin yang diperlukan untuk pengguna sumber Hive adalah sebagai berikut:
+ `READ`akses ke folder data sumber dan ke bucket Amazon S3 sumber
+ `READ+WRITE`akses ke bucket Amazon S3 menengah dan target

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

Izin yang diperlukan untuk pengguna target Amazon EMR Hive adalah sebagai berikut:
+ `READ`akses ke bucket Amazon S3 target
+ `READ+WRITE`akses ke bucket Amazon S3 menengah
+ `READ+WRITE`akses ke folder HDFS target

## Izin untuk menggunakan HDFS sebagai sumber
<a name="CHAP_Source.Hadoop.PermissionsHDFS"></a>

Izin yang diperlukan untuk HDFS sebagai sumber adalah sebagai berikut:
+ `EXECUTE`untuk NameNode
+ `EXECUTE+READ`untuk semua folder sumber dan file yang Anda sertakan dalam proyek migrasi
+ `READ+WRITE`agar `tmp` direktori di NameNode menjalankan pekerjaan Spark dan menyimpan file sebelum migrasi ke Amazon S3

Dalam HDFS, 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`/`,`/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 menggunakan HDFS sebagai target
<a name="CHAP_Source.Hadoop.PermissionsHDFSTarget"></a>

Izin yang diperlukan untuk Amazon EMR HDFS sebagai target adalah sebagai berikut:
+ `EXECUTE`untuk target cluster EMR Amazon NameNode 
+ `READ+WRITE`untuk folder HDFS target tempat Anda akan menyimpan data setelah migrasi

## Menghubungkan ke Apache Hadoop sebagai sumber
<a name="CHAP_Source.Hadoop.Connecting"></a>

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

**Untuk terhubung ke Apache Hadoop di CLI AWS SCT**

1. Buat skrip AWS SCT CLI baru atau edit template skenario yang ada. Misalnya, Anda dapat mengunduh dan mengedit `HadoopMigrationTemplate.scts` template. Untuk informasi selengkapnya, lihat [Mendapatkan skenario CLI](CHAP_Reference.md#CHAP_Reference.Scenario).

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

   Unduh driver JDBC yang diperlukan dan tentukan lokasi tempat Anda menyimpan file. Untuk informasi selengkapnya, lihat [Menginstal driver JDBC untuk AWS Schema Conversion Tool](CHAP_Installing.JDBCDrivers.md).

   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.

1. Buat AWS SCT proyek baru.

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

   ```
   CreateProject
       -name: 'hadoop_emr'
       -directory: 'c:\sct'
   /
   ```

1. 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`, dan`user`. 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 layanan Hive dan HDFS 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\$1address* dengan alamat IP cluster Hadoop Anda. Jika perlu, konfigurasikan nilai opsi port. Selanjutnya, ganti *hadoop\$1user* dan *hadoop\$1password* dengan nama pengguna Hadoop Anda dan kata sandi untuk pengguna ini. Untuk*path\$1name*, masukkan nama dan path ke file PEM untuk cluster Hadoop sumber Anda.

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

## Menghubungkan ke sumber Anda Hive dan layanan HDFS
<a name="CHAP_Source.Hadoop.Hive"></a>

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

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 terowongan SSH baru.

  Untuk `createTunnel`, masukkan **true**. Untuk`host`, masukkan alamat IP internal dari sumber Anda Hive atau layanan HDFS. Untuk`port`, masukkan port layanan layanan Hive atau HDFS Anda.

  Selanjutnya, masukkan kredensi Hive atau HDFS Anda untuk dan. `user` `password` Untuk informasi selengkapnya tentang terowongan SSH, lihat [Mengatur terowongan SSH ke node utama menggunakan penerusan port lokal](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel-local.html) di Panduan Manajemen EMR Amazon.
+ Gunakan terowongan SSH yang ada.

  Untuk `host`, masukkan **localhost**. Untuk`port`, masukkan port lokal dari parameter terowongan SSH.
+ Connect ke layanan Hive dan HDFS Anda secara langsung.

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

**Untuk terhubung ke Hive dan HDFS di CLI AWS SCT**

1. Buka skrip CLI Anda yang mencakup informasi koneksi untuk cluster Hadoop sumber Anda. Pastikan Anda menggunakan nama cluster Hadoop yang Anda tentukan pada langkah sebelumnya.

1. 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`, dan`port`. 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\$1user* dan *hive\$1password* dengan nama pengguna Hive Anda dan kata sandi untuk pengguna ini.

   Selanjutnya, ganti *hive\$1address* dan *hive\$1port* dengan alamat NameNode IP dan port cluster Hadoop sumber Anda.

   Untuk*hive\$1remote\$1address*, Anda dapat menggunakan nilai default `127.0.0.1` atau alamat NameNode IP dari layanan Hive sumber Anda.

1. Tambahkan layanan HDFS sumber Anda ke proyek.

   Gunakan `AddSourceClusterHDFS` perintah untuk menghubungkan layanan HDFS sumber. Pastikan Anda memberikan nilai untuk parameter wajib berikut:`user`,, `password``cluster`,`name`, dan`port`. Parameter lainnya adalah opsional.

   Pastikan pengguna Anda memiliki izin yang diperlukan untuk memigrasi data dari layanan HDFS sumber Anda. Untuk informasi selengkapnya, lihat [Izin untuk menggunakan Hive sebagai sumber](#CHAP_Source.Hadoop.Permissions).

   Contoh kode berikut membuat terowongan AWS SCT untuk bekerja dengan layanan Apache HDFS 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 layanan Apache HDFS 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\$1user* dan *hdfs\$1password* dengan nama pengguna HDFS Anda dan kata sandi untuk pengguna ini.

   Selanjutnya, ganti *hdfs\$1address* dan *hdfs\$1port* dengan alamat NameNode IP dan port cluster Hadoop sumber Anda.

   Untuk*hdfs\$1remote\$1address*, Anda dapat menggunakan nilai default `127.0.0.1` atau alamat NameNode IP dari layanan Hive sumber Anda.

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

## Menghubungkan ke Amazon EMR sebagai target
<a name="CHAP_Source.Hadoop.Target"></a>

Anda dapat terhubung ke cluster EMR Amazon target Anda dengan CLI AWS SCT . Untuk melakukannya, Anda mengotorisasi lalu lintas masuk dan menggunakan SSH. Dalam hal ini, AWS SCT memiliki semua izin yang diperlukan untuk bekerja dengan cluster EMR Amazon Anda. Untuk informasi selengkapnya, lihat [Sebelum Anda menyambung](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-ssh-prereqs.html) dan [Connect ke node utama menggunakan SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html) di Panduan Manajemen EMR Amazon.

AWS SCT terhubung ke Amazon EMR Hive dengan pengguna cluster. `hadoop` Untuk terhubung ke Amazon EMR Hive, gunakan driver Hive JDBC versi 2.6.2.1002 atau lebih tinggi. Untuk informasi selengkapnya, lihat [Menginstal driver JDBC untuk AWS Schema Conversion Tool](CHAP_Installing.JDBCDrivers.md).

**Untuk terhubung ke Amazon EMR di CLI AWS SCT**

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

1. Tambahkan kluster EMR Amazon target Anda ke proyek.

   Contoh kode berikut menambahkan target Amazon EMR cluster. Contoh ini ditetapkan `HADOOP_TARGET` sebagai nama cluster target. Gunakan nama objek ini untuk menambahkan layanan Hive dan HDFS 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'
   /
   ```

   Dalam contoh sebelumnya, masukkan nama AWS sumber daya dan informasi koneksi Amazon EMR Anda. Ini termasuk alamat IP kluster EMR Amazon Anda, kunci AWS akses, kunci akses AWS rahasia, dan bucket Amazon S3. Jika diperlukan, konfigurasikan nilai variabel port. Selanjutnya, ganti *emr\$1user* dan *emr\$1password* dengan nama pengguna EMR Amazon Anda dan kata sandi untuk pengguna ini. Untuk*path\$1name*, masukkan nama dan jalur ke file PEM untuk kluster EMR Amazon target Anda. Untuk informasi selengkapnya, lihat [Mengunduh File PEM untuk Akses Kluster EMR](https://docs.aws.amazon.com/whitepapers/latest/teaching-big-data-skills-with-amazon-emr/download-pem-file-for-emr-cluster-access.html).

1. 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.

1. 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\$1user* dan *hive\$1password* dengan nama pengguna Hive Anda dan kata sandi untuk pengguna ini.

   Selanjutnya, ganti *hive\$1address* dengan nilai default `127.0.0.1` atau dengan alamat NameNode IP layanan Hive target Anda. Selanjutnya, ganti *hive\$1port* dengan port layanan Hive target Anda.

1. Tambahkan layanan HDFS target Anda ke proyek.

   Contoh kode berikut membuat terowongan AWS SCT untuk bekerja dengan layanan Apache HDFS 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'
   /
   ```

   Dalam contoh sebelumnya, ganti *hdfs\$1user* dan *hdfs\$1password* dengan nama pengguna HDFS Anda dan kata sandi untuk pengguna ini.

   Selanjutnya, ganti *hdfs\$1address* dan *hdfs\$1port* dengan alamat IP pribadi dan port layanan HDFS target Anda. NameNode 

1. Simpan skrip CLI Anda. Selanjutnya, tambahkan aturan pemetaan dan perintah migrasi. Untuk informasi selengkapnya, lihat [Memigrasi beban kerja Hadoop](big-data-hadoop.md).