Problem summary: Sometimes, it is required to use the license key acquired from MarkLogic instead of the one that comes out of box by subscribing to the AMIs on AWS. In such case, the below are the steps to follow to change the license key.
Please note that if the cluster was created using an enterprise AMI(pay as you go), it is not possible to change the license key details on the instances manually.
However, if the cluster was created using cloud formation templates, we have an option of updating the stack. In order to change the license key, please perform the below steps
- Modify the cloud formation template by changing the AMI ID to a developer AMI ID or a custom AMI based out of the developer AMI in the cloud formation template.
- Go to cloud formation and then update the stack with the new modified template and while updating the stack, please provide the new license key details.
- Once the stack update was successful, terminate the existing nodes from EC2 dashboard so that new nodes get created with the new developer AMI.
- Once the cluster is back to running state, verify if the new license key is updated through the admin UI. If it still is not updated, please change the license details through the admin UI so that the cluster uses your own license key.
If the cluster is created using Developer AMI or a custom AMI based out of the developer AMI without using cloud formation templates, you can follow the below steps to update the license on every node
- SSH into instance using the key that was used while creating the instance
- Stop the MarkLogic server on node.
- remove/ take a back up of /var/local.mlcmd.conf
- Create a file named marklogic.conf under /etc with the below entries
- Complete the above steps on all the nodes.
- Start the Cluster by starting MarkLogic server on each node.
- Log into the ML's admin GUI , then navigate to license key for every host and click "OK" button. You will observe the server restarting with the new license key.
Please make sure you test the above in any of your lower environment before implementing in production. Please feel free to get back to us if you have any questions.