組み込みMongoDBと共にTalend Data Preparation 8.0.x R2025-02へ移行
始める前に
Talend Dictionary Serviceをインストールおよび使用して、カスタムセマンティックタイプを作成したり、事前定義されたセマンティックタイプをアップデートした場合は、Talend Dictionary Serviceを移行してから、Talend Data Preparationを移行する必要があります。Talend Dictionary Serviceをバージョン8.0.x R2022-07以降に移行をご覧ください。
Talend CloudのダウンロードページからハイブリッドのTalend Data Preparation8.0.xアーカイブをダウンロードします。
手順
- 現在のTalend Data Preparationインスタンスを停止してください。ただし、MongoDBインスタンスは引き続き実行してください。
-
次のコマンドを実行してMongoDBをバックアップします。
mongodump -h <source_mongodb_host>:<source_mongo_port> -d <source_database> -u <source_mongodb_user> -p <source_mongodb_password> -o <dump_output>組み込みMongoDBプロパティのデフォルト値は以下のとおりです。プロパティ 値 mongodb.host localhost mongodb.port 27017 mongodb.database dataprep mongodb.user dataprep mongodb.password duser -
Talend Data Preparationの前バージョンからMongoDBインスタンスを停止します。
情報メモ注: Windowsユーザーの場合は、Talend Data Preparationをインストールする前に現在のMongoDBをアンインストールする必要があります。
-
Talend Data Preparationをインストールし、組み込みMongoDBオプションを選択します。インスタンスは開始しないでください。
Talend Data Preparationをサービスモードでインストールした場合は、インスタンスとMongoDBを停止します。
-
データベースを削除します。
-
Talend Data Preparationデータベースユーザーとしてmongoシェルを開き、次のコマンドを実行します。
cd <install_dir>/mongodb/bin ./mongo dataprep -u dataprep-user -p dprep --port 27017 - Talend Data Preparationデータベースに切り替え: use dataprep
- データベースを削除: db.runCommand( { dropDatabase: 1 } )
- mongo shellを終了: exit
-
Talend Data Preparationデータベースユーザーとしてmongoシェルを開き、次のコマンドを実行します。
-
次のコマンドを使用して、新しい8.0 MongoDBインスタンス上のMongoDBバックアップを復元します。
mongo_path>/bin/mongorestore -h <mongo_host>:<mongo_port> -u <mongo_tdp_username> -p <mongo_tdp_password> -d <mongo_tdp_database> <backup_location> -
8.0.x R2023-11以前から移行する場合は、<Data_Preparation_Path>/config/application.propertiesファイルをアップデートします:
-
<Data_Preparation_Path>/config/application.propertiesファイルをバックアップします。
- ファイルを編集し、プロパティをアップデートします:
- 次のプロパティを削除します:
# Service documentation service.documentation=true service.documentation.name=Talend Data Preparation - API service.documentation.description=This service exposes high level services that may involve services orchestration. service.paths=api springfox.documentation.swagger.v2.host=${public.ip}:${server.port}${gateway-api.service.path} springfox.resources.prefix.url=${gateway-api.service.path} # see https://github.com/springfox/springfox/issues/2265 logging.level.io.swagger.models.parameters.AbstractSerializableParameter=error security.basic.enabled=false security.oidc.client.expectedIssuer=${iam.uri}/oidc iam.license.url=${iam.uri}/oidc/api security.oidc.client.keyUri=${iam.uri}/oidc/jwk/keys security.oauth2.client.clientId=<security client id> security.oauth2.client.clientSecret=<security client secret> security.oidc.client.claimIssueAtTolerance=120 # security.oauth2.resource.serviceId=${PREFIX:}resource security.oauth2.resource.tokenInfoUri=${iam.uri}/oidc/oauth2/introspect security.oauth2.resource.uri=/v2/api-docs,/api/**,/folders/**,/datasets/**,/dataset/**,/preparations/**,/transform/**,/version/**,/acl/**,/apply/**,/export,/export/**,/aggregate,/sampling/**,/receivers/**,/error,/datastores/**,/preparation/**,/actions/**,/suggest/**,/dictionary/**,/transformation/preparations/**,/transformation/v2/**,/sharing/** security.oauth2.resource.filter-order=3 security.scim.enabled=true security.oauth2.client.access-token-uri=${iam.uri}/oidc/oauth2/token security.oauth2.client.scope=openid refreshToken security.oauth2.client.user-authorization-uri=${iam.uri}/oidc/idp/authorize security.oauth2.sso.login-use-forward=false security.oauth2.resource.tokenInfoUriCache.enabled=true # FIXME: temporary fix related to dataquality-semantic-consumer version = 11.2.0 # FIXME: that will need to be removed as soon as we bump to spring boot 2.7 and bump dq library at the same time spring.cloud.stream.binders.kafka-binder-consumer.environment.spring.cloud.stream.kafka.binder.brokers=${spring.cloud.stream.kafka.binder.brokers} # Zuul properties gateway-api.service.url=http://${public.ip}:${server.port} zuul.servletPath=/gateway/upload zuul.routes.dq.path=/gateway/dq/semanticservice/** zuul.routes.dq.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.dq.url=${dataquality.server.url}/ proxy.auth.routes.dq=oauth2 zuul.routes.me.path=/gateway/api/v1/scim/me/** zuul.routes.me.url=${iam.scim.url}/Me proxy.auth.routes.me=oauth2 zuul.routes.pendo.path=/gateway/api/iam-server/pendo/** zuul.routes.pendo.url=${iam.scim.url}/pendo proxy.auth.routes.pendo=oauth2 zuul.routes.sharingset.path=/gateway/api/v1/sharingset/** zuul.routes.sharingset.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.sharingset.url=http://${public.ip}:${server.port}/sharing/v1/sharingset proxy.auth.routes.sharingset=oauth2 zuul.routes.sharing.path=/gateway/api/v1/sharing/** zuul.routes.sharing.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.sharing.url=http://${public.ip}:${server.port}/sharing/v1/sharing proxy.auth.routes.sharing=oauth2 zuul.routes.sharings.path=/gateway/api/v1/sharings/** zuul.routes.sharings.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.sharings.url=http://${public.ip}:${server.port}/sharing/v1/sharings proxy.auth.routes.sharings=oauth2 zuul.routes.api.path=/gateway/api/** zuul.routes.api.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.api.url=http://${public.ip}:${server.port}/api proxy.auth.routes.api=oauth2 spring.cloud.gateway.mvc.routes[0].id=api spring.cloud.gateway.mvc.routes[0].uri=http://${public.ip}:${server.port} spring.cloud.gateway.mvc.routes[0].predicates[0]=Path=/gateway/api/** spring.cloud.gateway.mvc.routes[0].filters[0]=RewritePath=/gateway/api/(?<segment>.*), /api/$\{segment} zuul.routes.upload.path=/api/upload/** zuul.routes.upload.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.upload.url=http://${public.ip}:${server.port}/api proxy.auth.routes.upload=oauth2 zuul.routes.swagger1.path=/gateway/v3/api-docs/** zuul.routes.swagger1.sensitiveHeaders=${zuul.sensitiveHeaders} zuul.routes.swagger1.url=http://${public.ip}:${server.port}/v3/api-docs proxy.auth.routes.swagger1=oauth2 zuul.ignoredPatterns=/login,/logout,/signOut,/signIn zuul.sensitiveHeaders=Cookie,Set-Cookie zuul.host.socket-timeout-millis=300000 zuul.host.connect-timeout-millis=5000 - 次のプロパティを追加します:
# Service documentation springdoc.server.url=${gateway-api.service.path} springdoc.swagger-ui.path=/swagger-ui/ springdoc.swagger-ui.disable-swagger-default-url=true springdoc.swagger-ui.docExpansion=none springdoc.swagger-ui.operationsSorter=alpha springdoc.swagger-ui.tagsSorter=alpha springdoc.swagger-ui.urls[0].name=semanticservice springdoc.swagger-ui.urls[0].display-name=Talend Data Preparation - Semantic Service springdoc.swagger-ui.urls[0].url=${gateway-api.service.path}/dq/semanticservice/api-docs # Auth0 issuer uri - Used only for daikon configuration spring.security.oauth2.resourceserver.auth0.jwt.issuer-uri=https://talend.auth0.com/ # IAM authentication validation spring.security.oauth2.resourceserver.iam.jwt.jwk-set-uri=${iam.uri}/oidc/jwk/keys spring.security.oauth2.resourceserver.iam.opaque-token.introspection-uri=${iam.uri}/oidc/oauth2/introspect spring.security.oauth2.resourceserver.iam.opaque-token.query-entitlements=true # IAM authorization code flow spring.security.oauth2.client.registration.oidc.clientId=<security client id> spring.security.oauth2.client.registration.oidc.clientSecret=<security client secret> spring.security.oauth2.client.registration.oidc.authorization-grant-type=authorization_code spring.security.oauth2.client.registration.oidc.scope=openid,refreshToken spring.security.oauth2.client.registration.oidc.redirectUri=http://${public.ip}:${server.port}/signIn spring.security.oauth2.client.registration.oidc.provider=oidc spring.security.oauth2.client.provider.oidc.authorization-uri=${iam.uri}/oidc/idp/authorize spring.security.oauth2.client.provider.oidc.token-uri=${iam.uri}/oidc/oauth2/token spring.security.oauth2.client.provider.oidc.jwk-set-uri=${iam.uri}/oidc/jwk/keys # Kafka configuration spring.cloud.function.definition=internalMessage;internalMessageDatasetModule;tsdEventConsumer;tsdSemanticCacheUpdate spring.cloud.gateway.mvc.http-client.connect-timeout=5000 -
クライアントIDとクライアントシークレットを、新しいプロパティで置換します。これらはバックアップファイルから取得できます。
- 次のプロパティを削除します:
## Enable JWT needed in hybrid mode: security.oauth2.resource.jwt.key-uri=${iam.uri}/oidc/jwk/keys ## Redefine security scope by adding entitlements for hybrid security.oauth2.client.scope=openid refreshToken entitlements - spring.security.oauth2.client.registration.oidc.scopeプロパティに、entitlementsスコープ を追加します。
spring.security.oauth2.client.registration.oidc.scope=openid,refreshToken,entitlements
- 次のプロパティを削除します:
-
-
8.0.x R2024-05以前から移行する場合は、<Data_Preparation_Path>/config/application.propertiesファイルをアップデートします:
-
<Data_Preparation_Path>/config/application.propertiesファイルをバックアップします。
- ファイルを編集し、プロパティをアップデートします:
- 次のプロパティを削除します:
# Proxy for search purpose help.search.url=https://www.talendforge.org/find/api/THC.php - プロパティ:を次のプロパティで置換します:
# Support url support.url=https://www.talend.com/services/technical-support/ # Community link community.url=https://community.talend.com/s/group/0F93p0000000VNyCAM/data-quality-preparation-stewardship# Support url support.url=https://community.qlik.com/t5/Support/ct-p/qlikSupport # Community link community.url=https://community.qlik.com/t5/Data-Quality-Preparation-Stewardship/bd-p/qlik-t-data-quality-prep-stewardship
- 次のプロパティを削除します:
-
-
以前のTalend Data Preparationで使用されているデータセットストレージフォルダーのコンテンツを取得してバージョン8.0に移行するには、状況に応じて次の手順を実行します。
- dataset.content.store.file.locationプロパティでカスタム値を設定した場合は、バージョン8.0のapplication.propertiesファイルでも同じ値を設定してください。
- dataset.content.store.file.locationプロパティの値を一度も変更していない場合は、1.x/2.xで使用されている<Data_Preparation_Path>/dataフォルダーの内容をコピーし、同じパスに従って8.0のインストールフォルダーに貼り付けます。
- Talend Data Preparationを起動します。
タスクの結果
Talend Data Preparation 8.0にデータを移行済みであること。Talend Data Preparationを設定する場合は、Talend Data Preparationを設定の手順に従います。