ossimport adalah alat untuk memigrasikan data ke Object Storage Service (OSS). Anda dapat menerapkan ossimport pada server lokal atau instance Elastic Compute Service (ECS) untuk memigrasikan data dari penyimpanan lokal atau layanan penyimpanan cloud lainnya ke OSS. Alibaba Cloud juga menyediakan layanan Data Online Migration dan cross-region replication yang telah distandardisasi. Layanan-layanan ini menawarkan antarmuka pengguna grafis (GUI) untuk membantu Anda memigrasikan data ke cloud dan mereplikasi data antar bucket OSS.
ossimport tidak memverifikasi file setelah migrasi. Alat ini tidak dapat menjamin kebenaran atau konsistensi hasil migrasi. Setelah tugas migrasi selesai, Anda harus memverifikasi konsistensi data antara sumber dan tujuan.
Jika Anda menghapus data sumber sebelum memverifikasi konsistensi data, Anda bertanggung jawab atas segala kehilangan data yang terjadi.
Untuk memigrasikan data dari sumber data pihak ketiga lainnya, kami menyarankan Anda menggunakan Data Online Migration untuk memigrasikan data Anda.
Untuk melakukan replikasi data OSS hampir real-time antara dua bucket berbeda, kami menyarankan Anda menggunakan fitur cross-region replication OSS.
Fitur
Mendukung berbagai sumber data, seperti file lokal, Qiniu Kodo, Baidu BOS, Amazon S3, Azure Blob, UPYUN USS, Tencent Cloud COS, Kingsoft KS3, daftar URL HTTP atau HTTPS, dan Alibaba Cloud OSS. Alat ini juga dapat diperluas untuk mendukung sumber lain sesuai kebutuhan.
Mendukung mode standalone dan terdistribusi. Mode standalone mudah diterapkan dan digunakan. Mode terdistribusi cocok untuk migrasi data skala besar.
CatatanDalam mode standalone, Anda hanya dapat memigrasikan satu bucket dalam satu waktu.
Mendukung unggah yang dapat dilanjutkan.
Mendukung traffic shaping.
Mendukung migrasi file yang dimodifikasi setelah waktu tertentu atau file dengan awalan tertentu.
Mendukung unduh dan unggah data secara konkuren.
Penagihan
Alat ossimport gratis. Di lingkungan cloud publik, sumber data mungkin dikenai biaya seperti biaya lalu lintas outbound dan biaya permintaan. Bucket OSS tujuan akan dikenai biaya permintaan. Jika Anda mengaktifkan dan menggunakan transfer acceleration untuk OSS, biaya transfer acceleration juga akan dikenakan.
Catatan penggunaan
Kecepatan migrasi
Kecepatan migrasi ossimport bergantung pada faktor-faktor seperti bandwidth baca sumber, bandwidth jaringan lokal, dan ukuran file. Migrasi file yang lebih kecil dari 200 KB mungkin lambat karena penggunaan operasi input/output per detik (IOPS) yang tinggi.
Data sumber berada dalam kelas penyimpanan Archive
Saat memigrasikan data menggunakan ossimport, jika data sumber berada dalam kelas penyimpanan Archive, Anda harus memulihkan data tersebut sebelum memulai migrasi.
Staging Lokal
Saat memigrasikan data menggunakan ossimport, aliran data disimpan sementara di memori lokal sebelum diunggah ke tujuan.
Retensi data sumber
Saat memigrasikan data menggunakan ossimport, alat ini hanya melakukan operasi baca pada data sumber. Alat ini tidak memodifikasi atau menghapus data sumber.
Alat migrasi lain (ossutil)
Untuk memigrasikan data kurang dari 30 TB, kami menyarankan menggunakan ossutil. Alat ini sederhana dan praktis. Anda dapat menggunakan opsi -u, --update dan --snapshot-path untuk melakukan migrasi file inkremental. Untuk informasi lebih lanjut, lihat cp.
Lingkungan waktu proses
Anda dapat menerapkan ossimport pada sistem Linux atau Windows yang memenuhi persyaratan berikut:
Windows 7 atau versi lebih baru
CentOS 6 atau CentOS 7
Java 7 atau Java 8
Penerapan terdistribusi tidak didukung pada sistem Windows.
Pilih mode penyebaran
ossimport mendukung dua mode penyebaran: standalone dan terdistribusi.
Mode standalone: Untuk memigrasikan data kurang dari 30 TB, kami menyarankan Anda menerapkan dalam mode standalone. Anda dapat menerapkan ossimport pada mesin apa pun yang dapat mengakses data yang ingin Anda migrasikan dan dapat mengakses OSS.
Mode terdistribusi: Untuk memigrasikan data lebih dari 30 TB, kami menyarankan Anda menerapkan dalam mode terdistribusi. Anda dapat menerapkan ossimport pada beberapa mesin yang dapat mengakses data yang ingin Anda migrasikan dan dapat mengakses OSS.
CatatanJika jumlah data yang akan dimigrasikan sangat besar, Anda dapat menghemat waktu dengan menerapkan ossimport pada instance ECS di wilayah yang sama dengan bucket OSS Anda. Kemudian, hubungkan server yang menyimpan data sumber ke jaringan VPC Alibaba Cloud menggunakan jalur sewa. Memigrasikan data dari beberapa instance ECS ke OSS melalui jaringan internal secara signifikan meningkatkan efisiensi migrasi.
Anda juga dapat menggunakan ossimport untuk mentransfer data melalui Internet. Kecepatan transfer dipengaruhi oleh bandwidth server lokal Anda.
Mode standalone
Modul Master, Worker, Tracker, dan Console berjalan pada satu mesin dan dikemas menjadi ossimport2.jar. Sistem hanya memiliki satu Worker.
Berikut struktur file dalam mode standalone:
ossimport
├── bin
│ └── ossimport2.jar # Paket JAR yang berisi modul Master, Worker, Tracker, dan Console.
├── conf
│ ├── local_job.cfg # File konfigurasi tugas untuk mode standalone.
│ └── sys.properties # File konfigurasi untuk parameter sistem.
├── console.bat # Tool baris perintah untuk Windows. Anda dapat menggunakannya untuk menjalankan tugas impor langkah demi langkah.
├── console.sh # Tool baris perintah untuk Linux. Anda dapat menggunakannya untuk menjalankan tugas impor langkah demi langkah.
├── import.bat # Skrip impor sekali klik untuk Windows. Menjalankan tugas migrasi data yang dikonfigurasi dalam conf/local_job.cfg, termasuk memulai, memigrasikan, memverifikasi, dan mencoba ulang tugas.
├── import.sh # Skrip impor sekali klik untuk Linux. Menjalankan tugas migrasi data yang dikonfigurasi dalam conf/local_job.cfg, termasuk memulai, memigrasikan, memverifikasi, dan mencoba ulang tugas.
├── logs # Direktori log.
└── README.md # File README. Kami sangat menyarankan Anda membaca file ini sebelum digunakan.File import.bat dan import.sh adalah skrip impor sekali klik. Anda dapat menjalankannya langsung setelah memodifikasi file
local_job.cfg.File console.bat dan console.sh adalah alat baris perintah yang dapat Anda gunakan untuk menjalankan perintah langkah demi langkah.
Jalankan skrip atau perintah di direktori
ossimport, yaitu direktori yang sama dengan file*.bat/*.sh.
Mode terdistribusi
ossimport menggunakan arsitektur terdistribusi berbasis model master-worker. Berikut strukturnya:
Master --------- Job --------- Console
|
|
TaskTracker
|_____________________
|Task | Task | Task
| | |
Worker Worker WorkerParameter | Deskripsi |
Master | Pekerjaan dipecah menjadi beberapa tugas berdasarkan ukuran data dan jumlah file. Anda dapat mengonfigurasi ukuran data serta jumlah file tersebut dalam file sys.properties. Langkah-langkah berikut menjelaskan cara membagi pekerjaan menjadi beberapa tugas:
|
Worker |
|
TaskTracker | Disingkat Tracker. Mendistribusikan task dan melacak status task. |
Console | Berinteraksi dengan pengguna, menerima perintah, dan menampilkan hasil. Mendukung perintah administrasi sistem seperti deploy, start, dan stop, serta perintah manajemen tugas seperti submit, retry, dan clean. |
Job | Tugas migrasi data yang diajukan oleh pengguna. Bagi pengguna, satu tugas berkorespondensi dengan satu file konfigurasi |
Task | Satu job dapat dibagi menjadi beberapa task berdasarkan ukuran data dan jumlah file. Setiap task memigrasikan sebagian file. Unit terkecil untuk membagi job adalah satu file. Satu file tidak dibagi ke beberapa task. |
Dalam mode terdistribusi, Anda dapat memulai beberapa mesin untuk migrasi data. Anda hanya dapat memulai satu Worker pada setiap mesin. Task didistribusikan secara merata di antara Worker. Setiap Worker dapat menjalankan beberapa task.
Berikut struktur file dalam mode terdistribusi:
ossimport
├── bin
│ ├── console.jar # Paket JAR untuk modul Console.
│ ├── master.jar # Paket JAR untuk modul Master.
│ ├── tracker.jar # Paket JAR untuk modul Tracker.
│ └── worker.jar # Paket JAR untuk modul Worker.
├── conf
│ ├── job.cfg # Templat file konfigurasi tugas.
│ ├── sys.properties # File konfigurasi untuk parameter sistem.
│ └── workers # Daftar worker.
├── console.sh # Tool baris perintah. Saat ini hanya mendukung Linux.
├── logs # Direktori log.
└── README.md # File README. Kami sangat menyarankan Anda membaca file ini sebelum digunakan.File konfigurasi
Dalam mode standalone, terdapat dua file konfigurasi: sys.properties dan local_job.cfg. Dalam mode terdistribusi, terdapat tiga file konfigurasi: sys.properties, job.cfg, dan workers. Item konfigurasi dalam local_job.cfg dan job.cfg identik. Perbedaannya hanya pada nama. File workers khusus untuk lingkungan terdistribusi.
sys.properties: Parameter waktu proses sistem
Parameter
Deskripsi
Detail
workingDir
Direktori kerja
Direktori tempat paket tool diekstrak. Jangan ubah parameter ini dalam mode standalone. Dalam mode terdistribusi, direktori kerja harus sama di setiap mesin.
workerUser
Username SSH untuk mesin worker
Jika `privateKeyFile` dikonfigurasi, maka akan digunakan terlebih dahulu.
Jika `privateKeyFile` tidak dikonfigurasi, maka `workerUser` dan `workerPassword` digunakan.
Jangan ubah parameter ini dalam mode standalone.
workerPassword
Password SSH untuk mesin worker
Jangan ubah parameter ini dalam mode standalone.
privateKeyFile
Jalur file kunci privat
Jika saluran SSH sudah dibuat, Anda dapat menentukan parameter ini. Jika tidak, biarkan kosong.
Jika `privateKeyFile` dikonfigurasi, maka akan digunakan terlebih dahulu.
Jika `privateKeyFile` tidak dikonfigurasi, maka `workerUser` dan `workerPassword` digunakan.
Jangan ubah parameter ini dalam mode standalone.
sshPort
Port SSH
Nilai default adalah 22. Jangan ubah nilai ini kecuali diperlukan. Jangan ubah parameter ini dalam mode standalone.
workerTaskThreadNum
Jumlah maksimum thread untuk worker menjalankan task
Parameter ini bergantung pada memori dan jaringan mesin. Nilai yang direkomendasikan adalah 60.
Anda dapat menaikkan nilai ini untuk mesin fisik, misalnya menjadi 150. Jika bandwidth jaringan sudah dimanfaatkan sepenuhnya, jangan naikkan nilai lebih lanjut.
Jika koneksi jaringan buruk, turunkan nilai ini menjadi angka seperti 30. Hal ini membantu mencegah timeout permintaan akibat kontensi jaringan.
workerMaxThroughput(KB/s)
Throughput lalu lintas maksimum untuk migrasi data pada worker
Nilai ini dapat digunakan untuk traffic shaping. Nilai default adalah 0, yang berarti tanpa traffic shaping.
dispatcherThreadNum
Jumlah thread untuk tracker mendistribusikan task dan memeriksa status
Nilai default biasanya sudah cukup. Jangan ubah nilai default kecuali diperlukan.
workerAbortWhenUncatchedException
Menentukan apakah akan melewati atau menghentikan task saat terjadi error yang tidak dikenal
Secara default, task dilewati.
workerRecordMd5
Menentukan apakah akan menggunakan metadata x-oss-meta-md5 untuk mencatat hash MD5 file yang dimigrasikan di OSS. Secara default, hash MD5 tidak dicatat.
Ini digunakan untuk Validasi MD5 file.
job.cfg: Konfigurasi tugas migrasi data. Item konfigurasi dalam
local_job.cfgdanjob.cfgidentik. Perbedaannya hanya pada nama.Parameter
Deskripsi
Detail
jobName
Nama tugas. String.
Identifier unik tugas. Nama harus mengikuti Konvensi penamaan `[a-zA-Z0-9_-]{4,128}`. Anda dapat mengirimkan beberapa tugas dengan nama berbeda.
Jika Anda mengirimkan tugas dengan nama yang sama dengan tugas yang sudah ada, akan muncul pesan bahwa tugas tersebut sudah ada. Anda tidak dapat mengirimkan tugas dengan nama yang sama sampai tugas yang ada dibersihkan.
jobType
Jenis tugas. String.
Nilai default adalah
import.
isIncremental
Menentukan apakah akan mengaktifkan mode migrasi inkremental. Boolean.
Nilai default adalah false.
Jika diatur ke true, sistem akan memindai ulang data inkremental pada interval yang ditentukan oleh `incrementalModeInterval` (dalam detik) dan memigrasikan data inkremental ke OSS.
incrementalModeInterval
Interval sinkronisasi dalam mode inkremental. Integer. Satuan: detik.
Parameter ini hanya berlaku saat `isIncremental` diatur ke true. Interval minimum yang dapat dikonfigurasi adalah 900 detik. Kami menyarankan agar Anda tidak mengatur nilai ini kurang dari 3600 detik. Hal ini mencegah permintaan berlebihan dan overhead sistem tambahan.
importSince
Memigrasikan data yang dimodifikasi setelah waktu ini. Integer. Satuan: detik.
Waktu ini adalah Stempel waktu UNIX, yaitu jumlah detik yang telah berlalu sejak 00:00:00 UTC pada 1 Januari 1970. Dapatkan stempel waktu dengan menjalankan perintah `date +%s`.
Nilai default adalah 0, yang berarti semua data dimigrasikan.
srcType
Jenis sumber data. String. Parameter ini case-sensitive.
Jenis yang didukung:
local: Memigrasikan data dari file lokal ke OSS. Untuk opsi ini, Anda hanya perlu menentukan `srcPrefix`. Anda tidak perlu menentukan `srcAccessKey`, `srcSecretKey`, `srcDomain`, atau `srcBucket`.oss: Memigrasikan data dari satu bucket OSS ke bucket lainnya.qiniu: Memigrasikan data dari Qiniu Kodo ke OSS.bos: Memigrasikan data dari Baidu BOS ke OSS.ks3: Memigrasikan data dari Kingsoft KS3 ke OSS.s3: Memigrasikan data dari Amazon S3 ke OSS.youpai: Memigrasikan data dari UPYUN USS ke OSS.http: Memigrasikan data ke OSS dari daftar tautan HTTP atau HTTPS yang disediakan.cos: Memigrasikan data dari Tencent Cloud COS ke OSS.azure: Memigrasikan data dari Azure BLOB ke OSS.
srcAccessKey
ID AccessKey sumber. String.
Jika `srcType` diatur ke
oss,qiniu,baidu,ks3, ataus3, masukkan ID AccessKey sumber data.Jika `srcType` diatur ke
localatauhttp, Anda tidak perlu menentukan parameter ini.Jika `srcType` diatur ke
youpaiatauazure, masukkan username (AccountName).
srcSecretKey
Rahasia AccessKey sumber. String.
Jika `srcType` diatur ke
oss,qiniu,baidu,ks3, ataus3, masukkan Rahasia AccessKey sumber data.Jika `srcType` diatur ke
localatauhttp, Anda tidak perlu menentukan parameter ini.Jika `srcType` diatur ke
youpai, masukkan password operator.Jika `srcType` diatur ke
azure, masukkan AccountKey.
srcDomain
Titik akhir sumber
Jika `srcType` diatur ke
localatauhttp, Anda tidak perlu menentukan parameter ini.Jika `srcType` diatur ke
oss, masukkan titik akhir yang diperoleh dari Konsol. Ini bukan domain tingkat kedua yang mencakup awalan bucket.Jika `srcType` diatur ke
qiniu, masukkan titik akhir bucket yang sesuai yang diperoleh dari konsol Qiniu.Jika `srcType` diatur ke `bos`, masukkan titik akhir Baidu BOS, seperti
http://bj.bcebos.comatauhttp://gz.bcebos.com.Jika `srcType` diatur ke `ks3`, masukkan titik akhir Kingsoft KS3, seperti
http://kss.ksyun.com,http://ks3-cn-beijing.ksyun.com, atauhttp://ks3-us-west-1.ksyun.coms.Jika `srcType` diatur ke
S3, masukkan titik akhir untuk wilayah Amazon S3.Jika `srcType` diatur ke
youpai, masukkan titik akhir UPYUN. Misalnya, gunakanhttp://v0.api.upyun.comuntuk menentukan jalur optimal secara otomatis,http://v1.api.upyun.comuntuk jalur China Telecom atau China Netcom,http://v2.api.upyun.comuntuk jalur China Unicom atau China Netcom, atauhttp://v3.api.upyun.comuntuk jalur China Mobile atau China Tietong.Jika `srcType` diatur ke
cos, masukkan wilayah tempat bucket Tencent Cloud berada. Misalnya, wilayah Tiongkok Selatan adalah `ap-guangzhou`.Jika `srcType` diatur ke
azure, masukkan nilai `EndpointSuffix` dari string koneksi Azure Blob, seperti core.chinacloudapi.cn.
srcBucket
Nama bucket atau kontainer sumber
Jika `srcType` diatur ke
localatauhttp, Anda tidak perlu menentukan parameter ini.Jika `srcType` diatur ke
azure, masukkan nama kontainer.Untuk jenis sumber lainnya, masukkan nama bucket.
srcPrefix
Awalan objek sumber. String. Default: kosong.
Jika `srcType` diatur ke `local`, masukkan direktori lokal. Anda harus memberikan jalur mutlak, menggunakan garis miring maju tunggal (/) sebagai pemisah, dan mengakhiri jalur dengan garis miring maju tunggal (/). Hanya format seperti
c:/example/atau/data/example/yang didukung.PentingJalur seperti `c:/example//`, `/data//example/`, atau `/data/example//` tidak valid.
Jika `srcType` diatur ke
oss,qiniu,bos,ks3,youpai, ataus3, masukkan awalan objek yang akan disinkronkan, tidak termasuk nama bucket. Misalnya,data/to/oss/.Untuk menyinkronkan semua file, biarkan `srcPrefix` kosong.
destAccessKey
ID AccessKey tujuan. String.
ID AccessKey yang digunakan untuk mengakses layanan OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.
ID AccessKey yang digunakan untuk mengakses layanan OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.
destSecretKey
Rahasia AccessKey tujuan. String.
Rahasia AccessKey yang digunakan untuk mengakses OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.
Rahasia AccessKey yang digunakan untuk mengakses OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.
destDomain
Titik akhir tujuan. String.
Dapatkan dari Konsol Manajemen Alibaba Cloud. Ini bukan domain tingkat kedua yang mencakup awalan bucket. Untuk daftar titik akhir, lihat Nama Domain.
Dapatkan dari Konsol Manajemen Alibaba Cloud. Ini bukan domain tingkat kedua yang mencakup awalan bucket. Untuk daftar titik akhir, lihat Nama Domain.
destBucket
Bucket tujuan. String.
destPrefix
Awalan untuk objek tujuan. String. Default: kosong.
Awalan untuk objek tujuan. Secara default, parameter ini kosong, dan objek ditempatkan langsung di bucket tujuan.
Jika Anda ingin menyinkronkan data ke direktori tertentu di
OSS, akhiri awalan dengan garis miring (/), sepertidata/in/oss/.Perhatikan bahwa
OSStidak mendukung nama objek yang diawali dengan garis miring (/). Oleh karena itu, jangan mengonfigurasi `destPrefix` agar diawali dengan garis miring (/).File lokal dengan jalur srcPrefix+relativePath dimigrasikan ke
OSSdengan jalur destDomain/destBucket/destPrefix +relativePath.File cloud dengan jalur srcDomain/srcBucket/srcPrefix+relativePath dimigrasikan ke
OSSdengan jalur destDomain/destBucket/destPrefix+relativePath.
taskObjectCountLimit
Jumlah maksimum file untuk setiap task. Integer. Default: 10000.
Parameter ini memengaruhi tingkat paralelisme eksekusi task. Rumus umum untuk nilai ini adalah: (Jumlah total file) / (Jumlah total Worker) / (`workerTaskThreadNum`). Nilai maksimum adalah 50000. Jika Anda tidak mengetahui jumlah total file, gunakan nilai default.
taskObjectSizeLimit
Ukuran data maksimum untuk setiap task. Integer. Satuan: byte. Default: 1 GB.
Parameter ini memengaruhi tingkat paralelisme eksekusi task. Rumus umum untuk nilai ini adalah: (Ukuran data total) / (Jumlah total Worker) / (`workerTaskThreadNum`). Jika Anda tidak mengetahui ukuran data total, gunakan nilai default.
isSkipExistFile
Menentukan apakah akan melewati file yang sudah ada selama migrasi data. Boolean.
Jika diatur ke `true`, sistem menentukan apakah akan melewati file berdasarkan ukuran dan `LastModifiedTime`. Jika diatur ke `false`, sistem selalu menimpa file yang sudah ada di OSS. Nilai default adalah `false`.
scanThreadCount
Jumlah thread untuk pemindaian file konkuren. Integer.
Nilai default: 1
Nilai valid: 1 hingga 32
Parameter ini memengaruhi efisiensi pemindaian file. Jangan ubah kecuali Anda memiliki kebutuhan khusus.
maxMultiThreadScanDepth
Kedalaman maksimum direktori untuk pemindaian konkuren. Integer.
Nilai default: 1
Nilai valid: 1 hingga 16
Nilai default 1 berarti pemindaian konkuren antar direktori tingkat atas.
Jangan ubah nilai ini kecuali Anda memiliki kebutuhan khusus. Nilai yang terlalu besar dapat menyebabkan task gagal.
appId
ID aplikasi untuk Tencent Cloud COS. Integer.
Parameter ini hanya berlaku saat `srcType` diatur ke `cos`.
httpListFilePath
Jalur absolut file yang berisi daftar URL HTTP. String.
Parameter ini hanya berlaku saat `srcType` diatur ke `http`. Saat sumber adalah daftar URL HTTP, Anda harus memberikan jalur absolut ke file yang berisi URL HTTP, seperti `c:/example/http.list`.
Tautan HTTP dalam file ini harus dalam dua kolom, dipisahkan oleh satu atau beberapa spasi. Kolom-kolom tersebut merepresentasikan awalan URL sumber dan jalur relatif tujuan di OSS. Misalnya, jika file `c:/example/http.list` berisi:
http://xxx.xxx.com/aa/ bb.jpg http://xxx.xxx.com/cc/ dd.jpgJika Anda menentukan `destPrefix` sebagai `ee/`, file yang dimigrasikan ke OSS akan diberi nama sebagai berikut:
ee/bb.jpg ee/dd.jpg
workers: Khusus untuk mode terdistribusi. Masukkan satu alamat IP per baris. Contoh:
192.168.1.6 192.168.1.7 192.168.1.8Dalam konfigurasi di atas, baris pertama,
192.168.1.6, harus merupakan master. Artinya, Master, Worker, dan TaskTracker semuanya akan dimulai pada192.168.1.6. Console juga harus dijalankan pada mesin ini.Pastikan beberapa mesin Worker memiliki username, metode login, dan direktori kerja yang sama.
Contoh file konfigurasi
Tabel berikut menyediakan file konfigurasi untuk tugas migrasi data dalam mode terdistribusi. File konfigurasi untuk mode standalone bernama local_job.cfg, dan item konfigurasinya sama dengan mode terdistribusi.
Jenis migrasi | File konfigurasi | Deskripsi |
Memigrasikan data dari server lokal ke OSS | `srcPrefix` harus berupa jalur absolut yang diakhiri dengan garis miring (/), seperti | |
Memigrasikan data dari Qiniu Kodo ke OSS | `srcPrefix` dan `destPrefix` dapat kosong. Jika tidak kosong, harus diakhiri dengan garis miring (/), seperti | |
Memigrasikan data dari Baidu BOS ke OSS | `srcPrefix` dan `destPrefix` dapat kosong. Jika tidak kosong, harus diakhiri dengan garis miring (/), seperti | |
Memigrasikan data dari Amazon S3 ke OSS | Untuk informasi lebih lanjut, lihat titik akhir S3. | |
Memigrasikan data dari UPYUN USS ke OSS | Atur `srcAccessKey` dan `srcSecretKey` ke akun dan password operator. | |
Memigrasikan data dari Tencent Cloud COS ke OSS | Atur `srcDomain` berdasarkan persyaratan versi V4, misalnya, | |
Memigrasikan dari Azure Blob ke OSS | Atur `srcAccessKey` dan `srcSecretKey` ke akun penyimpanan dan kunci. Atur `srcDomain` ke `EndpointSuffix` dalam string koneksi, seperti | |
Memigrasikan data dari OSS ke OSS | Ini cocok untuk migrasi data antar wilayah berbeda, antar kelas penyimpanan berbeda, atau antar awalan berbeda. Kami menyarankan menerapkan pada instance ECS dan menggunakan Titik akhir internal untuk mengurangi biaya lalu lintas. |
Pengaturan lanjutan
Pembatasan kecepatan berbasis waktu
Dalam sys.properties, workerMaxThroughput(KB/s) merepresentasikan batas atas lalu lintas Worker. Jika bisnis Anda memerlukan traffic shaping, seperti pembatasan kecepatan sisi sumber atau keterbatasan jaringan, atur parameter ini. Nilai parameter ini harus lebih kecil dari lalu lintas jaringan maksimum mesin dan harus dievaluasi berdasarkan kebutuhan bisnis. Setelah mengubah nilai, Anda harus restart layanan agar perubahan berlaku.
Dalam penerapan terdistribusi, Anda perlu memodifikasi file sys.properties di direktori $OSS_IMPORT_WORK_DIR/conf setiap Worker, lalu restart layanan.
Untuk menerapkan pembatasan kecepatan berbasis waktu, Anda dapat menggunakan crontab untuk menjadwalkan modifikasi sys.properties lalu restart layanan agar perubahan berlaku.
Ubah konkurensi Tugas
Dalam sys.properties, workerTaskThreadNum merepresentasikan jumlah task yang dapat dijalankan Worker secara konkuren. Jika koneksi jaringan buruk dan konkurensi tinggi, banyak error timeout dapat terjadi. Dalam kasus ini, Anda dapat mengubah parameter ini untuk mengurangi tingkat konkurensi lalu restart layanan.
Dalam sys.properties, workerMaxThroughput(KB/s) merepresentasikan batas atas lalu lintas Worker. Jika bisnis Anda memerlukan traffic shaping, seperti pembatasan kecepatan sisi sumber atau keterbatasan jaringan, atur parameter ini. Nilai parameter ini harus lebih kecil dari lalu lintas jaringan maksimum mesin dan harus dievaluasi berdasarkan kebutuhan bisnis.
Dalam job.cfg, taskObjectCountLimit adalah jumlah maksimum file per task, dengan default 10000. Parameter ini memengaruhi jumlah task. Angka yang terlalu kecil tidak dapat mencapai konkurensi efektif.
Dalam job.cfg, taskObjectSizeLimit adalah ukuran data maksimum per task, dengan default 1 GB. Parameter ini memengaruhi jumlah task. Angka yang terlalu kecil tidak dapat mencapai konkurensi efektif.
PentingKonfigurasikan semua parameter sebelum memulai tugas migrasi.
Setelah Anda mengubah parameter dalam `sys.properties`, Anda harus restart server migrasi agar perubahan berlaku.
Setelah tugas `job.cfg` diajukan, parameter konfigurasinya tidak dapat diubah.
Memverifikasi data tanpa migrasi
ossimport mendukung verifikasi data tanpa memigrasikannya. Untuk melakukan ini, atur item konfigurasi jobType dalam file job.cfg atau local_job.cfg ke audit alih-alih import. Konfigurasi lainnya sama seperti migrasi data.
Mode migrasi data inkremental
Dalam mode migrasi data inkremental, tugas pertama kali melakukan migrasi penuh. Kemudian, secara otomatis melakukan migrasi data inkremental pada interval yang ditentukan. Migrasi penuh awal dimulai segera setelah tugas diajukan. Migrasi inkremental berikutnya dijalankan sekali per siklus. Mode ini cocok untuk cadangan data dan sinkronisasi data.
Ada dua item konfigurasi untuk mode inkremental:
Dalam job.cfg, isIncremental menentukan apakah akan mengaktifkan mode migrasi inkremental. true mengaktifkan mode inkremental, dan false menonaktifkannya. Default-nya dinonaktifkan.
Dalam job.cfg, incrementalModeInterval menentukan interval sinkronisasi dalam mode inkremental, yaitu periode antara migrasi data inkremental, dalam detik. Ini hanya berlaku saat
isIncremental=true. Nilai minimum yang dapat dikonfigurasi adalah900 detik. Kami menyarankan agar Anda tidak mengatur nilai ini kurang dari3600detik. Hal ini mencegah permintaan berlebihan dan overhead sistem tambahan.
Menentukan kondisi filter untuk migrasi
Kondisi filter memungkinkan Anda hanya memigrasikan file yang memenuhi kriteria tertentu. ossimport mendukung pemfilteran berdasarkan awalan dan waktu modifikasi terakhir:
Dalam job.cfg, srcPrefix digunakan untuk menentukan awalan file yang akan dimigrasikan. Secara default kosong.
Jika
srcType=local, masukkan direktori lokal. Anda harus memberikan jalur mutlak, menggunakan garis miring maju tunggal (/) sebagai pemisah, dan mengakhiri jalur dengan garis miring maju tunggal (/), sepertic:/example/atau/data/example/.Jika
srcTypeadalahoss,qiniu,bos,ks3,youpai, ataus3, ini adalah awalan objek yang akan disinkronkan, tidak termasuk nama bucket. Misalnya,data/to/oss/. Untuk memigrasikan semua file, atursrcPrefixke kosong.
Dalam job.cfg, importSince digunakan untuk menentukan waktu modifikasi terakhir file yang akan dimigrasikan, dalam detik. importSince adalah Stempel waktu UNIX, yaitu jumlah detik yang telah berlalu sejak 00:00:00 UTC pada 1 Januari 1970. Dapatkan stempel waktu dengan menjalankan perintah date +%s. Nilai default adalah 0, yang berarti semua data dimigrasikan. Dalam mode inkremental, parameter ini hanya berlaku untuk migrasi penuh pertama. Dalam mode non-inkremental, berlaku untuk seluruh tugas migrasi.
Jika
LastModified Timefile sebelumimportSince, file tersebut tidak dimigrasikan.Jika
LastModified Timefile setelahimportSince, file tersebut akan dimigrasikan.