{"id":14224,"date":"2025-12-27T12:03:53","date_gmt":"2025-12-27T06:33:53","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=14224"},"modified":"2025-12-27T12:03:55","modified_gmt":"2025-12-27T06:33:55","slug":"create-elasticsearch-on-linux","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/create-elasticsearch-on-linux","title":{"rendered":"How to Create ElasticSearch on Linux Server with Security Enabled"},"content":{"rendered":"\n<p><strong>To create Elasticsearch on a Linux server<\/strong>, prepare the OS, add Elastic\u2019s package repository, install Elasticsearch 8.x, tune kernel limits, configure elasticsearch.yml (single-node or cluster), open ports 9200\/9300, enable and start the service, secure with HTTPS\/passwords, and verify via REST API. Optionally install Kibana for dashboards and management.<\/p>\n\n\n\n<p>If you want to create Elasticsearch on Linux server for search, analytics, or logging, this guide walks you through a clean, production-minded setup. <\/p>\n\n\n\n<p>We\u2019ll cover Ubuntu\/Debian and RHEL-based distros, security defaults in Elasticsearch 8, performance tuning, basic API usage, and practical tips from years of hosting real workloads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-youll-build-and-who-this-guide-is-for\"><strong>What You\u2019ll Build and Who This Guide is For<\/strong>?<\/h2>\n\n\n\n<p>This tutorial helps beginners and sysadmins install and <a href=\"https:\/\/www.youstable.com\/blog\/configure-elasticsearch-on-linux\/\">configure Elasticsearch 8 on a Linux server<\/a>. You\u2019ll set up a secure single-node or cluster-ready instance, learn essential kernel and JVM tuning, and run your first index and search queries. The steps align with Elastic\u2019s best practices and modern security defaults.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites-and-system-requirements\"><strong>Prerequisites and System Requirements<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Supported OS:<\/strong> Ubuntu 20.04\/22.04\/24.04, Debian 11\/12, RHEL\/CentOS\/AlmaLinux\/Rocky 8\/9<\/li>\n\n\n\n<li><strong>CPU\/RAM: <\/strong>Minimum 2 vCPU and 4 GB RAM (8+ GB recommended)<\/li>\n\n\n\n<li><strong>Storage:<\/strong> SSD recommended; plan IOPS for indexing-heavy workloads<\/li>\n\n\n\n<li><strong>Network<\/strong>: Open TCP ports 9200 (HTTP) and 9300 (transport\/cluster)<\/li>\n\n\n\n<li><strong>Access:<\/strong> Root or sudo privileges<\/li>\n\n\n\n<li><strong>Clock sync: <\/strong>Enable chrony or systemd-timesyncd for consistent timestamps<\/li>\n<\/ul>\n\n\n\n<p><strong>Note: <\/strong>Elasticsearch 8 bundles a compatible JDK. You do not need to install Java separately.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"understand-elasticsearch-8-security-defaults\"><strong>Understand Elasticsearch 8 Security Defaults<\/strong><\/h2>\n\n\n\n<p>Elasticsearch 8 enables security by default. HTTPS is on, and you\u2019ll use built-in users (like <code>elastic<\/code>) with passwords. For dev, you can run a single-node with minimal config. For production, configure TLS, users\/roles, and restrict network exposure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-elasticsearch-on-ubuntu-debian\"><strong>Install Elasticsearch on Ubuntu\/Debian<\/strong><\/h3>\n\n\n\n<p>These steps add Elastic\u2019s APT repository and install the latest 8.x release.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt install -y curl gnupg apt-transport-https\n\n# Import Elastic GPG key\ncurl -fsSL https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | sudo gpg --dearmor -o \/usr\/share\/keyrings\/elastic.gpg\n\n# Add APT repository\necho \"deb &#91;signed-by=\/usr\/share\/keyrings\/elastic.gpg] https:\/\/artifacts.elastic.co\/packages\/8.x\/apt stable main\" | \\\n  sudo tee \/etc\/apt\/sources.list.d\/elastic-8.x.list\n\nsudo apt update\nsudo apt install -y elasticsearch\n<\/code><\/pre>\n\n\n\n<p>The installer may print a temporary password for the <code>elastic<\/code> user and certificate file locations. Save these securely.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-elasticsearch-on-rhel-centos-almalinux-rocky\"><strong>Install Elasticsearch on RHEL\/CentOS\/AlmaLinux\/Rocky<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install -y curl gnupg\n\n# <a href=\"https:\/\/www.youstable.com\/blog\/create-yum-on-linux-server\/\">Create YUM<\/a> repo\ncat &lt;&lt;'EOF' | sudo tee \/etc\/yum.repos.d\/elasticsearch.repo\n&#91;elasticsearch-8.x]\nname=Elasticsearch repository for 8.x packages\nbaseurl=https:\/\/artifacts.elastic.co\/packages\/8.x\/yum\ngpgcheck=1\ngpgkey=https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch\nenabled=1\nautorefresh=1\ntype=rpm-md\nEOF\n\nsudo dnf clean all\nsudo dnf install -y elasticsearch\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"kernel-and-os-tuning-required\"><strong>Kernel and OS Tuning (Required)<\/strong><\/h3>\n\n\n\n<p>Elasticsearch relies on virtual memory mappings and open files. Set these before first start.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Virtual memory mappings\necho \"vm.max_map_count=262144\" | sudo tee \/etc\/sysctl.d\/99-elasticsearch.conf\nsudo sysctl --system\n\n# File descriptors and processes for the elasticsearch user\necho -e \"elasticsearch soft nofile 65536\\nelasticsearch hard nofile 65536\\nelasticsearch soft nproc 4096\\nelasticsearch hard nproc 4096\" | \\\n  sudo tee \/etc\/security\/limits.d\/90-elasticsearch.conf\n\n# Optional: reduce swap aggressiveness\necho \"vm.swappiness=1\" | sudo tee \/etc\/sysctl.d\/98-swappiness.conf\nsudo sysctl --system\n<\/code><\/pre>\n\n\n\n<p>To lock memory (helps avoid swapping), enable memory lock and adjust systemd limits.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># In elasticsearch.yml\n# bootstrap.memory_lock: true\n\n# Create systemd override to allow memlock\nsudo systemctl edit elasticsearch\n# Then add:\n# &#91;Service]\n# LimitMEMLOCK=infinity\n\nsudo systemctl daemon-reload\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"configure-elasticsearch-yml\"><strong>Configure elasticsearch.yml<\/strong><\/h3>\n\n\n\n<p>Edit the main configuration file to set node identity, network binding, and cluster mode.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/elasticsearch\/elasticsearch.yml\n<\/code><\/pre>\n\n\n\n<p>For a secure single-node (dev\/test):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cluster.name: my-es-cluster\nnode.name: node-1\nnetwork.host: 0.0.0.0            # or a private IP; avoid exposing to the internet\ndiscovery.type: single-node\nxpack.security.enabled: true     # On by default in 8.x\n<\/code><\/pre>\n\n\n\n<p>For a production-ready multi-node cluster (example):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cluster.name: prod-es\nnode.name: es-1\nnetwork.host: 10.0.1.10\n\ndiscovery.seed_hosts: &#91;\"10.0.1.10\", \"10.0.1.11\", \"10.0.1.12\"]\ncluster.initial_master_nodes: &#91;\"es-1\", \"es-2\", \"es-3\"]\n\nxpack.security.enabled: true\nxpack.security.transport.ssl.enabled: true\nxpack.security.http.ssl.enabled: true\n<\/code><\/pre>\n\n\n\n<p>For TLS, use the built-in cert tool or your PKI. Elasticsearch 8 generates service certificates during install; you can regenerate with the <code>elasticsearch-certutil<\/code> tool.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"start-enable-and-verify-the-service\"><strong>Start, Enable, and Verify the Service<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable elasticsearch\nsudo systemctl start elasticsearch\nsudo systemctl status elasticsearch\n# Logs\nsudo journalctl -u elasticsearch -f\n<\/code><\/pre>\n\n\n\n<p>Get or reset the built-in superuser password if needed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># If shown at install, use that. Otherwise:\nsudo \/usr\/share\/elasticsearch\/bin\/elasticsearch-reset-password -u elastic\n<\/code><\/pre>\n\n\n\n<p>Verify over HTTPS (certificate may be self-signed):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -u elastic https:\/\/localhost:9200 -k\n# Expect cluster info JSON\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"open-firewall-ports-if-needed\"><strong>Open Firewall Ports (If Needed)<\/strong><\/h3>\n\n\n\n<p>For single-node dev, you may only need 9200. For clusters, open 9300 on private networks only.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># UFW (Ubuntu)\nsudo ufw allow 9200\/tcp\nsudo ufw allow 9300\/tcp\nsudo ufw reload\n\n# firewalld (RHEL-based)\nsudo firewall-cmd --permanent --add-port=9200\/tcp\nsudo firewall-cmd --permanent --add-port=9300\/tcp\nsudo firewall-cmd --reload\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"basic-elasticsearch-usage-create-index-index-docs-search\"><strong>Basic Elasticsearch Usage: Create Index, Index Docs, Search<\/strong><\/h2>\n\n\n\n<p>Use the REST API to validate functionality. Replace password accordingly.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Create an index with 1 shard and 1 replica (adjust for your cluster)\ncurl -k -u elastic:YOUR_PASSWORD -X PUT \"https:\/\/localhost:9200\/blog?pretty\" \\\n  -H 'Content-Type: application\/json' \\\n  -d '{ \"settings\": { \"number_of_shards\": 1, \"number_of_replicas\": 1 } }'\n\n# Index a document (auto-generate ID)\ncurl -k -u elastic:YOUR_PASSWORD -X POST \"https:\/\/localhost:9200\/blog\/_doc?pretty\" \\\n  -H 'Content-Type: application\/json' \\\n  -d '{ \"title\": \"Hello Elasticsearch\", \"tags\": &#91;\"linux\",\"search\"], \"published\": true }'\n\n# Search\ncurl -k -u elastic:YOUR_PASSWORD \"https:\/\/localhost:9200\/blog\/_search?q=title:hello&amp;pretty\"\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"optional-install-kibana\"><strong>Optional: Install Kibana<\/strong><\/h2>\n\n\n\n<p>Kibana provides a GUI for management, dashboards, and Dev Tools.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ubuntu\/Debian\nsudo apt install -y kibana\n\n# RHEL-based\nsudo dnf install -y kibana\n<\/code><\/pre>\n\n\n\n<p>Bind Kibana to a secure interface and enroll it with Elasticsearch 8:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/kibana\/kibana.yml\nserver.host: \"0.0.0.0\"        # or private IP\nelasticsearch.hosts: &#91;\"https:\/\/localhost:9200\"]\n\n# Enrollment (generates a token from ES)\nsudo \/usr\/share\/elasticsearch\/bin\/elasticsearch-create-enrollment-token -s kibana\nsudo \/usr\/share\/kibana\/bin\/kibana-setup --enrollment-token &lt;TOKEN&gt;\n\nsudo systemctl enable --now kibana\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"performance-tuning-essentials\"><strong>Performance Tuning Essentials<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Heap size:<\/strong> Set ~50% of RAM (max ~31 GB) for compressed oops efficiency.<\/li>\n\n\n\n<li><strong>Storage:<\/strong> Prefer NVMe\/SSD. Avoid remote or networked storage for hot data.<\/li>\n\n\n\n<li><strong>Shards: <\/strong>Don\u2019t overshard. Start with 1\u20132 primary shards per index; adjust by data volume and SLA.<\/li>\n\n\n\n<li><strong>Refresh and replicas: <\/strong>Lower replicas for ingest speed; increase for availability.<\/li>\n\n\n\n<li><strong>Ingest pipeline:<\/strong> Use Elasticsearch ingest nodes or Logstash for heavy parsing.<\/li>\n<\/ul>\n\n\n\n<p>Set heap via jvm.options.d override:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"-Xms4g\" | sudo tee \/etc\/elasticsearch\/jvm.options.d\/heap.options\necho \"-Xmx4g\" | sudo tee -a \/etc\/elasticsearch\/jvm.options.d\/heap.options\nsudo systemctl restart elasticsearch\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"security-hardening-checklist\"><strong>Security Hardening Checklist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Never expose 9200\/9300 to the public internet. Use private networks, VPN, or reverse proxies with TLS.<\/li>\n\n\n\n<li>Use strong passwords or SSO (SAML\/OIDC). Create limited-scope roles for apps.<\/li>\n\n\n\n<li>Rotate certificates, disable weak ciphers, and pin to TLS 1.2+.<\/li>\n\n\n\n<li>Enable audit logging for compliance needs.<\/li>\n\n\n\n<li>Back up regularly with snapshots (S3-compatible or NFS).<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Create a repository for snapshots (example: S3)\nPUT _snapshot\/my_s3_repo\n{\n  \"type\": \"s3\",\n  \"settings\": {\n    \"bucket\": \"my-es-backups\",\n    \"region\": \"us-east-1\"\n  }\n}\n\n# Trigger a snapshot\nPUT _snapshot\/my_s3_repo\/snap-001?wait_for_completion=true\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"upgrades-and-rolling-restarts\"><strong>Upgrades and Rolling Restarts<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Snapshot before upgrades.<\/li>\n\n\n\n<li>Check plugin compatibility and deprecation warnings in <code>_cluster\/settings<\/code> and logs.<\/li>\n\n\n\n<li>In clusters, do rolling restarts: stop one node, upgrade, start, wait for green, repeat.<\/li>\n\n\n\n<li>Keep minor versions aligned across nodes to avoid incompatibilities.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-common-issues\"><strong>Troubleshooting Common Issues<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Service won\u2019t start:<\/strong> Check <code>journalctl -u elasticsearch -e<\/code> for permission or memory lock errors.<\/li>\n\n\n\n<li><code>max virtual memory areas vm.max_map_count<\/code>: Reapply sysctl and reboot if needed.<\/li>\n\n\n\n<li><strong>Cluster red\/yellow:<\/strong> Inspect <code>\/_cluster\/health<\/code> and <code>\/_cat\/shards<\/code>; fix allocation issues or storage limits.<\/li>\n\n\n\n<li><strong>Auth failures:<\/strong> Reset the <code>elastic<\/code> user password and verify certificates.<\/li>\n\n\n\n<li><strong>High heap usage: <\/strong>Increase heap cautiously, reduce shard count, or optimize queries\/mappings.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cost-efficient-hosting-tip-from-the-trenches\"><strong>Cost\u2011Efficient Hosting Tip (From the Trenches)<\/strong><\/h2>\n\n\n\n<p>Elasticsearch thrives on fast CPU, RAM, and SSDs, but costs can escalate. If you\u2019re starting small or migrating from shared environments, YouStable\u2019s SSD-backed VPS and cloud servers offer a balanced price-to-performance baseline for Elasticsearch. Ask support for tuned images with the kernel limits and JVM defaults preconfigured to shorten your time-to-value.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"best-practices-recap\"><strong>Best Practices Recap<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youstable.com\/blog\/install-elasticsearch-on-linux\/\">Install Elasticsearch<\/a> 8 from official repositories to get security defaults and updates.<\/li>\n\n\n\n<li>Apply kernel limits (vm.max_map_count, nofile, nproc) and enable memory lock.<\/li>\n\n\n\n<li>Bind to private IPs and protect ports with a firewall or security groups.<\/li>\n\n\n\n<li>Right-size heap (\u224850% RAM), avoid oversharding, and use SSDs.<\/li>\n\n\n\n<li>Automate snapshots and test restores regularly.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1765959990647\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"do-i-need-to-install-java-to-run-elasticsearch-8-on-linux\"><strong>Do I need to install Java to run Elasticsearch 8 on Linux?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Not usually. Elasticsearch 8 bundles a compatible JDK by default. Only install a custom Java if you have a specific requirement and ensure versions match Elastic\u2019s compatibility matrix.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765960015935\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"which-ports-must-be-open-for-elasticsearch\"><strong>Which ports must be open for Elasticsearch?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Port 9200 (HTTPS\/HTTP API) and 9300 (transport for clustering). Keep 9300 private. Avoid exposing 9200 to the public internet; restrict with firewall rules, VPN, or an authenticated reverse proxy.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765960029523\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"what-are-recommended-heap-and-hardware-settings\"><strong> What are recommended heap and hardware settings?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Allocate ~50% of available RAM to the Java heap (up to ~31 GB). Use SSD or NVMe storage and ensure adequate IOPS. Start with 2 vCPU\/4 GB RAM minimum; 8\u201316 GB RAM is comfortable for moderate workloads.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765960045540\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-reset-the-elastic-user-password\"><strong>How do I reset the elastic user password?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Run: <code>sudo \/usr\/share\/elasticsearch\/bin\/elasticsearch-reset-password -u elastic<\/code>. Store passwords in a secure vault and update any applications that authenticate to the cluster.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765960064398\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-back-up-and-restore-elasticsearch-data\"><strong>How do I back up and restore Elasticsearch data?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use snapshot and restore. Register a repository (S3, GCS, Azure, or shared filesystem), then trigger snapshots. To restore, create an index restore request from the snapshot repository. Always test restores on non-production first.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>To create Elasticsearch on a Linux server, prepare the OS, add Elastic\u2019s package repository, install Elasticsearch 8.x, tune kernel limits, [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":16345,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"iawp_total_views":0,"footnotes":""},"categories":[350],"tags":[],"class_list":["post-14224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase"],"acf":[],"featured_image_src":"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/How-to-Create-ElasticSearch-on-Linux-Server-with-Security-Enabled.jpg","author_info":{"display_name":"Sanjeet Chauhan","author_link":"https:\/\/www.youstable.com\/blog\/author\/sanjeet"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=14224"}],"version-history":[{"count":4,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14224\/revisions"}],"predecessor-version":[{"id":16346,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14224\/revisions\/16346"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/16345"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=14224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=14224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=14224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}