elasticsearch 安裝及集群配置

系統(tǒng)環(huán)境
操作系統(tǒng):CentOS7.2
elasticsearch:6.2.2
JDK:1.8

elasticsearch的不同版本對jdk版本也有不同要求 所以我們在安裝前可以選擇對的版本號

一,單機配置

1,下載es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz
這里我們是把es目錄放在/usr/local/elasticsearch

圖片.png

在/usr/local/下面創(chuàng)建elasticsearch目錄
mkdir elasticsearch
2,解壓elasticsearch-6.2.2.tar.gz
tar -xvf elasticsearch-6.2.2.tar.gz
將解壓后的文件放在elasticsearch目錄下
mv elasticsearch-6.2.2/* elasticsearch/
進入解壓后的elasticsearch目錄
圖片.png

3,新建data目錄:mkdir data
4,修改config/elasticsearch.yml:vim config/elasticsearch.yml

取消下列項注釋并修改:

//集群名稱
cluster.name: my-application
node.name: node-1 #節(jié)點名稱
//數(shù)據(jù)和日志的存儲目錄
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
//設(shè)置綁定的ip,設(shè)置為0.0.0.0以后就可以讓任何計算機節(jié)點訪問到了
network.host: 0.0.0.0
//端口
http.port: 9200

修改完畢后,:wq 保存退出vim

設(shè)置elasticsearch使用java的JVM內(nèi)存 可以根據(jù)自己的的實際需求設(shè)置合適的JVM內(nèi)存 這里我只是做演示所以設(shè)置內(nèi)存并不大,在生產(chǎn)中涉及到JVM調(diào)優(yōu)我們一般都是設(shè)置內(nèi)存的一半,但是不考慮內(nèi)存調(diào)優(yōu)數(shù)據(jù)量不大的情況就可以根據(jù)自己的需要設(shè)置內(nèi)存

5,在elasticsearch目錄下編輯jvm.options文件
vim config/jvm.options

圖片.png

編輯完成后保存退出
這個時候我們不能直接啟動es 因為不能使用root用戶操作
不然后報錯的
圖片.png

6,我們現(xiàn)在添加一個非root用戶es進行操作
圖片.png

改一下es目錄所屬用戶(不然沒有權(quán)限操作elasticsearch目錄):
chown es /usr/local/elasticsearch -R
vim 編輯 /etc/security/limits.conf
vim /etc/security/limits.conf在末尾加上:

es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096

保存并退出


圖片.png

圖片.png

7,vim 編輯vim /etc/security/limits.d/20-nproc.conf,將* 改為用戶名

圖片.png

8,vim 編輯 vim /etc/sysctl.conf,在末尾加上:
vm.max_map_count = 655360
執(zhí)行:sysctl -p

圖片.png

9,切換到es用戶,
su es
啟動elasticsearch查看日志
10,./bin/elasticsearch或在后臺啟動./bin/elasticsearch -d

11,瀏覽器輸入IP:9200會出現(xiàn)下面響應(yīng)結(jié)果表示安裝成功

圖片.png

如果訪問失敗說明防火墻可能開啟將9200端口對外開放(如果集群需要端口9300也要對外開放?。。。?/p>

firewall-cmd --permanent --zone=public --add-port=9200/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8080/tcp

二, 集群配置

集群的配置其實就是在單機配置的基礎(chǔ)上進行微改在開啟集群之前需要對單機測試時的 /usr/local/elasticsearch/data 目錄下的文件清空

node.max_local_storage_nodes: 256
discovery.zen.ping.unicast.hosts: ["你的ip1", "你的ip2", "你的ip3"]
discovery.zen.minimum_master_nodes: 2


圖片.png

圖片.png

圖片.png
圖片.png

參數(shù)說明

cluster.name: my-application
配置es的集群名稱,默認(rèn)是elasticsearch,es會自動發(fā)現(xiàn)在同一網(wǎng)段下的es,如果在同一網(wǎng)段下有多個集群,就可以用這個屬性來區(qū)分不同的集群。
node.name: node-1(集群中需要唯一不可重復(fù))
節(jié)點名,默認(rèn)隨機指定一個name列表中名字,該列表在es的jar包中config文件夾里name.txt文件中,
path.data: /usr/local/elasticsearch/data
設(shè)置索引數(shù)據(jù)的存儲路徑,默認(rèn)是es根目錄下的data文件夾,可以設(shè)置多個存儲路徑,用逗號隔開。
path.logs: /usr/local/elasticsearch/logs
設(shè)置日志文件的存儲路徑,默認(rèn)是es根目錄下的logs文件夾
network.host: 0.0.0.0 (訪問訪問需要)
設(shè)置綁定的ip地址,可以是ipv4或ipv6的
http.cors.enabled: true
如果啟用了 HTTP 端口,那么此屬性會指定是否允許跨域 REST 請求。
http.cors.allow-origin: "*"
如果 http.cors.enabled 的值為 true,那么該屬性會指定允許 REST 請求來自何處。
discovery.zen.minimum_master_nodes=集群節(jié)點/2+1 (防止腦裂)

三、安裝head插件

Elasticsearch Head Plugin:head插件是一個ES集群的web前端工具,它提供可視化的頁面方便用戶查看節(jié)點信息,對ES進行各種操作,如查詢、刪除、瀏覽索引等。

1、安裝相關(guān)依賴包

(1)安裝head

由于head插件本質(zhì)上還是一個nodejs的工程,因此需要安裝node,使用node.js安裝教程。

(2)安裝grunt(安裝完elasticsearch-head后安裝)

grunt是一個很方便的構(gòu)建工具,可以進行打包壓縮、測試、執(zhí)行等等的工作,5.0里的head插件就是通過grunt啟動的。因此需要安裝一下grunt:

cd /usr/local/elasticsearch-head
npm install -g grunt-cli//執(zhí)行后會生成node_modules文件夾
npm install

圖片.png

在elasticsearch-head目錄下面
修改_site/app.js
vi _site/app.js

修改 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://你的ES節(jié)點ip:9200";
ip:修改為其中一臺ES節(jié)點的地址即可
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://你的一臺ES節(jié)點ip:9200";

還要修改Head主目錄下的Gruntfile.js,由于默認(rèn)文件中是沒有hostname屬性的,添加:


圖片.png

在elasticsearch.yml文件的最后,添加如下內(nèi)容:

http.cors.enabled: true
http.cors.allow-origin: "*"

elasticsearch啟動的時候追加兩個配置文件屬性即可防止跨域。

進入elasticsearch目錄后臺啟動三臺elasticsearch
./bin/elasticsearch -d

4、啟動elasticsearch-head
進入elasticsearch-head 目錄
cd /usr/local/elasticsearch-head
啟動插件grunt servernpm run start啟動
或者后臺運行grunt server &npm run start &
grunt server //若想在,結(jié)尾追加“&”,也可以使用 npm run start啟動
瀏覽器中http://你的ip:9100/

圖片.png

如果沒有安裝node.js需要自己查找資料安裝,在安裝node.js或許會出現(xiàn)一點小問題可自行解決,
到這里es集群搭建完成
當(dāng)然es的比較好的插件也有kibana安裝也是非常簡單的下載好的話一分鐘快速安裝,還是推薦使用kibana這個插件進行數(shù)據(jù)的監(jiān)控和開發(fā)


圖片.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容