博客 / 詳情

返回

藍易雲cdn:Ubuntu18.04下安裝ES6.8基礎服務

下面直接給你一份可落地、可複用、偏運維實戰的方案説明,針對 Ubuntu 18.04 安裝 Elasticsearch 6.8(基礎服務),我會按“為什麼 → 怎麼做 → 做完怎麼驗證”的邏輯展開,避免空話。


一、安裝前的關鍵認知(先把坑堵住)⚠️

在 6.8 這個版本段,Elasticsearch 對運行環境要求非常明確,否則不是啓動失敗,就是運行一段時間直接崩。

必要前提説明

項目 要求 原因説明
操作系統 Ubuntu 18.04 LTS 內核與 glibc 兼容性穩定
Java 版本 JDK 8 ES 6.x 不支持 JDK 11+
內存 ≥ 2GB(建議 4GB) JVM 堆內存最低保障
文件描述符 ≥ 65536 高併發場景避免句柄耗盡
Swap 強烈建議關閉 防止 JVM 停頓

👉 結論一句話:ES 6.8 = JDK8 + 資源約束清晰 + 系統參數到位


二、基礎環境準備(一步一步來)

1️⃣ 安裝並鎖定 JDK 8

apt update
apt install -y openjdk-8-jdk

解釋説明:

  • openjdk-8-jdk 是 Ubuntu 18.04 官方倉庫提供的 穩定版 JDK8
  • ES 6.8 在 JVM 層大量使用 Unsafe,高版本 JDK 會直接不兼容

驗證 Java 版本:

java -version

期望輸出核心信息應包含:

  • <span style="color:red">1.8.0</span>
  • <span style="color:red">OpenJDK</span>

2️⃣ 調整系統最大文件句柄數

vim /etc/security/limits.conf

追加內容:

* soft nofile 65536
* hard nofile 65536

解釋説明:

  • ES 每個 shard、segment、socket 都會消耗 FD
  • 這是生產環境必做項,不做遲早出問題

重新登錄或重啓生效。


3️⃣ 關閉 Swap(極其重要)🚫

swapoff -a

並編輯:

vim /etc/fstab

註釋所有 swap 行

為什麼必須關?

  • JVM 在 swap 環境下會出現 長時間 Stop-The-World
  • ES 官方明確不建議在 swap 環境運行

三、安裝 Elasticsearch 6.8(核心步驟)

1️⃣ 解壓安裝(推薦 tar 包方式)

假設你已經把安裝包放到 /opt

cd /opt
tar -zxvf elasticsearch-6.8.x.tar.gz

解釋説明:

  • tar 包方式 可控性最高
  • 避免系統服務層的額外干擾
  • 更適合 CDN / 高防 / 運維場景

目錄結構關鍵點:

目錄 作用
bin/ 啓動與管理命令
config/ 核心配置
data/ 索引數據
logs/ 運行日誌

2️⃣ 修改核心配置 elasticsearch.yml

vim config/elasticsearch.yml

最小可用配置示例:

cluster.name: blueeasy-es
node.name: node-1
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node

逐項解釋(重點):

  • cluster.name
    👉 集羣邏輯隔離標識,不要使用默認值
  • network.host: 0.0.0.0
    👉 允許外部訪問(生產環境需結合防火牆)
  • <span style="color:red">discovery.type: single-node</span>
    👉 單節點模式的關鍵參數,不加會卡在選主階段

3️⃣ JVM 堆內存配置(不要偷懶)

編輯:

vim config/jvm.options

調整為(示例 4G 機器):

-Xms1g
-Xmx1g

核心原則:

  • Xms = Xmx(避免動態擴容抖動)
  • 不超過物理內存 50%
  • 留內存給 Page Cache(ES 性能關鍵)

四、啓動與驗證(判斷是否“真成功”)

1️⃣ 啓動 Elasticsearch

cd bin
./elasticsearch -d

解釋説明:

  • -d 表示後台運行
  • 首次啓動請盯緊 logs

2️⃣ 驗證服務狀態

curl http://127.0.0.1:9200

正常返回應包含:

  • <span style="color:red">"number" : "6.8"</span>
  • cluster_name
  • tagline

這一步 比 systemctl 成功更重要


五、運行流程總覽(邏輯圖)

系統初始化
   ↓
JDK8 就緒
   ↓
系統參數調整
   ↓
ES 啓動 JVM
   ↓
加載 node / cluster
   ↓
HTTP 9200 服務就緒

六、一句實話(給你踩剎車)

  • ES 6.8 不是新版本,但依然是 大量企業存量系統的核心組件
  • 環境沒調好,比不用 ES 更危險
  • 穩定性 > 功能新穎性

如果你下一步是:

  • 多節點集羣
  • 配合 Logstash / Filebeat
  • 或放在 高防 / CDN 邊緣日誌系統

可以繼續往下拆,我可以直接按你的業務規模給你一套可上線配置

你這一步,走得是對的路

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.