關注公眾號 itweknow,回復“ES”獲取《Elasticsearch權威指南 中文版》。
最近在嘗試着搭建一個ELK(一個開源的實時日志分析平台),而本文所講的Elasticsearch(下文簡稱ES)就是其中的E。這篇文章我們就一起來看下如何在Ubuntu上安裝ES。至於ELK平台的搭建過程,后續會有文章介紹。
什么是ES
ES是個開源分布式搜索引擎,它具有以下特點。
- 查詢:ES允許執行和合並多種類型的搜索 — 結構化、非結構化、地理位置、度量指標 — 搜索方式隨心而變。
- 分析:ES聚合讓您能夠從大處着眼,探索數據的趨勢和模式。
- 速度:ES很快。真的,真的很快。
- 可擴展性:可以在筆記本電腦上運行。也可以在承載了PB級數據的成百上千台服務器上運行。
- 彈性:ES運行在一個分布式的環境中,從設計之初就考慮到了這一點。
- 靈活性:具備多個案例場景。數字、文本、地理位置、結構化、非結構化。所有的數據類型都歡迎。
ES能干啥
ES建立在全文搜索引擎Apache Lucene(TM)的基礎之上。但它並不像Lucene那么簡單,它不僅包括了全文搜索功能,還可以進行以下工作:
- 分布式實時文件存儲,並將每一個字段都編入索引,使其可以被搜索。
- 實時分析的分布式搜索引擎。
- 可以擴展到上百台服務器,處理PB級別的結構化或非結構化數據。
因為數據量龐大之后關系型數據庫的查詢速度會下降的非常快,很多情況下我們會將一些數量級非常龐大的數據存儲在ES中,比如說服務運行過程中產生的日志等。
ES的安裝
簡單的介紹了一下ES之后,我們回歸正題,進入ES的安裝步驟。在安裝之前,你需要做如下准備:
- 一台Linux機器或虛擬機。
- 在機器上安裝上Java環境,安裝過程可以參考《在Ubuntu上安裝JDK1.8》這篇文章。
- ES安裝包,點擊這里下載。
1.由於ES不能以root用戶運行,所以我們需要為其創建一個其他用戶。
root@es01:~# useradd -m es
# 密碼
root@es01:~# passwd es
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# 為該用戶指定命令解釋程序(通常為/bin/bash)
root@es01:~# usermod -s /bin/bash es
2.將ES的安裝包copy到~/es/
目錄下,並解壓。
es@es01:~/es$ tar -xzvf elasticsearch-7.3.0-linux-x86_64.tar.gz
3..啟動Elasticsearch
cd elasticsearch-7.3.0/
bin/elasticsearch
4.另起會話窗口執行curl http://localhost:9200
命令,若看到如下信息則代表安裝成功。
es@es01:~$ curl http://localhost:9200
{
"name" : "es01",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "V7athqhfT8KM4G6cjwQgsA",
"version" : {
"number" : "7.3.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "de777fa",
"build_date" : "2019-07-24T18:30:11.767338Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安裝中遇到的問題
在安裝ES的過程中,也遇到了兩個問題,在此處記錄,希望能給大家幫助。
1.問題一:內存不足,報錯如下:
解決方案是,修改elasticsearch-7.3.0/config/jvm.options
文件中的下面的配置為適合自己機器的內存大小,若修改后還是報這個錯誤,可重新連接服務器再試一次。
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms512m
-Xmx512m
2.問題二:如果您是以root用戶啟動的話,就會報如下錯誤。
解決方案自然就是添加一個新用戶啟動ES,添加用戶的方法上面有提到。
結束語
本文只是簡單的介紹了安裝單機版的ES,為了維持ES的高可用性通常ES都是以集群的方式出現。對於集群的搭建以及ES的詳細使用介紹會在后面的文章中逐一講解。如果您想現在學習的話,關注公眾號itweknow回復ES獲取《Elasticsearch權威指南 中文版》。
PS:碼不停蹄,學無止境!如果您喜歡我的文章,就關注我吧!
