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
,這個名稱可以隨便,例如:elastic
或similar
之類的,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) 所有機器關閉swap
,swapoff -a
f、啟動
(1) 使用root
執行sysctl -p
(以前一直使用1.x,最近更新至這個版本,目前發前每次啟動前必須執行這個命令,還沒有找到可以不用每次執行的方法)
(2) 使用elastic
使用者切換到elasticsearch-5.6.5/bin
下,然後執行./elasticsearch -d
,這裡的-d
是以後臺方式執行
g、效能和叢集監控
由於官方的Xpack
需要收費,因此一直使用elasticsearch-head
和elasticsearch-bigdesk
監控叢集,下載與使用地址分別是:
https://github.com/mobz/elasticsearch-head
、 https://github.com/hlstudio/bigdesk
elasticsearch-head
elasticsearch 5.x 以後 不支援外掛, 必須單獨起一個服務
bigdesk
我們目錄沒有使用es外掛的方式,而是直接以python
的方式執行獨立站點,操作方法如下:
cd bigdesk/_site/
python -m SimpleHTTPServer
然後訪問8000埠即可。