Installing and Configuring Elasticsearch (8.4x)
This document provides reference information and examples relating to installation and configuration of the Elasticsearch search feature for the Akana API Platform developer portal.
- About the Elasticsearch feature
- Planning your Elasticsearch feature
- High-level steps for Elasticsearch configuration
- Installation instructions: Embedded Mode
- Installation instructions: Standalone Mode
- Links to additional information about Elasticsearch
Note: For information about secure configuration of Elasticsearch, see Configuring Elasticsearch with Transport Client security.
For information about installing and configuring Elasticsearch in version 2018.0.0, see Installing and Configuring Elasticsearch (2018.0.0).
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.
NOTE: In version 2018.0.0, Elasticsearch embedded mode is no longer supported. It's best to move to Transport Client mode if you're on 8.4x, or to upgrade to 2018.0.0 and use REST Client mode.
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.
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.
If you have your own Elasticsearch server, there's no need to install the Akana Embedded Elasticsearch Node feature.
High-level steps for Elasticsearch configuration
Elasticsearch, embedded mode:
Note: Deprecated in 2018.0.0. Not recommended.
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.
|Install the feature||—||Yes|
|Configure global settings||Yes||Yes|
|Configure embedded mode settings||—||Yes|
Installation instructions: Embedded Mode
Note: Deprecated in 2018.0.0. Not recommended.
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:
- Policy Manager and Community Manager in the same container
- Policy Manager and Community Manager in separate containers
Elasticsearch Embedded Mode Installation: Policy Manager and Community Manager in the same container
Installation and configuration:
- As part of installation, install the Akana Embedded Elasticsearch Node feature on the container.
- 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.
- In the Akana Administration Console, go to Configuration > Configuration Actions > Configure Elasticsearch Embedded Node. See below.
- 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 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.
- Click Finish.
Elasticsearch Embedded Mode Installation: Policy Manager and Community Manager in separate containers
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
- 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.
- In the Akana Administration Console for the PM container, go to Configuration > Configuration Actions > Configure Elasticsearch Embedded Node, as shown below.
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.
- Click Finish.
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
- 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.
- In the Deployment Mode field, choose Transport Client.
- In the Cluster Name field, specify a cluster name.
- In the ES Server URL field, specify the full URL for the Elasticsearch server.
- Click Finish.
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:
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.
Links to additional information about Elasticsearch
For more information about Elasticsearch, refer to the following:
- Elasticsearch: Information for Site Admins (Akana API Platform Site Admin help)
- Elasticsearch glossary: https://www.elastic.co/guide/en/elasticsearch/reference/current/glossary.html