webMethods, OneData, and Terracotta  10.2 | Managing Master Data with webMethods OneData | Administering webMethods OneData | Installing and Configuring Elasticsearch | Installing Elasticsearch
 
Installing Elasticsearch
Pre-requisites:
*If you already have Elasticsearch version 2.3.2 installed, in the onedata.properties file, ensure that you set up the properties related to the Elasticsearch server connectivity correctly. For details, see OneData Configuration Properties.
*Shut down the OneData server if it is running.
Use this procedure to install the Elasticsearch engine as either a standalone server or a clustered server.
* To install an Elasticsearch server
1. Open the Software AG Installer.
2. In the product tree, select Internal Data Store and follow the installation wizard.
Note: Although you can install OneData and Internal Data Store separately, Software AG recommends that you install them together.
3. When prompted to enter the HTTP and TCP ports for the Elasticsearch server, you might want to modify the default ports for the following reasons:
*To use other ports of your choice.
*To install Internal Data Store and OneData on different machines.
Tip: Make note of the new ports you have specified.
4. Navigate to Software AG_directory\profiles\ODE\bin\webapps\onedata\config and do the following:
a. Open the onedata.properties file.
b. If you modified the default HTTP and TCP ports, specify the new port numbers in the respective properties:
*onedata.search.elasticsearch.server.httpurl
*onedata.search.elasticsearch.server.tcp.port
c. If you have installed Internal Data Store on a different machine from OneData, set the following properties appropriately:
*In onedata.search.elasticsearch.server.httpurl, set the host name of the machine where you installed Internal Data Store.
*In onedata.search.elasticsearch.server.host, verify if value is localhost.
5. If you want to install Elasticsearch as a clustered server, do the following:
a. Follow the Elasticsearch documentation for the setup an Elasticsearch cluster.
b. Repeat all the previous steps to install on Internal Data Store on each cluster node and enable Elasticsearch clustering.
6. To verify if OneData and Elasticsearch are in sync:
a. Navigate to Software AG_directory\profiles\ODE\bin\webapps\onedata\config and open the onedata.properties file.
b. Verify if the following properties are set correctly:
Note: In the case of the first two properties, you might have customized values. The values given here are the default values. Also, if you do not have a clustered Elasticsearch, ignore the cluster properties in both files.
*onedata.search.elasticsearch.server.httpurl=http://localhost:9240
*onedata.search.elasticsearch.server.tcp.port= 9340
*onedata.search.elasticsearch.cluster.clustername=SAG_EventDataStore
c. Navigate to Elasticsearch Home\config and open the elasticsearch.yml file.
d. Verify if the following details match those in the onedata.properties file:
cluster.name: SAG_EventDataStore
http.port: 9240
transport.tcp.port: 9340
e. Save and close the elasticsearch.yml file.
7. In the onedata.properties file, set the following property values appropriately:
*onedata.search.elasticsearch.enabled=true. By default this property is set to false in order to ensure that the Internal Data Store installation independent of OneData. Setting this property to true, ensures that OneData loads all supported data objects to the Elasticsearch server on startup.
*onedata.search.elasticsearch.loaddata.loadonstartup=true. If the data is static and reindexing is not required every time OneData restart occurs, after the second OneData restart, modify the value of the property to false.
Tip: If there are errors when loading data objects to the Elasticsearch server, check the log file onedataSearchEngine.log. This log provides a summary of the entire data loading process in INFO mode. The log summary also includes the number of records processed for each table.
8. Save and close the onedata.properties file.
9. Start the Elasticsearch server as follows:
*Windows machine: Use one of these options:
*On the Start menu, click All Programs > Software AG > Internal Data Store.
*Navigate to Software AG_directory\profiles\ODE\bin\, and run the script startup.bat.
*Linux machine:
Navigate to Software AG_directory\profiles\ODE\bin\, and run the script startup.sh.
Starting the Elasticsearch server before OneData ensures that the OneData loads data into the Elasticsearch server before the search requests from users begin.
10. To verify that the Internal Data Store server is running, do the following:
a. Make an HTTP call in any internet browser by using the URL defined in onedata property onedata.search.elasticsearch.server.httpurl.
b. Verify if the HTTP response contains these details in the given format to ensure that the Elasticsearch server is running:
cluster_name: Unique_Value_of_OneData_Instance provided in onedata property onedata.search.elasticsearch.cluster.clustername number (version number) = 2.3.2
11. Start the OneData server.
Elasticsearch is now ready for use in the OneData New UI (Search).
12. Install the elasticsearch-head plugin that provides a web-based front end to monitor and interact with the Elasticsearch server as follows:
*Windows machine:
i. Navigate to the directory Elasticsearch Home\bin.
ii. From the command prompt, run the following script:
plugin -install mobz/elasticsearch-head
*Linux machine:
i. Navigate to the directory Elasticsearch Home\bin.
ii. From the command prompt, run the following script:
plugin.sh install mobz/elasticsearch-head
To access the plugin, use HTTP URL defined in onedata.search.elasticsearch.server.httpurl as onedata.search.elasticsearch.server.httpurl value/_plugin/head/. For more details on the elasticsearch-head plugin, go to http://mobz.github.io/elasticsearch-head/.
Next Steps:
1. Complete all the configurations required to enable Elasticsearch full-text search. For details of the Elasticsearch configuration parameters details, see OneData Configuration Properties.
2. In Job Center, schedule Elasticsearch data refresh jobs from the work area to ensure that all latest changes in the repository are available users.

Copyright © 2011-2018 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.
Innovation Release