

AWS Data Pipeline tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Data Pipeline dapat terus menggunakan layanan seperti biasa. [Pelajari selengkapnya](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# Bekerja dengan Runner Tugas
<a name="dp-using-task-runner"></a>

 Task Runner adalah aplikasi agen tugas yang melakukan polling AWS Data Pipeline untuk tugas terjadwal dan menjalankannya di instans Amazon EC2, kluster EMR Amazon, atau sumber daya komputasi lainnya, melaporkan status saat melakukannya. Tergantung pada aplikasi Anda, Anda dapat memilih untuk: 
+ Izinkan AWS Data Pipeline untuk menginstal dan mengelola satu atau lebih aplikasi Task Runner untuk Anda. Saat pipeline diaktifkan, default `Ec2Instance` atau `EmrCluster` objek yang direferensikan oleh bidang RunSon aktivitas akan dibuat secara otomatis. AWS Data Pipeline menangani instalasi Task Runner pada instance EC2 atau pada node master dari cluster EMR. Dalam pola ini, AWS Data Pipeline dapat melakukan sebagian besar instance atau manajemen cluster untuk Anda. 
+ Jalankan semua atau sebagian alur pada sumber daya yang Anda kelola. Sumber daya potensial mencakup instans Amazon EC2 yang berjalan lama, klaster Amazon EMR, atau server fisik. Anda dapat menginstal task runner (yang dapat berupa Task Runner atau agen tugas khusus yang Anda rancang sendiri) hampir di mana saja, asalkan dapat berkomunikasi dengan layanan web. AWS Data Pipeline Dalam pola ini, Anda mengasumsikan kendali hampir penuh atas sumber daya mana yang digunakan dan bagaimana sumber daya tersebut dikelola, dan Anda harus memasang dan mengonfigurasi Runner Tugas secara manual. Untuk melakukannya, gunakan prosedur di bagian ini, seperti yang dijelaskan di [Menjalankan Pekerjaan pada Sumber Daya yang Ada Menggunakan Runner Tugas](dp-how-task-runner-user-managed.md). 

# Pelari Tugas pada Sumber Daya yang AWS Data Pipeline Dikelola
<a name="dp-how-task-runner-dp-managed"></a>

 Ketika sumber daya diluncurkan dan dikelola oleh AWS Data Pipeline, layanan web secara otomatis menginstal Task Runner pada sumber daya tersebut untuk memproses tugas dalam pipeline. Anda menentukan sumber daya komputasi (baik instans Amazon EC2 atau klaster Amazon EMR) untuk bidang `runsOn` dari objek aktivitas. Saat AWS Data Pipeline meluncurkan sumber daya ini, ia akan memasang Runner Tugas pada sumber daya tersebut dan mengonfigurasinya untuk memproses semua objek aktivitas yang bidang `runsOn`-nya diatur ke sumber daya tersebut. Saat AWS Data Pipeline mengakhiri sumber daya, log Task Runner dipublikasikan ke lokasi Amazon S3 sebelum dimatikan.

![\[Siklus hidup pelari tugas pada sumber daya yang AWS Data Pipeline dikelola\]](http://docs.aws.amazon.com/id_id/datapipeline/latest/DeveloperGuide/images/dp-task-runner-managed-emr-jobflow.png)


 Misalnya, jika Anda menggunakan `EmrActivity` di alur, dan menentukan sumber daya `EmrCluster` di bidang `runsOn`. Saat AWS Data Pipeline memproses aktivitas tersebut, ia meluncurkan klaster EMR Amazon dan menginstal Task Runner ke node master. Runner Tugas ini kemudian memproses tugas untuk aktivitas yang bidang `runsOn`-nya disetel ke objek `EmrCluster` itu. Kutipan berikut dari definisi alur menunjukkan hubungan antara dua objek ini. 

```
{
  "id" : "MyEmrActivity",
  "name" : "Work to perform on my data",
  "type" : "EmrActivity",
  "runsOn" : {"ref" : "MyEmrCluster"},
  "preStepCommand" : "scp remoteFiles localFiles",
  "step" : "s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg",
  "step" : "s3://amzn-s3-demo-bucket/myPath/myOtherStep.jar,anotherArg",
  "postStepCommand" : "scp localFiles remoteFiles",
  "input" : {"ref" : "MyS3Input"},
  "output" : {"ref" : "MyS3Output"}
},
{
  "id" : "MyEmrCluster",
  "name" : "EMR cluster to perform the work",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keypair" : "myKeyPair",
  "masterInstanceType" : "m1.xlarge",
  "coreInstanceType" : "m1.small",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m1.small",
  "taskInstanceCount": "10",
  "bootstrapAction" : "s3://elasticmapreduce/libs/ba/configure-hadoop,arg1,arg2,arg3",
  "bootstrapAction" : "s3://elasticmapreduce/libs/ba/configure-other-stuff,arg1,arg2"
}
```

Untuk informasi dan contoh menjalankan aktivitas ini, lihat [EmrActivity](dp-object-emractivity.md).

 Jika Anda memiliki beberapa sumber daya yang AWS Data Pipeline dikelola dalam pipeline, Task Runner diinstal pada masing-masing sumber daya tersebut, dan mereka semua melakukan polling AWS Data Pipeline untuk tugas yang akan diproses. 

# Menjalankan Pekerjaan pada Sumber Daya yang Ada Menggunakan Runner Tugas
<a name="dp-how-task-runner-user-managed"></a>

Anda dapat memasang Runner Tugas pada sumber daya komputasi yang Anda kelola, seperti instans Amazon EC2, atau server fisik atau workstation. Task Runner dapat diinstal di mana saja, pada perangkat keras atau sistem operasi yang kompatibel, asalkan dapat berkomunikasi dengan layanan AWS Data Pipeline web.

Pendekatan ini dapat berguna ketika, misalnya, Anda ingin menggunakan AWS Data Pipeline untuk memproses data yang disimpan di dalam firewall organisasi Anda. Dengan menginstal Task Runner di server di jaringan lokal, Anda dapat mengakses database lokal dengan aman dan kemudian melakukan polling AWS Data Pipeline untuk tugas berikutnya yang akan dijalankan. Saat AWS Data Pipeline selesai memproses atau menghapus pipeline, instance Task Runner tetap berjalan di sumber daya komputasi hingga Anda mematikannya secara manual. Log Runner Tugas tetap ada setelah eksekusi alur selesai. 

Untuk menggunakan Runner Tugas pada sumber daya yang Anda kelola, Anda harus mengunduh Runner Tugas terlebih dahulu, lalu memasangnya pada sumber daya komputasi Anda, menggunakan prosedur di bagian ini. 

**catatan**  
 Anda hanya dapat memasang Runner Tugas di Linux, UNIX, atau macOS. Runner Tugas tidak didukung pada sistem operasi Windows.   
Untuk menggunakan Task Runner 2.0, versi Java minimum yang dibutuhkan adalah 1.7.

Untuk menghubungkan Runner Tugas yang telah Anda pasang ke aktivitas alur yang harus diproses, tambahkan bidang `workerGroup` ke objek, dan konfigurasikan Runner Tugas untuk melakukan polling untuk nilai grup pekerja tersebut. Anda melakukan ini dengan meneruskan string grup pekerja sebagai parameter (misalnya, `--workerGroup=wg-12345`) saat Anda menjalankan file JAR Runner Tugas. 

![\[AWS Data Pipeline diagram showing monthly task flow for archiving processed invoices using Task Runner.\]](http://docs.aws.amazon.com/id_id/datapipeline/latest/DeveloperGuide/images/dp-task-runner-user-emr-jobflow.png)


```
{
  "id" : "CreateDirectory",
  "type" : "ShellCommandActivity",
  "workerGroup" : "wg-12345",
  "command" : "mkdir new-directory"
}
```

## Pemasangan Runner Tugas
<a name="dp-installing-taskrunner"></a>

Bagian ini menjelaskan cara memasang dan mengonfigurasi Runner Tugas dan prasyaratnya. Pemasangan adalah proses manual yang mudah.

**Untuk memasang Runner Tugas**

1. Runner Tugas memerlukan Java versi 1.6 atau 1.8. Untuk menentukan apakah Java telah terpasang, dan versi yang sedang berjalan, gunakan perintah berikut:

   ```
   java -version
   ```

    Jika Anda tidak menginstal Java 1.6 atau 1.8 di komputer Anda, unduh salah satu versi ini dari [http://www.oracle. com/technetwork/java/index.html](http://www.oracle.com/technetwork/java/index.html). Unduh dan pasang Java, lalu lanjutkan ke langkah berikutnya.

1. Unduh `TaskRunner-1.0.jar` dari [https://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/ software/latest/TaskRunner/TaskRunner -1.0.jar](https://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/software/latest/TaskRunner/TaskRunner-1.0.jar) dan kemudian salin ke folder pada sumber daya komputasi target. Untuk klaster Amazon EMR yang menjalankan tugas `EmrActivity`, pasang Runner Tugas di simpul utama dari klaster.

1. Saat menggunakan Task Runner untuk terhubung ke layanan AWS Data Pipeline web untuk memproses perintah Anda, pengguna memerlukan akses terprogram ke peran yang memiliki izin untuk membuat atau mengelola pipeline data. Untuk informasi selengkapnya, lihat [Memberikan akses terprogram](dp-get-setup.md#dp-grant-programmatic-access).

1. Task Runner terhubung ke layanan AWS Data Pipeline web menggunakan HTTPS. Jika Anda menggunakan AWS sumber daya, pastikan HTTPS diaktifkan di tabel routing dan subnet ACL yang sesuai. Jika Anda menggunakan firewall atau proxy, pastikan port 443 terbuka.

# (Opsional) Memberikan Akses Runner Tugas ke Amazon RDS
<a name="dp-taskrunner-rdssecurity"></a>

Amazon RDS memungkinkan Anda mengendalikan akses ke instans DB Anda menggunakan grup keamanan basis data (grup keamanan DB). Grup keamanan DB bertindak seperti firewall yang mengendalikan akses jaringan ke instans DB Anda. Secara default, akses jaringan dimatikan untuk instans DB Anda. Anda harus memodifikasi grup keamanan DB Anda agar Runner Tugas dapat mengakses instans Amazon RDS Anda. Runner Tugas mendapatkan akses Amazon RDS dari instans yang dijalankannya, sehingga akun dan grup keamanan yang Anda tambahkan ke instans Amazon RDS bergantung pada tempat Anda menginstal Runner Tugas. 

**Untuk memberikan akses ke Runner Tugas di EC2-Classic**

1. Buka konsol Amazon RDS.

1. Di panel navigasi, pilih **Instans**, lalu pilih instans DB Anda.

1. Di bawah **Keamanan dan Jaringan**, pilih grup keamanan, yang membuka halaman **Grup Keamanan** dengan grup keamanan DB ini dipilih. Pilih ikon detail untuk grup keamanan DB.

1. Di bawah **Detail Grup Keamanan**, buat aturan dengan **Tipe Koneksi** dan **Detail** yang sesuai. Bidang ini tergantung pada di mana Runner Tugas berjalan, seperti yang dijelaskan di sini:
   + `Ec2Resource`
     + **Tipe koneksi**: `EC2 Security Group`

       **Detail**: *my-security-group-name* (nama grup keamanan yang Anda buat untuk instans EC2)
   + `EmrResource`
     + **Tipe koneksi**: `EC2 Security Group`

       **Rincian**: `ElasticMapReduce-master`
     + **Tipe koneksi**: `EC2 Security Group`

       **Rincian**: `ElasticMapReduce-slave`
   + Lingkungan lokal Anda (on-premise)
     + **Tipe koneksi**: `CIDR/IP`:

       **Detail**: *my-ip-address* (alamat IP komputer Anda atau rentang alamat IP jaringan Anda, jika komputer Anda berada di belakang firewall)

1. Klik Tambahkan.

**Untuk memberikan akses ke Runner Tugas di EC2-VPC**

1. Buka konsol Amazon RDS.

1. Di panel navigasi, pilih **Instans**.

1. Pilih ikon detail untuk instans DB. Di bawah **Keamanan dan Jaringan**, buka tautan ke grup keamanan, yang membawa Anda ke konsol Amazon EC2. Jika Anda menggunakan desain konsol lama untuk grup keamanan, alihkan ke desain konsol baru dengan memilih ikon yang ditampilkan di bagian atas halaman konsol tersebut.

1. Pada tab **Masuk**, pilih **Edit**, **Tambahkan Peraturan**. Tentukan port basis data yang Anda gunakan saat meluncurkan instans DB. Sumbernya bergantung pada tempat Runner Tugas dijalankan, seperti yang dijelaskan di sini:
   + `Ec2Resource`
     + *my-security-group-id*(ID grup keamanan yang Anda buat untuk instans EC2)
   + `EmrResource`
     + *master-security-group-id*(ID grup `ElasticMapReduce-master` keamanan)
     + *slave-security-group-id*(ID grup `ElasticMapReduce-slave` keamanan)
   + Lingkungan lokal Anda (on-premise)
     + *ip-address*(alamat IP komputer Anda atau rentang alamat IP jaringan Anda, jika komputer Anda berada di belakang firewall)

1. Klik **Simpan**.

## Memulai Runner Tugas
<a name="dp-activate-task-runner"></a>

Di jendela prompt perintah baru yang diatur ke direktori tempat Anda memasang Runner Tugas, mulai Runner Tugas dengan perintah berikut.

```
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=myWorkerGroup --region=MyRegion --logUri=s3://amzn-s3-demo-bucket/foldername
```

Opsi `--config` menunjuk ke file kredensial Anda.

Opsi `--workerGroup` menentukan nama grup pekerja Anda, yang harus memiliki nilai yang sama seperti yang ditentukan dalam alur Anda agar tugas dapat diproses.

Opsi `--region` menentukan wilayah layanan tempat menarik tugas untuk dieksekusi.

Opsi `--logUri` digunakan untuk mendorong log terkompresi Anda ke lokasi di Amazon S3.

Saat Runner Tugas aktif, ia mencetak jalur ke tempat berkas log ditulis di jendela terminal. Berikut adalah contohnya.

```
Logging to /Computer_Name/.../output/logs
```

Runner Tugas harus dijalankan terlepas dari shell login Anda. Jika Anda menggunakan aplikasi terminal untuk terhubung ke komputer Anda, Anda mungkin perlu menggunakan utilitas seperti nohup atau layar untuk mencegah aplikasi Runner Tugas keluar saat Anda log out. Untuk informasi selengkapnya tentang opsi baris perintah, lihat [Opsi Konfigurasi Runner Tugas](dp-taskrunner-config-options.md).

## Memverifikasi Pencatatan Runner Tugas
<a name="dp-verify-task-runner"></a>

Cara termudah untuk memverifikasi bahwa Runner Tugas berfungsi adalah dengan memeriksa apakah ia menulis berkas log. Runner Tugas menulis berkas log per jam ke direktori, `output/logs`, di bawah direktori tempat Runner Tugas dipasang. Nama filenya adalah `Task Runner.log.YYYY-MM-DD-HH`, di mana HH berjalan dari 00 hingga 23, dalam UDT. Untuk menghemat ruang penyimpanan, file log apa pun yang lebih tua dari delapan jam dikompresi. GZip

# Thread dan Prasyarat Runner Tugas
<a name="dp-taskrunner-threading"></a>

 Runner Tugas menggunakan kolam thread untuk setiap tugas, aktivitas, dan prasyarat. Pengaturan default untuk `--tasks` adalah 2, yang berarti bahwa ada dua utas yang dialokasikan dari kumpulan tugas dan setiap utas melakukan polling AWS Data Pipeline layanan untuk tugas baru. Dengan demikian, `--tasks` adalah atribut penyetelan performa yang dapat digunakan untuk membantu mengoptimalkan throughput alur.

 Logika coba ulang alur untuk prasyarat terjadi di Runner Tugas. Dua utas prasyarat dialokasikan untuk polling AWS Data Pipeline untuk objek prasyarat. Runner Tugas menghormati objek prasyarat **retryDelay** dan bidang **preconditionTimeout** yang Anda tetapkan pada prasyarat. 

Dalam banyak kasus, mengurangi batas waktu polling prasyarat dan jumlah percobaan ulang membantu meningkatkan performa aplikasi Anda. Demikian pula, aplikasi dengan prasyarat yang berjalan lama mungkin perlu meningkatkan nilai batas waktu dan percobaan lagi. Untuk informasi selengkapnya tentang objek prasyarat, lihat [Prasyarat](dp-concepts-preconditions.md).

# Opsi Konfigurasi Runner Tugas
<a name="dp-taskrunner-config-options"></a>

Ini adalah opsi konfigurasi yang tersedia dari baris perintah saat Anda meluncurkan Runner Tugas. 


****  

| Parameter Baris Perintah | Deskripsi | 
| --- | --- | 
| `--help` | Bantuan baris perintah. Contoh: `Java -jar TaskRunner-1.0.jar --help` | 
| `--config` | Jalur dan nama file dari file `credentials.json` Anda. | 
| `--accessId` | ID kunci AWS akses Anda untuk Task Runner untuk digunakan saat membuat permintaan. Opsi `--accessID` dan `--secretKey` memberikan alternatif untuk menggunakan file kredensial.json. Jika file `credentials.json` juga disediakan, opsi `--accessID` dan `--secretKey` akan diutamakan.  | 
| `--secretKey` | Kunci AWS rahasia Anda untuk Task Runner untuk digunakan saat membuat permintaan. Untuk informasi selengkapnya, lihat `--accessID`.  | 
| `--endpoint` | Titik akhir adalah URL yang merupakan titik masuk untuk layanan web. Titik akhir AWS Data Pipeline layanan di wilayah tempat Anda membuat permintaan. Tidak wajib. Secara umum, cukup untuk menentukan wilayah, dan Anda tidak perlu mengatur titik akhir. Untuk daftar AWS Data Pipeline wilayah dan titik akhir, lihat [Wilayah dan Titik Akhir AWS Data Pipeline](https://docs.aws.amazon.com/general/latest/gr/rande.html#datapipeline_region) di bagian. *Referensi Umum AWS* | 
| `--workerGroup` | Nama grup pekerja tempat Runner Tugas mengambil pekerjaannya. Wajib.Saat Runner Tugas mensurvei layanan web, ia menggunakan kredensial yang Anda berikan dan nilai `workerGroup` untuk memilih tugas mana (jika ada) yang akan diambil. Anda dapat menggunakan nama apa pun yang berarti bagi Anda; satu-satunya persyaratan adalah bahwa string harus cocok antara Runner Tugas dan aktivitas alur yang sesuai. Nama grup pekerja terikat ke suatu wilayah. Bahkan jika ada nama grup pekerja yang identik di wilayah lain, Runner Tugas selalu mendapatkan tugas dari wilayah yang ditentukan di `--region`. | 
| `--taskrunnerId` | ID runner tugas yang akan digunakan saat melaporkan kemajuan. Tidak wajib. | 
| `--output` | Direktori Runner Tugas untuk file output log. Tidak wajib. Berkas log disimpan dalam direktori lokal hingga didorong ke Amazon S3. Opsi ini menimpa direktori default.  | 
| `--region` | Wilayah yang akan digunakan. Opsional, tetapi direkomendasikan untuk selalu mengatur wilayah. Jika Anda tidak menentukan wilayah, Runner Tugas mengambil tugas dari wilayah layanan default, `us-east-1`.Wilayah lain yang didukung adalah: `eu-west-1`, `ap-northeast-1`, `ap-southeast-2`, `us-west-2`.  | 
| `--logUri` | Jalur tujuan Amazon S3 untuk Runner Tugas untuk mencadangkan berkas log setiap jam. Saat Runner Tugas berakhir, log aktif di direktori lokal didorong ke folder tujuan Amazon S3.  | 
| --proxyHost | Host proxy yang digunakan oleh klien Runner Tugas untuk terhubung ke layanan AWS. | 
| --proxyPort | Port host proxy yang digunakan oleh klien Runner Tugas untuk terhubung ke layanan AWS. | 
| --proxyUsername | Nama pengguna untuk proxy. | 
| --proxyPassword | Kata sandi untuk proxy. | 
| --proxyDomain | Nama domain Windows untuk NTLM Proxy. | 
| --proxyWorkstation | Nama workstation Windows untuk NTLM Proxy. | 

# Menggunakan Runner Tugas dengan Proxy
<a name="dp-taskrunner-proxy"></a>

Jika Anda menggunakan host proxy, Anda dapat menentukan [konfigurasinya](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-taskrunner-config-options.html) saat menjalankan Runner Tugas atau mengatur variabel lingkungan, HTTPS\$1PROXY. Variabel lingkungan yang digunakan dengan Runner Tugas menerima konfigurasi yang sama yang digunakan untuk [Antarmuka Baris Perintah AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-http-proxy.html). 

# Pelari Tugas dan Kustom AMIs
<a name="dp-custom-ami"></a>

Saat Anda menentukan `Ec2Resource` objek untuk pipeline, AWS Data Pipeline buat instans EC2 untuk Anda, menggunakan AMI yang menginstal dan mengonfigurasi Task Runner untuk Anda. Tipe instans yang kompatibel dengan PV diperlukan dalam kasus ini. Atau, Anda dapat membuat AMI kustom dengan Runner Tugas, lalu menentukan ID AMI ini menggunakan bidang `imageId` objek `Ec2Resource`. Untuk informasi selengkapnya, lihat [Ec2Resource](dp-object-ec2resource.md).

AMI kustom harus memenuhi persyaratan berikut agar berhasil menggunakannya AWS Data Pipeline untuk Task Runner:
+ Buat AMI di wilayah yang sama tempat instans akan dijalankan. Untuk informasi selengkapnya, lihat [Membuat AMI Anda Sendiri](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) di *Panduan Pengguna Amazon EC2*.
+ Pastikan bahwa jenis virtualisasi AMI didukung oleh tipe instans yang Anda rencanakan untuk digunakan. Misalnya, tipe instans I2 dan G2 memerlukan AMI HVM dan tipe instans T1, C1, M1, dan M2 memerlukan AMI PV. Untuk informasi selengkapnya, lihat [Jenis Virtualisasi AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) di Panduan *Pengguna Amazon EC2*.
+ Pasang perangkat lunak berikut:
  + Linux
  + Bash
  + wget
  + unzip
  + Java 1.6 atau 1.8
  + cloud-init
+ Buat dan konfigurasikan pengguna bernama`ec2-user`.