You can install the Eventstore on the platform of supported Linux hosts. One server can support only one instance of Eventstore installation.

Prerequisites

Fulfill the following prerequisites before starting the installation:

  1. Installation server must have java version 1.8+ installed.

    If not installed, type yum install -y java-1.8.0-openjdk.x86_64 to install java 1.8.

  2. Installation server must support bash, sed and curl utility.
  3. Elastic Search - version 6.4.2 must be installed. Refer, Installing Elastic Search for more information.

    Download free Open Source Elastic Search 6.4.2 rpm from https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.4.2.rpm.

    1. User name and password authentication must be enabled for Elastic Search.
    2. Minimum 3 node Elastic Search Cluster is required for high availability.
  4. Redis - version 5.0.5 must be installed and running. Refer, Installing Redis for more information.
    1. Password Authentication must be enabled for Redis.
    2. For Redis minimum 6 node (3 Primary, 3 Secondary) cluster is required which can be deployed over 3 machines.
  5. Kafka - version 2.0.0 must be installed and running. Refer, Installing Kafka for more information.
    1. SASL/PlainText based authentication must be enabled in kafka.
    2. A topic must be created with 1 partition.
    3. Zookeeper must be running.
    4. Minimum 3 node Kafka Broker is required for high availability. In Cluster mode, it is recommended to create a topic with 1 partition and 3 replication factor.
    5. Optional: Enabling SSL (encryption) using SASL/SSL mechanism between Kafka Broker and Clients with 1-way authentication is also supported.
  6. Smarts Presentation SAM must be already running.
    1. EDAA must be enabled and smarts tomcat service must be running.
    2. Optional: Enabling HTTPS in EDAA is also supported.
  7. Copy the eventstore-install.bin installer to any directory on the server where Eventstore can be installed.
  8. Ensure that you have a login with root privileges to run the installer.
  9. Download the installation file from support page and place it in a temporary location on the server.

