Installing and Configuring Elasticsearch

This document provides reference information and examples relating to installation and configuration of the Elasticsearch search feature for the Akana API Platform developer portal.

It includes:

Note: For information about secure configuration of Elasticsearch, see Configuring Elasticsearch with Transport Client security.

About the Elasticsearch feature

In version 8.0, the Akana API Platform moved from Compass to Elasticsearch for managing the search feature.

Elasticsearch is a Lucene-based search engine. It is an extremely popular tool in very broad use—a scalable search solution that uses JSON messaging over an HTTP interface with a native Java API.

The platform provides several options for implementation flexibility. Elasticsearch can start in an embedded mode, or remotely to the Java process in either a distributed mode or a single-node mode.

With the Embedded Elasticsearch Container feature, Elasticsearch runs within the container process, and supports all the features that a standalone Elasticsearch process would support without the need for a separate server or Elasticsearch product installation.

You can install this feature in more than one container and have the containers act as a cluster. In this scenario, the administration activities to start and stop the process are as per the container management processes.

Administration of Elasticsearch is done with the configuration wizard in the Akana Administration Console.

Back to top

Planning your Elasticsearch feature

As part of planning your installation, you'll need to make some decisions about how you want to set up the Elasticsearch feature.

For example, unless you have your own Elasticsearch server, you’ll need to decide whether you want to install the feature on a single container or on multiple containers that can act as a cluster.

Note: If you don’t have your own external Elasticsearch servers and are just using Elasticsearch as part of the platform upgrade, you don’t need to do any custom configuration, just install the Akana Embedded Elasticsearch Node feature and accept the default settings. See How do I configure Elasticsearch? (Akana API Platform Site Admin help).

If you have your own Elasticsearch server, there's no need to install the Akana Embedded Elasticsearch Node feature.

Back to top

High-level steps for Elasticsearch configuration

Elasticsearch, embedded mode:

To run Elasticsearch in embedded mode (you don’t have a standalone Elasticsearch server) you’ll need to:

  • Install the Akana Embedded Elasticsearch Node feature on all CM containers.
  • Configure the global settings: Configure Elasticsearch Global Configuration configuration action (once per installation).
  • Configure the embedded mode settings: Configure Elasticsearch Embedded Node configuration action (once per CM container).

Elasticsearch, standalone mode:

To run Elasticsearch in standalone mode (when you have a standalone Elasticsearch server), you don’t need to install the feature. You’ll need to:

  • Configure the global settings.

Refer to the table below.

Activity Standalone Embedded
Install the feature Yes
Configure global settings Yes Yes
Configure embedded mode settings Yes

Back to top

Installation instructions: Embedded Mode

If you don't have your own standalone Elasticsearch server, you'll install the Akana Embedded Elasticsearch Node feature.

In this scenario, you don't have to do anything with regard to the Configure Elasticsearch Global Configuration step. When you install the Akana Embedded Elasticsearch Node feature, the platform populates details about the Elasticsearch node, such as default node name and port number.

All you have to do is complete the configuration (Configure Elasticsearch Embedded Node step).

This section includes installation and configuration information for two scenarios:

Elasticsearch Embedded Mode Installation: Policy Manager and Community Manager in the same container

Note: for information on the field values, refer to the Site Admin help: Configuring an Elasticsearch Embedded Node: Field Values.

Installation and configuration:
  1. As part of installation, install the Akana Embedded Elasticsearch Node feature on the container.
  2. Optional: In the Akana Administration Console, go to Configuration > Configuration Actions > Configure Elasticsearch Global Configuration. Here, you can review the settings, but it's not necessary. Nothing is needed. See below.

    Elasticsearch global configuration

  3. In the Akana Administration Console, go to Configuration > Configuration Actions > Configure Elasticsearch Embedded Node. See below.

    Elasticsearch embedded node

  4. In versions 8.2 and later, as part of installation, the platform retrieves appropriate values and pre-fills the settings. All you need to do is review the default configuration values and click Finish. You can change the Network Bind Address and other values as needed. In earlier versions, you must provide all values. For information on the settings, refer to the Site Admin help (see link above). Note:
    • Name: the installation creates the node name.
    • Transport Port: the platform pre-fills a value. Make sure that the default port is available, or change the value to an available port. You can also delete the existing entry and save; the platform retrieves the next available port. For information about default port numbers, see What are the default ports for Elasticsearch configuration? (Site Admin help).
    • HTTP Port: same as for Transport Port above.

    Note: Each cluster must have at least one data node and at least one master eligible node.

  5. Click Finish.

Elasticsearch Embedded Mode Installation: Policy Manager and Community Manager in separate containers

Note: for information on the field values, refer to the Site Admin help: Configuring an Elasticsearch Embedded Node: Field Values.

Installation:

If you have a multiple container scenario to support Elasticsearch, install these features in all PM and CM containers:

  • Akana Embedded Elasticsearch Node feature: install it on all CM and PM containers.
  • Scheduled jobs: On all PM and CM containers, install both these features:
    • Akana Community Manager Scheduled Jobs
    • Akana Scheduled Jobs
Configuration:
  1. Optional: In the Akana Administration Console for the CM container, go to Configuration > Configuration Actions > Configure Elasticsearch Global Configuration. Here, you can review the settings, but it's not necessary. Nothing is needed.
  2. In the Akana Administration Console for the PM container, go to Configuration > Configuration Actions > Configure Elasticsearch Embedded Node, as shown below.

    configure Elasticsearch embedded node

    On this page:

    • Specify a node name.
    • Check the HTTP Enabled box.
    • Specify port numbers if there are no defaults; you can also change the defaults if you prefer to use different ports.
    • Review additional options and choose settings as needed. For full information, refer to the Site Admin help: Configuring an Elasticsearch Embedded Node: Field Values.
  3. Click Finish.

Back to top

Installation instructions: Standalone Mode

If you have your own Elasticsearch server, choose Standalone Mode. In this scenario, all you need to do is configure the global settings, once for the installation.

 

To configure the Elasticsearch global settings

Note: for information on the field values, refer to the Site Admin help: Elasticsearch Global Configuration: Field Values.

  1. After installing the product, in the Akana Administration Console, go to Configuration > Configuration Actions > Configure Elasticsearch Global Configuration. The fields are blank, as shown below. When you choose the deployment mode, additional fields appear.

    Elasticsearch global configuration

  2. In the Deployment Mode field, choose Transport Client.
  3. In the Cluster Name field, specify a cluster name.
  4. In the ES Server URL field, specify the full URL for the Elasticsearch server.
  5. Click Finish.
Client-Only mode

Client-only mode is used when a container running the embedded Elasticsearch feature becomes a node as part of an external standalone Elasticsearch server. The node will be in the cluster, but will not be a master node. When you choose this option, additional fields are available as shown below:

Elasticsearch global configuration, Client Only mode

Specify these values:

  • Cluster Name: specify a cluster name.
  • Master Host URL: The URL for the master host that this is a client for.
  • Multicast: Leave cleared unless it is a multicast scenario.

Back to top

Links to additional information about Elasticsearch

For more information about Elasticsearch, refer to the following:

Back to top

Version 8.2:

Version 8.0: