Installation
Before installing the agent, create an ECB_HOME folder (preferably /opt/ecb) where ECB will be installed. The ecb folder will be automatically created by the ECB package.
[Optional] ECB_HOME and other environment variables are defined in the ECB_HOME/bin/env.sh file. To add these variables to the user session by default, run the following command:
vi ~/.bashrc
and add the following line at the end of the file:
source /opt/ecb/bin/env.sh
ECB Agent Installation
- Navigate to the ECB_HOME folder using the following command:
cd /opt
- Obtain the package using the following command:
wget <link-to-download>
- Untar the package using the following command:
ar -xvf <package_name>
. A folder, ecb, will be created with all the resources. - Navigate to the ecb folder in shell using the following command:
cd ecb
- Set JAVA_HOME in the ./bin/env.sh file, if not set already.
- For installation, run the following command:
bash ./bin/install.sh
Starting the Agent
Configuring Cloud Storage Associated with Agent
Open the ECB_HOME/conf/ecb.properties file and add the following configurations as per the cloud instance (one configuration in each line):
Google Cloud Storage
- Set
ecb.cloud.dest=gcs
- To create and manage Service Account, see Creating Service Account. Ensure it includes the required permissions. Upload the service account key to both agent and cloud (cloud installation can use different account as well).
- Create service account in IAM and Admin > service accounts.
- In the same page, create and download an access key for this account by navigating to Actions > Create Key > JSON Key Type > Create.
- In IAM and Admin > IAM, provide the following roles to service account: Storage Admin, Storage Object Admin, Storage Transfer Admin.
- gcp.service.account.file=/path/to/service/account/file
NOTE: The service account must have permission to write to the GCS bucket that you configure in the ECB Agent page (see step 4 in the Configuring ECB Agent in Infoworks ADE section).
- Add the advanced configuration, GCP_PROJECT_ID, in Source Settings in Infoworks Cloud.
S3
ecb.cloud.dest=s3
s3.bucket.region=<aws_s3_region>
.- To create AWS credentials, see Creating IAM User.
NOTE: The credential must have permission to write to the S3 bucket that you configure in the ECB Agent page.
- If the AWS default credentials are not set in the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, add the below properties in the ECB_HOME/conf/ecb.properties file:
aws_access_key_id={YOUR_ACCESS_KEY_ID}
aws_secret_access_key={YOUR_SECRET_ACCESS_KEY}
WASB
ecb.cloud.dest=wasb
azure.conn.str=<azure_connection_string>
.- To create Azure Storage connection, see Creating Azure Storage Connection.
NOTE: The credential must have permission to write to WASB container that you configure in the ECB Agent page.
Configuring User Running Agent
- In the /conf/metadata.verticle.json file, set the name of the user running the ECB agent as the "user" key value. For example, if the user running the ECB agent is infoworks-user, the value must be set as "user":"infoworks-user".
- In the ECB_HOME/conf/quartz.properties file, set the name of the user running the ECB agent as the org.quartz.dataSource.ECBDataSource.user key value.
- To modify the port on which the ECB agent listens, modify the service.job.http.port value in the $ECB_HOME/conf/job.verticle.json file.
- TLS and Authentication: Modify the configurations in the $ECB_HOME/conf/job.verticle.json file. For details, see the SSL/TLS Configuration section.
Starting Agent
Start the agent using the following command:
bash <ECB_HOME>/bin/start.sh
Agent Management
- Start the agent process using the following command:
bash $ECB_HOME/bin/start.sh
- Stop the agent process using the following command:
bash $ECB_HOME/bin/stop.sh
- Check the agent process status using the following command:
bash $ECB_HOME/bin/status.sh
- Start metastore using the following command:
bash $ECB_HOME/bin/start_metastore.sh
- Stop metastore using the following command:
bash $ECB_HOME/bin/stop_metastore.sh