Operations 8 min read

Deploying Elasticsearch 8.x on Windows 10: Step-by-Step Guide with TLS and Kibana Setup

This guide walks through deploying Elasticsearch 8.7.1 on Windows 10, covering virtual network configuration, certificate generation for transport and HTTP layers, elasticsearch.yml configuration, service startup, password reset, and Kibana integration with security enabled.

Lakehouse Research Base
Lakehouse Research Base
Lakehouse Research Base
Deploying Elasticsearch 8.x on Windows 10: Step-by-Step Guide with TLS and Kibana Setup

Environment Requirements

The author uses a Windows 10 machine with VMware installed, which provides a virtual network adapter. The virtual network is configured as a private network to simulate a production-like isolated environment.

VMware Network Configuration

In VMware's Virtual Network Editor, the VMnet1 adapter is set to "Host-only" mode with subnet IP 192.168.10.0 and subnet mask 255.255.255.0. DHCP is disabled to allow static IP assignment.

VMware Virtual Network Editor settings
VMware Virtual Network Editor settings
VMnet1 host-only configuration
VMnet1 host-only configuration

Windows Network Configuration

The host machine's VMware Network Adapter VMnet1 is assigned a static IPv4 address: 192.168.10.2 with subnet mask 255.255.255.0. No default gateway or DNS is configured, keeping traffic local.

Windows VMnet1 IPv4 settings
Windows VMnet1 IPv4 settings
Windows network adapter properties
Windows network adapter properties

Hostname Verification

The hostname is retrieved via hostname command (output: DESKTOP-XXXXXXX) and will be used in Elasticsearch configuration.

Hostname command output
Hostname command output
System information showing hostname
System information showing hostname

Elasticsearch Deployment Process

1. Download and Extract

Elasticsearch 8.7.1 Windows zip package is downloaded and extracted to D:\elasticsearch-8.7.1.

Extracted Elasticsearch directory on D drive
Extracted Elasticsearch directory on D drive

2. Certificate Generation

Certificates are generated using elasticsearch-certutil.bat in the bin directory, following the same method as the previous Linux deployment but adapted for Windows command prompt.

Generate CA and Transport Certificate

cd D:\elasticsearch-8.7.1\bin
.\elasticsearch-certutil.bat cert -ca -pem -out config/certs/elastic-certificates.p12

The command creates a CA and a transport certificate bundle in PKCS#12 format. The tool prompts for a password; the author uses the same password for simplicity.

Command prompt showing elasticsearch-certutil execution
Command prompt showing elasticsearch-certutil execution

Generate HTTP Certificate

.\elasticsearch-certutil.bat cert -ca config/certs/elastic-certificates.p12 -pem -out config/certs/http.p12

This generates an HTTP certificate signed by the previously created CA, also in PKCS#12 format.

HTTP certificate generation command
HTTP certificate generation command
HTTP certificate generation output
HTTP certificate generation output
Certificate files created
Certificate files created

3. Elasticsearch Configuration (elasticsearch.yml)

The configuration file is edited to enable security (TLS) and cluster formation. Key settings include cluster name, node name, network host, discovery seed hosts, initial master nodes, and SSL/TLS paths for transport and HTTP layers. The exact values are shown in the screenshot; the author notes they mirror the Linux deployment configuration.

elasticsearch.yml configuration content
elasticsearch.yml configuration content

4. Place Certificates

The generated certificate files are copied to the config/certs/ directory: elastic-certificates.p12 (CA + transport) http.p12 (HTTP)

elastic-certificates.p12
http.p12

5. Start Elasticsearch Service

Run elasticsearch.bat from the bin directory. The console output shows successful startup with cluster health turning green, indicating a healthy single-node cluster.

Elasticsearch startup logs
Elasticsearch startup logs
Cluster health green status
Cluster health green status

Health status is green, confirming the cluster is operational.

6. Browser Access and Password Reset

Accessing https://192.168.10.2:9200 prompts for authentication. The elastic user password is reset using the elasticsearch-reset-password.bat tool.

cd D:\elasticsearch-8.7.1\bin
.\elasticsearch-reset-password.bat -u elastic
Password reset command for elastic user
Password reset command for elastic user

After entering the new password, browser authentication succeeds and returns the cluster information JSON, confirming Elasticsearch service is normal.

Browser showing Elasticsearch response after login
Browser showing Elasticsearch response after login
Elasticsearch cluster info JSON output
Elasticsearch cluster info JSON output

Kibana Configuration

1. Reset kibana_system User Password

The built-in kibana_system user password is reset similarly:

.\elasticsearch-reset-password.bat -u kibana_system
Password reset for kibana_system user
Password reset for kibana_system user

2. Configure kibana.yml

The Kibana configuration file is updated to connect to Elasticsearch with the new credentials and enable SSL. Settings include elasticsearch.hosts, elasticsearch.username, elasticsearch.password, elasticsearch.ssl.certificateAuthorities, and server.ssl.enabled with certificate paths.

kibana.yml configuration content
kibana.yml configuration content

3. Place Certificates for Kibana

The CA certificate ( elastic-certificates.p12) is copied to Kibana's config directory for SSL verification.

Certificate file in Kibana config directory
Certificate file in Kibana config directory

4. Start Kibana Service

Run kibana.bat from the Kibana bin directory. The console shows successful startup and listening on port 5601.

Kibana startup logs
Kibana startup logs

5. Verify Kibana Service

Access https://192.168.10.2:5601 in browser, log in with the elastic user and the reset password. The Kibana home page loads successfully, confirming the full stack is operational.

Kibana login page
Kibana login page
Kibana home page after login
Kibana home page after login
Kibana dashboard overview
Kibana dashboard overview

The article concludes that the entire process deploys Elasticsearch 8.7.1 with security (TLS) and Kibana on Windows 10, suitable for development and testing environments. Production deployment on Windows is not recommended.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DeploymentElasticsearchsecurityWindowsTLSKibanaCertificate GenerationElasticsearch 8.7.1
Lakehouse Research Base
Written by

Lakehouse Research Base

Focused on technical sharing in the data field, covering a tech stack that includes Hadoop, Spark, Flink, Kafka, Fluss, Paimon, Iceberg, StarRocks, ClickHouse, ES, Milvus, and more. Welcome to follow.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.