From 0b513b2156ee8a4791741a9b7420df11781910bc Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Fri, 10 Oct 2025 21:24:00 +0530 Subject: [PATCH 1/8] REL-1182347: Updated Elasticsearch upgrade documentation --- docs/elasticsearch_upgrade_7.x.x_8.x.x.md | 425 ++++++++++++++++++++++ 1 file changed, 425 insertions(+) create mode 100644 docs/elasticsearch_upgrade_7.x.x_8.x.x.md diff --git a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md new file mode 100644 index 0000000..1ace18b --- /dev/null +++ b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md @@ -0,0 +1,425 @@ +# Elasticsearch Upgrade + +This document provides comprehensive steps to upgrade Elasticsearch from 7.x to 8.x across multiple DataGrid servers, including master and data node configurations. + +> [!NOTE] +> This upgrade process should be performed when transitioning Elasticsearch from version 7.x to 8.x in a multi-node cluster environment with dedicated master and data nodes. + +## Prerequisites + +Before starting the upgrade process, ensure the following requirements are met: + +1. **Environment Configuration**: Multiple DataGrid servers with master node on one server and data nodes on other servers +2. **Agent Management**: Disable or delete Audit Agents in Relativity before proceeding + - Navigate to Relativity UI → Agents tab + - Disable/Delete all Audit Agents before setup + +## Pre-Installation Procedures + +Perform the following steps on **all node servers** one by one: + +> [!NOTE] +> The installation steps below apply to both master nodes and data nodes. Use the same installation procedure for all types of nodes in your Elasticsearch cluster. + +### Step 1: Extract and Place Elasticsearch + +1. Extract the Elasticsearch download archive +2. Place the extracted Elasticsearch folder on a suitable drive + + **Example**: `C:\Elastic\elasticsearch-8.x.x` + +### Step 2: Environment Setup + +**2.1 Configure Java Environment Variables** + +Configure the Java environment variables for Elasticsearch. While Elasticsearch includes a bundled Java runtime, proper environment configuration ensures optimal performance. + +For Java configuration troubleshooting and advanced setup, refer to the [Elasticsearch Troubleshooting Guide](troubleshooting/elasticsearch.md#1-windows-service-issues). + + ![Environment Variables Setup](../resources/elasticsearch_setup_002.png) + +### Step 3: Install Elasticsearch Service + +**3.1 Prepare Installation Environment** + +1. Open **PowerShell** or **Command Prompt** in administrator mode +2. Navigate to Elasticsearch bin directory + + **Example**: `C:\Elastic\elasticsearch-8.x.x\bin` + +**3.2 Remove Existing Elasticsearch Service (if present)** + +1. **Stop the service**: + - Right-click on **Elasticsearch 7.x.x** in Services + - Select **Stop** + +2. **Remove the service**: + ```powershell + .\elasticsearch-service.bat remove Elasticsearch + ``` + +**3.3 Install New Elasticsearch Service** + +Execute the following commands in sequence from the Elasticsearch bin directory: + +1. **Setup Elasticsearch**: + ```powershell + .\elasticsearch.bat + ``` + + > [!NOTE] + > Elasticsearch token gets generated during this step, indicating completion. Terminate execution by typing `Ctrl+C` to gracefully stop, then confirm batch job termination. + +2. **Install Elasticsearch service**: + ```powershell + .\elasticsearch-service.bat install Elasticsearch + ``` + +3. **Start Elasticsearch service**: + ```powershell + .\elasticsearch-service.bat start Elasticsearch + ``` + + > [!NOTE] + > If the service fails to start through command, try starting manually from the Services window. If command fails with cluster unhealthy exit code 69, restart Elasticsearch Windows Service, restart PowerShell, and try again. If issues persist, restart the server and execute the command. + +**3.4 Verify Service Installation** + +1. Open **Local Services** +2. Verify the **Elasticsearch service** (with the recently installed version) is running +3. If not running, right-click on the Elasticsearch service and select **Start** + +### Step 4: Configuration and Verification + +**4.1 Configure elasticsearch.yml** + +1. Navigate to the Elasticsearch config folder + + **Example**: `C:\Elastic\elasticsearch-8.x.x\config` + +2. Open the `elasticsearch.yml` file +3. Add the following security configuration at the end of the file: + + ```yaml + # Enable security features + xpack.security.enabled: true + + xpack.security.enrollment.enabled: true + + # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents + xpack.security.http.ssl: + enabled: true + keystore.path: certs/http.p12 + + # Enable encryption and mutual authentication between cluster nodes + xpack.security.transport.ssl: + enabled: true + verification_mode: certificate + keystore.path: certs/transport.p12 + truststore.path: certs/transport.p12 + + # Create a new cluster with the current node only + # Additional nodes can still join the cluster later + cluster.initial_master_nodes: ["domain_server_name"] + + # Allow HTTP API connections from anywhere + # Connections are encrypted and require user authentication + http.host: 0.0.0.0 + + # Allow other nodes to join the cluster from anywhere + # Connections are encrypted and mutually authenticated + #transport.host: 0.0.0.0 + ``` + +**4.2 Enable Stack Monitoring** + +Add the following line to `elasticsearch.yml` to enable built-in Stack Monitoring dashboard: + +```yaml +xpack.monitoring.collection.enabled: true +``` + +Save changes and restart the Elasticsearch service. + +**4.3 Verify Elasticsearch Accessibility** + +1. Access Elasticsearch at: `https://domain_server_name:9200/` + +2. **Chrome Certificate Issue Resolution** (if needed): + - Navigate to `chrome://net-internals/#hsts` + - Type `domain_server_name` in the input field next to Delete button + - Press **Delete** button + - Query the domain to verify HSTS entries are removed + - Try accessing the URL again + +**4.4 Reset Elasticsearch Password** + +Reset the elastic user password using: + +```powershell +.\elasticsearch-reset-password.bat -i -u elastic +``` + +### Step 5: JVM Heap Configuration + +Configure JVM heap memory (8-10 GB recommended): + +1. **Stop** the Elasticsearch Windows service +2. Navigate to `.\config\jvm.options.d` directory in Elasticsearch installation +3. Create a new file with `.options` extension (e.g., `elasticsearch.options`) +4. Add the following content: + + ``` + -Xms8g + -Xmx10g + ``` + +5. **Save** the file +6. **Restart** the Elasticsearch Windows service +7. **Verify** the `java.exe` process memory usage is within the specified range + +### Step 6: Troubleshooting and Additional Operations + +**6.1 Password Management** + +To change or reset passwords: + +```powershell +.\elasticsearch-reset-password.bat -i -u elastic +``` + +- Confirm with **Y** to change or **N** to keep current password +- Enter new password and re-enter for confirmation + +**6.2 Service Management Commands** + +- **Start service**: + ```powershell + .\elasticsearch-service.bat start Elasticsearch + ``` + +- **Stop service**: + ```powershell + .\elasticsearch-service.bat stop Elasticsearch + ``` + +- **Remove service**: + ```powershell + .\elasticsearch-service.bat remove Elasticsearch + ``` + +**6.3 SSL Certificate Configuration** + +For each node server where Elasticsearch URL is not secure, follow the certificate import procedures detailed in the [Certificate Troubleshooting Guide](troubleshooting/pre-requisite-troubleshooting.md#certificate-troubleshooting). + +## Multi-Node Cluster Configuration + +> [!NOTE] +> The installation steps apply to both master nodes and data nodes. Use the same installation procedure for all types of nodes in your Elasticsearch cluster. + +### Master Node Configuration + +Update the `elasticsearch.yml` file on the master node with the following parameters: + +```yaml +# Cluster configuration - must be same across all nodes +cluster.name: your-cluster-name + +# Master node role +node.roles: [ master ] + +# Discovery configuration +discovery.seed_hosts: ["master_node_domain", "data_node1_domain", "data_node2_domain"] +cluster.initial_master_nodes: ["master_node_domain"] + +# Network configuration +http.host: 0.0.0.0 +transport.host: 0.0.0.0 +network.host: 0.0.0.0 + +# Additional settings +ingest.geoip.downloader.enabled: false +transport.compress: true +transport.port: 9300 +``` + +### Data Node Configuration + +Update the `elasticsearch.yml` file on each data node with the following parameters: + +```yaml +# Cluster configuration - must be same across all nodes +cluster.name: your-cluster-name + +# Data node role +node.roles: [ data ] + +# Discovery configuration +discovery.seed_hosts: ["master_node_domain", "data_node1_domain", "data_node2_domain"] +cluster.initial_master_nodes: ["master_node_domain"] + +# Network configuration +http.host: 0.0.0.0 +transport.host: 0.0.0.0 +network.host: 0.0.0.0 + +# Data and log paths (avoid C: drive or temporary storage) +path.data: X:/ElasticData +path.logs: X:/ElasticLogs + +# Additional settings +ingest.geoip.downloader.enabled: false +transport.compress: true +transport.port: 9300 +``` + +> [!NOTE] +> Replace `X:` with an appropriate drive letter that is not the C: drive or temporary storage drive. + +## Certificate and Security Setup + +Before proceeding with cluster formation, ensure Elasticsearch services are **stopped** on all node servers. + +### Step 1: Create Certificate Authority (CA) + +Perform on the **master node server**: + +1. Open **PowerShell** in admin mode +2. Navigate to Elasticsearch bin folder +3. Run the following command: + + ```powershell + .\elasticsearch-certutil ca + ``` + +This generates `elastic-stack-ca.p12` file (root CA certificate). + +### Step 2: Generate Node Certificates + +1. Open **PowerShell** in admin mode +2. Navigate to Elasticsearch bin folder +3. Run the following command: + + ```powershell + .\elasticsearch-certutil cert --ca elastic-stack-ca.p12 + ``` + +During execution: +- **Certificate Name**: Provide unique name for each node (e.g., node1, node2) +- **Password**: Set password (use same password for all nodes) + +4. **Repeat** for each node in the cluster +5. **Copy** each certificate to its respective node server in the same directory + +### Step 3: Configure Keystore for Password Management + +Perform on **all DataGrid servers** using the same password: + +**Remove existing passwords**: + +```powershell +.\elasticsearch-keystore remove xpack.security.transport.ssl.keystore.secure_password +.\elasticsearch-keystore remove xpack.security.transport.ssl.truststore.secure_password +``` + +**Add new passwords**: + +```powershell +.\elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password +.\elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password +``` + +Enter the password created during certificate generation for both prompts. + +### Step 4: Clean Node Data Folders + +1. Navigate to Elasticsearch data folder +2. **Delete** all subfolders and files within the data directory +3. If deletion fails, restart the server and try again + +### Step 5: Configure User Authentication + +**Check existing users**: + +```powershell +.\elasticsearch-users list +``` + +**Generate user credentials** (if no users found): + +```powershell +.\elasticsearch-setup-passwords auto +``` + +Type **y** when prompted and save the generated credentials securely. + +### Step 6: Install Mapper Plugin + +**With internet connection**: + +```powershell +.\elasticsearch-plugin install mapper-size +``` + +**For offline installation**: +1. Download: `https://artifacts.elastic.co/downloads/elasticsearch-plugins/mapper-size/mapper-size-8.x.x.zip` +2. Extract to: `C:\elasticsearch-8.x.x-windows-x86_64\elasticsearch-8.x.x\plugins` folder +3. Adjust version number accordingly + +## Cluster Startup and Verification + +### Step 1: Start Services + +**Master Node**: +1. Start the Elasticsearch service via Services window +2. Access master node URL: `https://:9200` + +**Data Nodes**: +1. Start each data node service one by one via Services window +2. Check status by accessing: `https://:9200` + +### Step 2: Verify Cluster Formation + +Run the following API on the master node to verify connected nodes: + +``` +https://:9200/_cat/nodes +``` + +This displays a list of all connected nodes in the cluster. + +## Advanced Configuration + +### Specific Data Type Allocation + +To allocate specific index types to particular nodes: + +**Step 1**: Add the following parameter to `elasticsearch.yml` for the target node: + +```yaml +node.attr.audit: true +``` + +**Step 2**: Restart the Elasticsearch service + +**Step 3**: In Relativity UI, navigate to **Instance Settings** → **ESIndexCreationSettings** + +**Step 4**: Add the following key-value under settings: + +```json +"routing.allocation.require.audit": "true" +``` + +This configuration ensures indexes starting with "audit" are allocated to the specified node. + +## Next Steps + +After completing the Elasticsearch upgrade: + +1. **Verify cluster health** using the `_cat/health` API +2. **Test connectivity** from all application servers +3. **Update Relativity configurations** to point to the new Elasticsearch cluster +4. **Restart Relativity services** on all servers +5. **Monitor cluster performance** and adjust configurations as needed + +For troubleshooting issues during or after the upgrade, refer to the [Troubleshooting Guide](troubleshooting/pre-requisite-troubleshooting.md). \ No newline at end of file From 3915148cfefd6a0b27d671ebb95e369e16001a1d Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Fri, 10 Oct 2025 21:58:29 +0530 Subject: [PATCH 2/8] REL-1182347: Updated steps --- docs/elasticsearch_upgrade_7.x.x_8.x.x.md | 37 +++-------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md index 1ace18b..b9d788b 100644 --- a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md +++ b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md @@ -55,7 +55,7 @@ For Java configuration troubleshooting and advanced setup, refer to the [Elastic 2. **Remove the service**: ```powershell - .\elasticsearch-service.bat remove Elasticsearch + .\elasticsearch-service.bat remove elasticsearch-service-x64 ``` **3.3 Install New Elasticsearch Service** @@ -98,7 +98,7 @@ Execute the following commands in sequence from the Elasticsearch bin directory: **Example**: `C:\Elastic\elasticsearch-8.x.x\config` 2. Open the `elasticsearch.yml` file -3. Add the following security configuration at the end of the file: +3. Verify the following security configuration is added at the end of the file: ```yaml # Enable security features @@ -145,12 +145,12 @@ Save changes and restart the Elasticsearch service. 1. Access Elasticsearch at: `https://domain_server_name:9200/` -2. **Chrome Certificate Issue Resolution** (if needed): +2. **Chrome Certificate Issue Resolution** : - Navigate to `chrome://net-internals/#hsts` - Type `domain_server_name` in the input field next to Delete button - Press **Delete** button - Query the domain to verify HSTS entries are removed - - Try accessing the URL again + - Restart browser and try accessing the URL again **4.4 Reset Elasticsearch Password** @@ -178,35 +178,6 @@ Configure JVM heap memory (8-10 GB recommended): 6. **Restart** the Elasticsearch Windows service 7. **Verify** the `java.exe` process memory usage is within the specified range -### Step 6: Troubleshooting and Additional Operations - -**6.1 Password Management** - -To change or reset passwords: - -```powershell -.\elasticsearch-reset-password.bat -i -u elastic -``` - -- Confirm with **Y** to change or **N** to keep current password -- Enter new password and re-enter for confirmation - -**6.2 Service Management Commands** - -- **Start service**: - ```powershell - .\elasticsearch-service.bat start Elasticsearch - ``` - -- **Stop service**: - ```powershell - .\elasticsearch-service.bat stop Elasticsearch - ``` - -- **Remove service**: - ```powershell - .\elasticsearch-service.bat remove Elasticsearch - ``` **6.3 SSL Certificate Configuration** From c48841001c1e58287647ba9e5d5633d39c0eb4c2 Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Mon, 13 Oct 2025 06:45:50 +0530 Subject: [PATCH 3/8] REL-1182347: Added instructions as per the execution in domain and test evidence --- docs/elasticsearch_upgrade_7.x.x_8.x.x.md | 86 ++++++++++------------- 1 file changed, 36 insertions(+), 50 deletions(-) diff --git a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md index b9d788b..85579ab 100644 --- a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md +++ b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md @@ -1,4 +1,4 @@ -# Elasticsearch Upgrade +# Elasticsearch Upgrade from 7.x to 8.x across multiple DataGrid servers. This document provides comprehensive steps to upgrade Elasticsearch from 7.x to 8.x across multiple DataGrid servers, including master and data node configurations. @@ -188,6 +188,10 @@ For each node server where Elasticsearch URL is not secure, follow the certifica > [!NOTE] > The installation steps apply to both master nodes and data nodes. Use the same installation procedure for all types of nodes in your Elasticsearch cluster. +The cluster name must be the same across all node servers. +The value of the cluster.initial_master_nodes parameter should be the domain name of the master node server. +The discovery.seed_hosts parameter should include the domain names of all servers where Elasticsearch will be set up. + ### Master Node Configuration Update the `elasticsearch.yml` file on the master node with the following parameters: @@ -208,10 +212,6 @@ http.host: 0.0.0.0 transport.host: 0.0.0.0 network.host: 0.0.0.0 -# Additional settings -ingest.geoip.downloader.enabled: false -transport.compress: true -transport.port: 9300 ``` ### Data Node Configuration @@ -238,10 +238,7 @@ network.host: 0.0.0.0 path.data: X:/ElasticData path.logs: X:/ElasticLogs -# Additional settings -ingest.geoip.downloader.enabled: false -transport.compress: true -transport.port: 9300 + ``` > [!NOTE] @@ -282,7 +279,32 @@ During execution: 4. **Repeat** for each node in the cluster 5. **Copy** each certificate to its respective node server in the same directory -### Step 3: Configure Keystore for Password Management +### Step 3: Update Certificate Paths in Configuration + +After copying the certificates to each node server, update the `elasticsearch.yml` file to reference the correct certificate paths: + +1. Navigate to the Elasticsearch config folder + + **Example**: `C:\Elastic\elasticsearch-8.x.x\config` + +2. Open the `elasticsearch.yml` file +3. Update the transport SSL configuration with the correct certificate paths: + + ```yaml + # Enable encryption and mutual authentication between cluster nodes + xpack.security.transport.ssl: + enabled: true + verification_mode: certificate + keystore.path: certs/transport.p12 + truststore.path: certs/transport.p12 + ``` + + > [!NOTE] + > Replace `transport.p12` with the actual certificate file name for each respective node. + +4. Save the configuration file + +### Step 4: Configure Keystore for Password Management Perform on **all DataGrid servers** using the same password: @@ -302,13 +324,13 @@ Perform on **all DataGrid servers** using the same password: Enter the password created during certificate generation for both prompts. -### Step 4: Clean Node Data Folders +### Step 5: Clean Node Data Folders 1. Navigate to Elasticsearch data folder 2. **Delete** all subfolders and files within the data directory 3. If deletion fails, restart the server and try again -### Step 5: Configure User Authentication +### Step 6: Configure User Authentication **Check existing users**: @@ -324,7 +346,7 @@ Enter the password created during certificate generation for both prompts. Type **y** when prompted and save the generated credentials securely. -### Step 6: Install Mapper Plugin +### Step 7: Install Mapper Plugin **With internet connection**: @@ -357,40 +379,4 @@ Run the following API on the master node to verify connected nodes: https://:9200/_cat/nodes ``` -This displays a list of all connected nodes in the cluster. - -## Advanced Configuration - -### Specific Data Type Allocation - -To allocate specific index types to particular nodes: - -**Step 1**: Add the following parameter to `elasticsearch.yml` for the target node: - -```yaml -node.attr.audit: true -``` - -**Step 2**: Restart the Elasticsearch service - -**Step 3**: In Relativity UI, navigate to **Instance Settings** → **ESIndexCreationSettings** - -**Step 4**: Add the following key-value under settings: - -```json -"routing.allocation.require.audit": "true" -``` - -This configuration ensures indexes starting with "audit" are allocated to the specified node. - -## Next Steps - -After completing the Elasticsearch upgrade: - -1. **Verify cluster health** using the `_cat/health` API -2. **Test connectivity** from all application servers -3. **Update Relativity configurations** to point to the new Elasticsearch cluster -4. **Restart Relativity services** on all servers -5. **Monitor cluster performance** and adjust configurations as needed - -For troubleshooting issues during or after the upgrade, refer to the [Troubleshooting Guide](troubleshooting/pre-requisite-troubleshooting.md). \ No newline at end of file +This displays a list of all connected nodes in the cluster. \ No newline at end of file From 2db1a0eab9df79be371258eb6a6905fdf6d561b1 Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Tue, 14 Oct 2025 11:25:43 +0530 Subject: [PATCH 4/8] REL-1182347: Updated PR review comments --- docs/elasticsearch_upgrade_7.x.x_8.x.x.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md index 85579ab..c561894 100644 --- a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md +++ b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md @@ -162,18 +162,22 @@ Reset the elastic user password using: ### Step 5: JVM Heap Configuration -Configure JVM heap memory (8-10 GB recommended): +Configure JVM heap memory based on available system RAM: 1. **Stop** the Elasticsearch Windows service 2. Navigate to `.\config\jvm.options.d` directory in Elasticsearch installation 3. Create a new file with `.options` extension (e.g., `elasticsearch.options`) 4. Add the following content: + **For servers with 32GB RAM**: ``` - -Xms8g - -Xmx10g + -Xms16g + -Xmx16g ``` + > [!NOTE] + > Set both `-Xms` and `-Xmx` to the same value for optimal performance. For a 32GB RAM server, allocate 16GB (50% of total RAM) to Elasticsearch. Never exceed 32GB heap size due to compressed OOPs limitations. + 5. **Save** the file 6. **Restart** the Elasticsearch Windows service 7. **Verify** the `java.exe` process memory usage is within the specified range @@ -332,13 +336,7 @@ Enter the password created during certificate generation for both prompts. ### Step 6: Configure User Authentication -**Check existing users**: - -```powershell -.\elasticsearch-users list -``` - -**Generate user credentials** (if no users found): +**Generate user credentials**: ```powershell .\elasticsearch-setup-passwords auto From e25177de52d709b9b08acc045bdfde0e1cf7478b Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Tue, 14 Oct 2025 12:40:29 +0530 Subject: [PATCH 5/8] REL-1182347: updated PR review comments --- docs/elasticsearch_upgrade_7.x.x_8.x.x.md | 39 +++++++++++++++++++---- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md index c561894..89da86b 100644 --- a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md +++ b/docs/elasticsearch_upgrade_7.x.x_8.x.x.md @@ -49,13 +49,25 @@ For Java configuration troubleshooting and advanced setup, refer to the [Elastic **3.2 Remove Existing Elasticsearch Service (if present)** -1. **Stop the service**: - - Right-click on **Elasticsearch 7.x.x** in Services +1. **Identify the existing service name**: + - Open **Services** (services.msc) + - Look for Elasticsearch service (common names: `Elasticsearch`, `elasticsearch-service-x64`, or `Elasticsearch-7.x.x`) + - Note the exact service name for use in removal command + +2. **Stop the service**: + - Right-click on the **Elasticsearch service** in Services - Select **Stop** -2. **Remove the service**: +3. **Remove the service**: + ```powershell + .\elasticsearch-service.bat remove + ``` + + **Examples**: ```powershell .\elasticsearch-service.bat remove elasticsearch-service-x64 + # OR + .\elasticsearch-service.bat remove Elasticsearch ``` **3.3 Install New Elasticsearch Service** @@ -67,8 +79,15 @@ Execute the following commands in sequence from the Elasticsearch bin directory: .\elasticsearch.bat ``` + **Expected Output - Token Generation:** + + ``` + • Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token ` (valid for the next 30 minutes): + eyJ2ZXIiOiI4LjEuNCIsImFkciI6WyIxOTIuMTY4LjEuMjQ6OTMwMCJdLCJmZ3IiOiJmOGExN2Y2NTM0Yjc... + ``` + > [!NOTE] - > Elasticsearch token gets generated during this step, indicating completion. Terminate execution by typing `Ctrl+C` to gracefully stop, then confirm batch job termination. + > Save the generated elastic enrollment token securely. Terminate execution by typing `Ctrl+C` to gracefully stop, then confirm batch job termination. 2. **Install Elasticsearch service**: ```powershell @@ -143,7 +162,7 @@ Save changes and restart the Elasticsearch service. **4.3 Verify Elasticsearch Accessibility** -1. Access Elasticsearch at: `https://domain_server_name:9200/` +1. Access Elasticsearch at: `https://:9200/` 2. **Chrome Certificate Issue Resolution** : - Navigate to `chrome://net-internals/#hsts` @@ -206,6 +225,7 @@ cluster.name: your-cluster-name # Master node role node.roles: [ master ] +node.name: ["master_node_domain"] # Discovery configuration discovery.seed_hosts: ["master_node_domain", "data_node1_domain", "data_node2_domain"] @@ -228,6 +248,7 @@ cluster.name: your-cluster-name # Data node role node.roles: [ data ] +node.name: ["data_node_domain"] # Discovery configuration discovery.seed_hosts: ["master_node_domain", "data_node1_domain", "data_node2_domain"] @@ -346,7 +367,13 @@ Type **y** when prompted and save the generated credentials securely. ### Step 7: Install Mapper Plugin -**With internet connection**: +**Check existing plugins**: + +```powershell +.\elasticsearch-plugin list +``` + +**If mapper-size plugin does not exist, install using below command**: ```powershell .\elasticsearch-plugin install mapper-size From c2d6a5df72e43c324b7aeb467b588022ac3fdb1b Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Tue, 14 Oct 2025 18:15:57 +0530 Subject: [PATCH 6/8] REL-1182347- Removed version specific document. Updated common elastic search upgrade document --- ....x.x_8.x.x.md => elasticsearch_upgrade.md} | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) rename docs/{elasticsearch_upgrade_7.x.x_8.x.x.md => elasticsearch_upgrade.md} (90%) diff --git a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md b/docs/elasticsearch_upgrade.md similarity index 90% rename from docs/elasticsearch_upgrade_7.x.x_8.x.x.md rename to docs/elasticsearch_upgrade.md index 89da86b..4a678ad 100644 --- a/docs/elasticsearch_upgrade_7.x.x_8.x.x.md +++ b/docs/elasticsearch_upgrade.md @@ -1,9 +1,9 @@ -# Elasticsearch Upgrade from 7.x to 8.x across multiple DataGrid servers. +# Elasticsearch Upgrade across multiple DataGrid servers. -This document provides comprehensive steps to upgrade Elasticsearch from 7.x to 8.x across multiple DataGrid servers, including master and data node configurations. +This document provides comprehensive steps to upgrade Elasticsearch across multiple DataGrid servers, including master and data node configurations. > [!NOTE] -> This upgrade process should be performed when transitioning Elasticsearch from version 7.x to 8.x in a multi-node cluster environment with dedicated master and data nodes. +> This upgrade process should be performed when transitioning Elasticsearch in a multi-node cluster environment with dedicated master and data nodes. ## Prerequisites @@ -26,7 +26,7 @@ Perform the following steps on **all node servers** one by one: 1. Extract the Elasticsearch download archive 2. Place the extracted Elasticsearch folder on a suitable drive - **Example**: `C:\Elastic\elasticsearch-8.x.x` + **Example**: `C:\Elastic\elasticsearch-x.x.x` ### Step 2: Environment Setup @@ -45,13 +45,13 @@ For Java configuration troubleshooting and advanced setup, refer to the [Elastic 1. Open **PowerShell** or **Command Prompt** in administrator mode 2. Navigate to Elasticsearch bin directory - **Example**: `C:\Elastic\elasticsearch-8.x.x\bin` + **Example**: `C:\Elastic\elasticsearch-x.x.x\bin` **3.2 Remove Existing Elasticsearch Service (if present)** 1. **Identify the existing service name**: - Open **Services** (services.msc) - - Look for Elasticsearch service (common names: `Elasticsearch`, `elasticsearch-service-x64`, or `Elasticsearch-7.x.x`) + - Look for Elasticsearch service (common names: `Elasticsearch`, `elasticsearch-service-x64`, or `Elasticsearch-x.x.x`) - Note the exact service name for use in removal command 2. **Stop the service**: @@ -114,7 +114,7 @@ Execute the following commands in sequence from the Elasticsearch bin directory: 1. Navigate to the Elasticsearch config folder - **Example**: `C:\Elastic\elasticsearch-8.x.x\config` + **Example**: `C:\Elastic\elasticsearch-x.x.x\config` 2. Open the `elasticsearch.yml` file 3. Verify the following security configuration is added at the end of the file: @@ -227,6 +227,11 @@ cluster.name: your-cluster-name node.roles: [ master ] node.name: ["master_node_domain"] +# Data and log paths (avoid C: drive or temporary storage) +path.data: :/ElasticData +path.logs: :/ElasticLogs + + # Discovery configuration discovery.seed_hosts: ["master_node_domain", "data_node1_domain", "data_node2_domain"] cluster.initial_master_nodes: ["master_node_domain"] @@ -247,7 +252,7 @@ Update the `elasticsearch.yml` file on each data node with the following paramet cluster.name: your-cluster-name # Data node role -node.roles: [ data ] +node.roles: [ data, ingest ] node.name: ["data_node_domain"] # Discovery configuration @@ -260,14 +265,14 @@ transport.host: 0.0.0.0 network.host: 0.0.0.0 # Data and log paths (avoid C: drive or temporary storage) -path.data: X:/ElasticData -path.logs: X:/ElasticLogs +path.data: :/ElasticData +path.logs: :/ElasticLogs ``` > [!NOTE] -> Replace `X:` with an appropriate drive letter that is not the C: drive or temporary storage drive. +> Replace `` with an appropriate drive letter (e.g., D:, E:, F:) that is not the C: drive or temporary storage drive. ## Certificate and Security Setup @@ -310,7 +315,7 @@ After copying the certificates to each node server, update the `elasticsearch.ym 1. Navigate to the Elasticsearch config folder - **Example**: `C:\Elastic\elasticsearch-8.x.x\config` + **Example**: `C:\Elastic\elasticsearch-x.x.x\config` 2. Open the `elasticsearch.yml` file 3. Update the transport SSL configuration with the correct certificate paths: @@ -365,7 +370,10 @@ Enter the password created during certificate generation for both prompts. Type **y** when prompted and save the generated credentials securely. -### Step 7: Install Mapper Plugin +> [!NOTE] +> This is done only on the master node. The same password can be used for elastic login on data nodes. +> +### Step 7: Install Mapper Plugin in all the nodes **Check existing plugins**: @@ -380,8 +388,8 @@ Type **y** when prompted and save the generated credentials securely. ``` **For offline installation**: -1. Download: `https://artifacts.elastic.co/downloads/elasticsearch-plugins/mapper-size/mapper-size-8.x.x.zip` -2. Extract to: `C:\elasticsearch-8.x.x-windows-x86_64\elasticsearch-8.x.x\plugins` folder +1. Download: `https://artifacts.elastic.co/downloads/elasticsearch-plugins/mapper-size/mapper-size-x.x.x.zip` +2. Extract to: `C:\elasticsearch-x.x.x-windows-x86_64\elasticsearch-x.x.x\plugins` folder 3. Adjust version number accordingly ## Cluster Startup and Verification From 2ad74596e41144e523cad99008f53c828a9b2cc5 Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Tue, 14 Oct 2025 18:24:02 +0530 Subject: [PATCH 7/8] REL-1182347: Removed Multiple Notes --- docs/elasticsearch_upgrade.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/elasticsearch_upgrade.md b/docs/elasticsearch_upgrade.md index 4a678ad..86ff983 100644 --- a/docs/elasticsearch_upgrade.md +++ b/docs/elasticsearch_upgrade.md @@ -4,6 +4,7 @@ This document provides comprehensive steps to upgrade Elasticsearch across multi > [!NOTE] > This upgrade process should be performed when transitioning Elasticsearch in a multi-node cluster environment with dedicated master and data nodes. +> The installation steps below apply to both master nodes and data nodes. Use the same installation procedure for all types of nodes in your Elasticsearch cluster. ## Prerequisites @@ -18,8 +19,6 @@ Before starting the upgrade process, ensure the following requirements are met: Perform the following steps on **all node servers** one by one: -> [!NOTE] -> The installation steps below apply to both master nodes and data nodes. Use the same installation procedure for all types of nodes in your Elasticsearch cluster. ### Step 1: Extract and Place Elasticsearch From 8acd9dd3f6e137af140027524c02192b707f8aaf Mon Sep 17 00:00:00 2001 From: "Divya.venkataraju" Date: Wed, 15 Oct 2025 16:02:34 +0530 Subject: [PATCH 8/8] REL-1182347: Updated documentation based on AI feedback (public doc guidelines) --- docs/elasticsearch_upgrade.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/elasticsearch_upgrade.md b/docs/elasticsearch_upgrade.md index 86ff983..90e5f2d 100644 --- a/docs/elasticsearch_upgrade.md +++ b/docs/elasticsearch_upgrade.md @@ -207,12 +207,12 @@ For each node server where Elasticsearch URL is not secure, follow the certifica ## Multi-Node Cluster Configuration -> [!NOTE] -> The installation steps apply to both master nodes and data nodes. Use the same installation procedure for all types of nodes in your Elasticsearch cluster. - -The cluster name must be the same across all node servers. -The value of the cluster.initial_master_nodes parameter should be the domain name of the master node server. -The discovery.seed_hosts parameter should include the domain names of all servers where Elasticsearch will be set up. +> [!IMPORTANT] +> - The installation steps apply to both master nodes and data nodes +> - The cluster name must be the same across all node servers +> - The `cluster.initial_master_nodes` parameter should contain the domain name of the master node server +> - The `discovery.seed_hosts` parameter should include the domain names of all servers where Elasticsearch will be set up +> - Ensure Elasticsearch services are **stopped** on all node servers before proceeding with certificate setup ### Master Node Configuration @@ -230,7 +230,6 @@ node.name: ["master_node_domain"] path.data: :/ElasticData path.logs: :/ElasticLogs - # Discovery configuration discovery.seed_hosts: ["master_node_domain", "data_node1_domain", "data_node2_domain"] cluster.initial_master_nodes: ["master_node_domain"] @@ -371,7 +370,7 @@ Type **y** when prompted and save the generated credentials securely. > [!NOTE] > This is done only on the master node. The same password can be used for elastic login on data nodes. -> + ### Step 7: Install Mapper Plugin in all the nodes **Check existing plugins**: