1. 程式人生 > >elasticsearch 5.x 安裝與優化 (Windows & linux)

elasticsearch 5.x 安裝與優化 (Windows & linux)

es 5.x安裝與優化

1、jdk版本要求

a、 要求JDK至少1.8+

b、作業系統最好用linux,建議CentOS

2、安裝步驟

es從2.x開始禁止直接使用root使用者啟動,必須獨立建立賬號。

a、建立組與賬戶

groupadd elastic
useradd elastic -g elastic -p elastic_pass

b、給相應的目錄許可權

chown -R elastic:elastic /ssd
chown -R elastic:elastic /home/elasticsearch-5.6.5

上面的 /ssd 是es資料儲存的目錄
第二行是 es的儲存位置。

c、修改作業系統的配置檔案,否則無法正常啟動

修改/etc/security/limits.conf

配置檔案,在末尾追加以下配置

* soft memlock unlimited 
* hard memlock unlimited 
* hard nofile 65536
* soft nofile 65536

執行以下操作,修改/etc/sysctl.conf配置檔案

cat /etc/sysctl.conf | grep -v "vm.max_map_count" > /tmp/system_sysctl.conf
echo "vm.max_map_count=262144" >> /tmp/system_sysctl.conf
mv /tmp/system_sysctl.conf
/etc/sysctl.conf

d、es配置 (Windows 使用者直接從這裡開始)

修改elasticsearch-5.6.5/config/jvm.options配置檔案
配置 jvm 最大堆 , 和最小堆

以下是預設配置

-Xms2g
-Xmx2g

需要修改為(一般為伺服器實體記憶體的一半)

-Xms16g
-Xmx16g

修改elasticsearch-5.6.5/config/elasticsearch.yml配置檔案

(1) 找到#claster.name,去掉前面的#號(#號是註釋),然後修改cluster.name,這個名稱可以隨便,例如:elasticsimilar之類的,cluster.name: elastic

(2) 找到#path.data,預設情況下索引是存放在elasticsearch/5.6.5/data下面的,但我們需要修改為ssd下面,因此修改為path.data: /ssd/elastic/

(3) 找到#node.name,這裡是配置節點名稱,預設情況下,是隨機生成的,為了方便檢視和管理,修改為node.name: ${HOSTNAME}

(4) 找到 #bootstrap.memory_lock: true 這裡去掉註釋#號即可

(5) 找到 #network.host:,去掉註釋並且修改為network.host: 0.0.0.0

(6) 找到 # discovery.zen.ping.unicast.hosts: ["host1", "host2"],去掉註釋,裡面的ip則修改為部分機器即可,從安全和穩定的角度,建議每臺機器配第1個節點即可。(這裡是用於配置Mater節點選舉的,也就是Master會從這些節點中選舉,其它節點與這些節點通訊,走的是單播)

(7) 在其中幾臺機器的(或都增加也行)配置檔案尾部增加

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

這個主要是便於監控外掛走http協議獲取相關資料

e、基本優化

(1) 如果是內網可以直接關掉防火牆,如果安全較高,則需要將9200-9300這個範圍加入防火牆例外。

(2) 所有機器關閉swapswapoff -a

f、啟動

(1) 使用root執行sysctl -p(以前一直使用1.x,最近更新至這個版本,目前發前每次啟動前必須執行這個命令,還沒有找到可以不用每次執行的方法)

(2) 使用elastic使用者切換到elasticsearch-5.6.5/bin下,然後執行./elasticsearch -d,這裡的-d是以後臺方式執行

g、效能和叢集監控

由於官方的Xpack需要收費,因此一直使用elasticsearch-headelasticsearch-bigdesk監控叢集,下載與使用地址分別是:
https://github.com/mobz/elasticsearch-headhttps://github.com/hlstudio/bigdesk

elasticsearch-head elasticsearch 5.x 以後 不支援外掛, 必須單獨起一個服務

bigdesk我們目錄沒有使用es外掛的方式,而是直接以python的方式執行獨立站點,操作方法如下:

cd bigdesk/_site/
python -m SimpleHTTPServer

然後訪問8000埠即可。