Elasticsearch服務端安裝有哪些坑?真相不只有一個!

一.話題背景

上回做了es的基本介紹跟PHP版客戶端的使用,不久后某平臺里有人私信我說,兄弟,能否講講服務端的安裝,坑老多了。。。

對于這位仁兄我也是深感同情,畢竟俺也是過來人呀!

之前寫過?‘迅搜’ 這款搜索引擎的介紹,其優點主要有 :資源占用少,配置坑少,有自帶、開箱即用的數據導入工具。。等,缺點嘛,先不說了,不是本文重點,而它這些優點,本人覺得,恰好是ES的缺點了!

首先,ES就是個吃貨,吃內存,吃硬盤存儲,硬盤方面還好,一般能管夠!至于內存。。。哎!妥妥的內存吃貨!跟應用部署在同一服務器真不推薦,官方也建議--最好單獨部署在一臺機子上!那么,怎么部署服務端,部署過程中有哪些坑呢?

二.部署

1.配置:阿里云一核2G?,?centos 7.6?, 普通硬盤40G。

2.步驟:

1)創建文件?elasticsearch.repo,放到?/etc/yum.repos.d/?目錄下,內容如下:

[elasticsearch]

name=Elasticsearch repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=0

autorefresh=1

type=rpm-md

保存退出后執行?sudo yum install --enablerepo=elasticsearch elasticsearch?。

系統會默認安裝最新版的es到你服務器里。

2)設置開機啟動并啟動軟件。sudo chkconfig --add elasticsearch,然后就可以運行?sudo -i service elasticsearch start?啟動ES?了。如果ES不能啟動,控制臺沒有看到?OK?兩個字母,可以查看?/var/log/elasticsearch/?這里面的log文件,另外,為了確保開機運行,還會繼續執行 以下代碼

sudo /bin/systemctl daemon-reload

sudo /bin/systemctl enable elasticsearch.service

運行后,便可?使用命令

sudo systemctl start elasticsearch.service

sudo systemctl stop elasticsearch.service

來開關ES服務了。隨后,我們驗證一下,命令行窗口輸入?curl localhost:9200,回車。

如果?看到類似以下畫面,就代表服務端安裝成功了~

{

"name" : "Cp8oag6",

"cluster_name" : "elasticsearch",

"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",

"version" : {

"number" : "7.7.1",

"build_flavor" : "default",

"build_type" : "tar",

"build_hash" : "f27399d",

"build_date" : "2020-06-10T09:51:41.449Z",

"build_snapshot" : false,

"lucene_version" : "8.5.1",

"minimum_wire_compatibility_version" : "1.2.3",

"minimum_index_compatibility_version" : "1.2.3"

},

"tagline" : "You Know, for Search"}

至此,ES安裝已經完成了80%了! 但就是這最后的20%的配置,可能就決定了你今天能否按時下班,哈哈。

三.配置

主要是配置這兩個文件~

elasticsearch.yml?和?jvm.options?(其他的如分布式等這里先不說),文件位于?/etc/elasticsearch里面。

vim /etc/elasticsearch/jvm.options

這里新安裝時,Xms和Xmx默認是1g的,我服務器內存少,設為256m了(無奈,阿里云服務器就是有點貴)這個得看實際情況了,服務器配置不高的話,一般得設,如果啟動不了,就再設低一點,這算是第一個坑了,一般獨占一臺服務器,2G內存的話,設個512M就夠了,至于那些土豪機子,請隨意。

然后就到重頭戲了,打開同目錄下的elasticsearch.yml,

設置

cluster.name :?你的集群名 ,

node.name :?你的節點名字 ,

path.data?和path.logs?默認就行,

network.host : 0.0.0.0,

http.port : 9200

cluster.initial_master_nodes : ["你的節點名"],

以上都要先去掉前面的#?號再設置。

然后,坑?來了,以上設置的?:?左右都要留一個空格?,否則,你分分鐘會遇到

類似這樣的錯誤。

設置完:wq?保存退出,重啟服務端?sudo systemctl restart elasticsearch.service

瀏覽器訪問?你的IP?:9200?就能看到 剛才類似的文檔信息了,只是name?字段變成了你設的節點名字,cluster_name?也變了。

至此,大功告成!開始你愉快的?Elasticsearch?之旅吧!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。