EMCECS / ecs-sync

ecs-sync is a bulk copy utility that can move data between various systems in parallel
Apache License 2.0
61 stars 22 forks source link

migration S3 compatible to ECS S3 #99

Closed mpmafra1403 closed 4 months ago

mpmafra1403 commented 1 year ago

Hi Folks, I'm trying to run a migration from S3 compatible to ECS S3, when ran the job I'm getting a timeout, endpoint was a LoadBalancer VIP and ecssync is shown a error message trying to connect to final ECS IP, both are in different subnet and only LoadBalance has rule placed to ecssync.

General Error: [com.sun.jersey.api.client.ClientHandlerException: org.apache.http.conn.ConnectTimeoutException: Connect to :9021 timed out] org.apache.http.conn.ConnectTimeoutException: Connect to :9021 timed out

Can someone help me on this?

best regards.

xiaoxin-ren commented 1 year ago

"Smart Client" needs to be turned off when LB is used. Have you checked the same endpoint info working fine on other tools like s3browser or s3curl?

mpmafra1403 commented 1 year ago

Hi S3Browser is working fine, DataMigrate is working also, however this last tool don't do 2 bukets to a single one, so I will try to use ECSSYNC to do this.

Ashwin07 commented 1 year ago

I am trying to copy objects from an ECS bucket (namespace 1) to another ECS bucket (namespace 2) using the below command. java -jar ecs-sync-3.5.3.jar -source <source-uri> -target <target-uri>, since I am using a load balancer URL, it triggers smart client verification by default. there is no sample on how to disable smart client verification in the above command, can you please help?

xiaoxin-ren commented 1 year ago

@Ashwin07 , option --no-smart-client can be used to disable smart client. See details in https://github.com/EMCECS/ecs-sync/wiki/CLI-Syntax. Alternatively, you can use --xml-config to specify your configuration for the sync task, there are samples for your reference in https://github.com/EMCECS/ecs-sync/tree/master/sample .

Ashwin07 commented 1 year ago

Hi Eric,

I tried multiple ways, but not working.

java -jar ecs-sync-3.5.3.jar -source <source-uri> --no-smart-client -target <target-uri> EcsSync v3.5.3 Source and target options should be specified first use --help for a detailed (quite long) list of options

java -jar ecs-sync-3.5.3.jar -source <source-uri> -target <target-uri> --no-smart-client EcsSync v3.5.3 2023-08-10 10:04:00 WARN [main ] RestServer: REST server listening at http://localhost:9201/ org.apache.commons.cli.UnrecognizedOptionException: Unrecognized option: --no-smart-client use --help for a detailed (quite long) list of options

One tested example of copying data between ECS buckets using ECSSync, will be greatly appreciated!

xiaoxin-ren commented 1 year ago

@Ashwin07, you could firstly compose your sync job configuration by referencing https://github.com/EMCECS/ecs-sync/blob/master/sample/ecs-s3-bucket-copy.xml, then run ecs-sync-ctl --submit ecs-s3-bucket-copy.xml. The easiest way is to try all the operations in UI.

dunedodo commented 4 months ago

As it has been a long time since the last response, I'll close the ticket. Please feel free to reopen it if you hit the same issue.