Indexing and Elasticsearch
BMC Cloud Lifecycle Management 4.5.00 introduced an indexing service (Elasticsearch), which enables faster access to GUI objects. The Elasticsearch module is embedded in the Platform Manager.
To use the full cluster, failover, or other robust features of Elasticsearch, version 4.6.00 and later includes code and configuration updates. Additionally, the following access properties were added to the ESIndexingService
entry in the cloudservices.json file:
IsRemote
– Indicates to the Platform Manager whether to use an external node for the Elasticsearch database. If Elasticsearch is running on external nodes, set this value to true. The default value is false.RemoteHostNames
– A comma-separated list of one or more remote node names and transport addresses (for example,localhost:9300,EsServer2:9300,10.3.24.55:9350
). The RemoteHostNames attribute is used only ifIsRemote
is true.
The cloudservices.json file is located in the following directory:
- Windows: C:\Program Files\BMC Software\BMCCloudLifeCycleManagement\Platform_Manager\configuration
- Linux: /opt/bmc/BMCCloudLifeCycleManagement/Platform_Manager/configuration
To enable the full feature set of Elasticsearch in BMC Cloud Lifecycle Management
Perform these steps on each Elasticsearch node:
- Download and extract Elasticsearch 1.4.3 on one or more systems.
For the examples in this procedure, assume three systems (S1, S2, and S3) with a transport port configured on 9300. - Copy the elasticsearch.yml file and the localization folder from the Platform Manager’s configuration folder to the elasticsearch-1.4.3/config folder.
The Elasticsearch config folder structure should look like this: ../config/configuration/localization/… - Modify the Elasticsearch settings in the elasticsearch.yml file as follows:
- Assign a node name (to help with debugging).
node.name: "your node name"
For example:
node.name: "BMC Software" - Set the network bind host to bind to all addresses.
network.bind_host: 0.0.0.0 - Disable multicast.
discovery.zen.ping.multicast.enabled: false - Configure the list of nodes.
discovery.zen.ping.unicast.hosts: ["S2","S3"]
This should contain the name or IP address of other nodes. For example, for S1, this will contain S2 and S3, and for S2, it will contain S1 and S3.
If you have ElasticSearch configured on a single node, comment out this setting.
- Assign a node name (to help with debugging).
- If you need to change the default port number of 9300 (node-to-node communication), modify the setting as follows:
transport.tcp.port: portNumber
If you need to change the default port for node-to-node communication (9300), modify the transport.tcp.port setting.
transport.tcp.port: portNumberComment out the following entry in the elasticsearch.yml file:
network.host: 127.0.0.1- Start Elasticsearch.
Perform these steps on the Platform Manager:
- Stop the Platform Manager.
- In the cloudservices.json file:
- Change the
IsRemote
property to True. - Add the remote host and port to the
RemoteHostNames
property."name" : "RemoteHostNames", "attributeValue" : "S1:9300,s2:9300,s3:9300"
- Change the
- Start the Platform Manager.
- As a BMC Cloud Lifecycle Management administrator user, run the
csm/index/syncAll
operation in a REST client.
Comments
Log in or register to comment.