# Talend Installerのインストールを準備するためMongoDBをインストールして設定

Talend Installerを使ってTalend Data Stewardship、Talend Data Preparation、Talend Dictionary Serviceをインストールする前に、MongoDBインスタンスをインストールして設定する必要があります。

## 始める前に

[MongoDBのウェブサイト](https://www.mongodb.com/) (英語のみ)から次のパッケージをダウンロードします:

1. お使いのオペレーティングシステム用のMongoDBサーバー
2. MongoDBツール - mongoシェル
3. MongoDBコマンドラインデータベースツール(Talend Dictionary Serviceでのみ必要)

## 手順

1. MongoDBサーバーパッケージをインストールし、MongoDBサーバーをシステムサービスとして設定します。
2. MongoDB管理者ユーザー用のシークレットパスワードを作成し、安全な場所に保管しておきます。

   例:
   * ユーザー名: ADMIN\_USER
   * パスワード: Password1
3. Mongo Shell ユーティリティを使って、MongoDB Shellパッケージをインストールします。このユーティリティは、古いリリースではmongoと呼ばれ、最近のリリースではmongoshと呼ばれます。
4. 右のフォルダーからターミナルウィンドウを開き、Mongo Shellユーティリティを起動して、認証なしでサーバーを実行します。

   たとえばMongoDBがlocalhostに標準ポート(27017)でインストールされている場合は、次のコマンドを使って接続します:
   ```
   mongo --port 27017
   ```
5. 接続後、以下のコマンドでadminデータベースにAdminUserを作成します:
   ```
   use admin
   db.createUser( { user: "AdminUser", pwd: "Password1", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "clusterAdmin", db: "admin" } ] } )
   exit
   ```
6. Linuxの場合はsystemctl stopコマンドで、Windowsの場合はServicesアプレットでMongoDBサーバーをシャットダウンします。
7. mongod.cfgと呼ばれるMongoDB設定ファイルを検索します。認証を有効にするためには、このファイルに次のセクションを追加する必要があります:
   ```
   security:
      authorization: enabled 
   ```
8. Linuxの場合はsystemctlコマンドで、Windowsの場合はServicesアプレットで変更を保存し、MongoDBサーバーを起動します。
9. mongoコマンドかmongoshコマンドを使ってMongo CLIユーティリティを起動します。セキュリティが有効になったので、次のように起動する必要があります:
   ```
   mongo --port 27017 -u "AdminUser" -p "Password1" --authenticationDatabase "admin" 
   ```
10. Talend Data Stewardship、Talend Data Preparation、Talend Dictionary Service用のデータベースユーザーを作成し、ユーザー名とパスワードを定義します。

    たとえば、前のステップで開始したmongoシェルに入るためのデフォルトユーザーとパスワードを作成するコマンドは次のとおりです:
    ```
    use dataprep
       db.createUser( { user: "dataprep-user", pwd: "duser",  roles: [ { role: "dbOwner", db: "dataprep" } ] } )
       use dqdict
       db.createUser( { user: "dqdict-user",   pwd: "duser", roles: [ { role: "dbOwner", db: "dqdict" }  ] } )
       use tds
       db.createUser( { user: "tds-user",      pwd: "duser",  roles: [ { role: "dbOwner", db: "tds" }  ] } )
       exit
    ```

    セキュリティ上の理由から、これらのデフォルト値を使用することは推奨されません。dqdictはTalend Dictionary Serviceアプリケーション用のデータベースです。上の例では、各アプリケーションに3人のユーザーが作成されています。インストールするアプリケーションのユーザーのみを定義してください。

## 次のタスク

Talend Data StewardshipとTalend Data Preparationのみをインストールする場合は、Talend Installerをすぐに実行できます。

Talend Dictionary Serviceをインストールする場合は、インストーラーを実行する前にデータベースを準備する必要があります。

## Talend Dictionary Service用にデータベースを準備

### 手順

1. ライセンスメールからTalend-DictionaryService.zipアーカイブファイルをダウンロードし、一時フォルダーに解凍します。
2. ターミナルウィンドウを開き、解凍したファイルにあるdq\_dict/databaseサブフォルダーに作業フォルダーを変更します。
3. semantic-dictionary-import.shファイルを検索します。
4. このファイルをエディターで開き、プレースホルダーをアップデートします:
   * %%%MONGO\_HOST%%%: MongoDBのホスト。たとえば、127.0.0.1となります。
   * %%%MONGO\_PORT%%%: MongoDBのポート。たとえば、27017となります。
   * %%%MONGO\_DBNAME%%%: MongoDBのデータベース名。たとえば、デフォルト設定ではdqdictとなります。
   * %%%MONGO\_USER%%%: Talend Dictionary Serviceデータベースのユーザー名。たとえば、デフォルト設定ではdqdict-userを使用します。
   * %%%MONGO\_PWD%%%: Talend Dictionary Serviceデータベースのパスワード。たとえば、デフォルト設定ではduserを使用します。
5. オプション: このスクリプトでは、mongorestoreユーティリティはPATHと呼ばれます。正確なパスを指定することをお勧めします。
6. 変更を保存します。
7. 次のコマンドを実行してこのファイルを実行可能にします:
   ```
   chmod +x semantic-dictionary-import.sh
   ```
8. このファイルを実行します。

### 次のタスク

これで、インストーラーを使ってTalend Dictionary Serviceをインストールできるようになります。