Procedure

  1. Login to the server as root.
  2. Type bash eventstore-install.bin –i console to run the installer in the console-based installer mode and hit Enter.
    The command prompt screen appears.
  3. Press Enter.
    Installer introduction continues.
  4. Press Enter to accept the default location when Installer prompts to choose an Install folder or provide the desired location.
    This is the location where you can find Eventstore is installed.
  5. If the Install folder already contains Eventstore folder, installer prompts for the below selections.
    • Enter 1 to override the already installed folder and Press Enter to continue.
    • or Enter 2 to choose a new installation directory and Press Enter to continue.
    • or Enter 3 to cancel the installation and Press Enter.
  6. Press Enter to continue when installer prompts to enter the Eventstore port.
    This is the port in where Eventstore service starts. Port number must be between 1 to 65535. If wrong port number is entered, Installer will throw a validation error and redirect to re-enter the Port details. Default port is 8080.
  7. The installer prompts to choose the protocol for communication:
    • Choose option 1 for https communication and Press Enter to continue.

      or

    • Choose option 2 for http communication Press Enter to continue.
    Note: 1. Default is http. For “https” you must ensure that “esdb.crt” file is available in “/opt/ssl”. For configuring https in Elastic Search refer section Enabling HTTPS in Elastic Search.
    Note: 2. The certificate file esdb.crt must contain certificates from all elastic search instances in a cluster.
  8. Installer prompts for Elastic Search Configurations.
    • Enter the Elastic search IP or FQDN or Hostname in the format <IP-ADDRESS/FQDN/HOSTNAME>:<PORT>. In case of cluster enter the comma separated IP or FQDN or Hostname address.
    • Type the Elastic Search Username and press Enter to continue.
    (To enable ES authentication refer Elasticsearch Authentication).
  9. Enter the Elastic Search Password when prompted and confirm Elastic Search Password when prompted for confirmation.
    If Passwords are mismatched, installer throws a validation error and redirect to re-enter the password. Verify if any fields are blank to avoid the installer validation error and redirection of step 8.

    Also verify if the first IP/fqdn/hostname address of Elastic Search entered, is reachable from Installation server. Otherwise, installer will throw a connectivity error, and redirect to at the beginning of step 8.

  10. Provide Redis IP Address and press Enter to continue when installer prompts to enter Redis configuration.

    In case of Redis cluster enter the Comma separated IP in the format

    <IP-ADDRESS>:<PORT>

    Default is 127.0.0.1:6379

    (For redis authentication refer Redis Cluster Authentication).
    Note: 1. Eventstore supports only Redis Cluster with 3 Redis primary instance. A single non-cluster redis instance is not supported.
    Note: 2. Verify if you have entered the IP address in a correct format. Otherwise, installer throws a validation error and redirects to this step again.
  11. Enter Redis Password and confirm Redis Password again when installer prompts. Press Enter to continue.
    Note: Installer throws a validation error and redirect to the beginning of step 11 if the passwords are mismatching.
  12. Installer prompts to enter the Kafka SASL configuration. You can choose SASL_PLAINTEXT or SASL_SSL for Kafka communication.

    SASL_PLAINTEXT: User name and Password authentication without encryption of data.

    SASL_SSL: User name and Password authentication with SSL encryption.

    For SSL encrypted communication ensure that " kafka.crt " file is available in "/opt/ssl". Default is SASL_SSL.

    • Choose 1 for SASL_PLAINTEXT, press Enter to continue.

      (For Enabling Kafka authentication using SASL/PLAINTEXT, refer Kafka SASL_PLAIN Authentication Configuration).

      or

    • Choose 2 for SASL_SSL Enter the KAKFA TOPIC, press Enter to continue.
  13. Installer prompts to enter the kafka configuration:
    1. Enter KAKFA ADDRESS.

      Kafka IP/fqdn/hostname address must be in the format <IP-ADDRESS/FQDN/HOSTNAME>:<PORT>.

      For Kafka cluster enter the comma separated address.

    2. Enter KAKFA TOPIC. Default is sam_notification.
      Note: The topic must be already created with 1 partition only.
    3. Enter KAFKA Username, press Enter to continue.
  14. Enter the Kafka Password and Confirm Kafka Password when Installer prompts for confirmation.
    If Passwords are mismatched, installer throws a validation error and redirect to the beginning of step 14.
  15. Installer prompts for the choice of communication protocol https and default (http)
    • Enter 1 for https and press Enter to continue. For https, ensure that “sam.crt” is available in “/opt/ssl”.

      To import the SAM certificate refer Enabling HTTP in SAM.

      or

    • Enter 2 for http and press Enter to continue. Http is default.
  16. Enter the presentation SAM configuration details when Installer prompts. Enter the IP/fqdn/hostname address for SAM in the format <IP-ADDRESS/FQDN/HOSTNAME>:<PORT>).Press Enter to continue.
    If any input fields are empty, installer throws a validation error and redirects to the beginning of this step 16.
    Note: In SAM, Port 8080 is enabled in http mode and Port 8443 is enabled in https mode.
  17. Press Enter to continue when Pre install summary is displayed.
    Installation continues.
  18. Press Enter to exit the installer.
    Install Completed message is displayed.

What to do next

After successful EventStore installation, install 3 elastic search plugins on all elastic search instances in the cluster by following these steps:
  1. Copy the plugins directory containing "ChainingSupport-6.4.2.zip, elasticsearch-arrayformat-6.4.2.zip and elasticsearch-userprofile-6.4.2.zip" from "<EventStore_INSTALL_DIR>/evenstore/plugins/" to the <PLUGIN-DIRECTORY> where Elastic Search is running. Here <PLUGIN-DIRECTORY> can be any directory.
  2. After copying run the following command to install each plugin:
    1. /path/to/elasticsearch/bin/elasticsearch-plugin install file:///<PLUGIN
    DIRECTORY>/
    plugins/ChainingSupport-6.4.2.zip
    2. /path/to/elasticsearch/bin/elasticsearch-plugin install file:///<PLUGIN
    DIRECTORY>/
    plugins/elasticsearch-arrayformat-6.4.2.zip
    3. /path/to/elasticsearch/bin/elasticsearch-plugin install file:///<PLUGIN
    DIRECTORY>/
    plugins/elasticsearch-userprofile-6.4.2.zip
    
  3. After installing all the plugins restart the Elastic Search Service on all cluster nodes.