elasticsearch集羣搭建手冊java
1 系統環境node
OS: CentOS 6.5 x64
JAVA: JDK 1.8 x64
編輯
1.1 安裝準備:linux
ElasticSearch(簡稱ES)由java語言實現,運行環境依賴java。ES 2.x版本,官方須要至少使用jdk1.8的環境,推薦使用Oracle JDK version 1.8.0_25。瀏覽器
ES集羣統一使用JRE 1.8 環境app
編輯2 安裝elasticsearch
編輯2.1 安裝JAVA 環境tcp
JDK下載URL:http://xxx/soft/java/jdk-8u65...
安裝: # rpm -ivh jdk-8u65-linux-x64.rpm
編輯
2.2 安裝ES測試
1) 安裝ESspa
ES下載地址:http://xxx/soft/elasticsearch...
安裝軟件包: # rpm -ivh elasticsearch-2.1.1.rpm插件
2) 配置ES
ES服務目錄: /usr/share/elasticsearch
配置文件目錄:/etc/elasticsearch/
配置文件1: /etc/elasticsearch/elasticsearch.yml
配置文件說明:
cluster.name: es-app-2.1.1
node.name: es-1
index.number_of_shards: 5
index.number_of_replicas: 1
node.master: false
path.data: /data1/elasticsearch/data
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
index.version.created : 2010199index.max_result_window: 1500000
discovery.zen.ping.unicast.hosts: ["ip:9300", "ip:9300"]
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping_timeout: 10s
discovery.zen.fd.ping_timeout: 10s
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 5s
indices.fielddata.cache.size : 50%
threadpool: search:
type: fixed size: 7 queue: 1000 # reject_policy: caller
threadpool: index:
type: fixed size: 3 queue: 200 # reject_policy: caller
threadpool: bulk:
type: fixed size: 2 queue_size: 50
ps : sysctl -p 確保 vm.max_map_count=262144
配置文件2: /etc/sysconfig/elasticsearch 文件說明:
ES_HOME=/usr/share/elasticsearch
CONF_DIR=/etc/elasticsearch
DATA_DIR=/data1/elasticsearch/data
LOG_DIR=/var/log/elasticsearch
PID_DIR=/var/run/elasticsearch
ES_HEAP_SIZE=4g
MAX_OPEN_FILES=65535配置文件3 : /usr/share/elasticsearch/bin/elasticsearch.in.sh
if [ "x$ES_MIN_MEM" = "x" ]; then
ES_MIN_MEM=5g
fiif [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=6g
內存設置超過6G時, 須要聯繫開發,測試使用新的GC回收機制
if [ "x$ES_GC_OPTS" = "x" ]; then
ES_GC_OPTS="$ES_GC_OPTS -XX:+UseParNewGC"
ES_GC_OPTS="$ES_GC_OPTS -XX:+UseConcMarkSweepGC"
ES_GC_OPTS="$ES_GC_OPTS -XX:CMSInitiatingOccupancyFraction=75"
ES_GC_OPTS="$ES_GC_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
fi
編輯3) 啓動ES
注:啓動服務前請確保數據目錄和插件目錄,用戶elasticsearch 擁有寫權限,不要使用777附權限
添加開機啓動項: # chkconfig –add elasticsearch;chkconfig elasticsearch on
啓動/中止/重啓: # service elasticsearch start/stop/restart
編輯4) 檢查
瀏覽器訪問 http://ip:9200
查看分配的創建狀況,ES的健康度爲綠色 http://ip:9200/_plugin/head/
編輯
插件安裝
插件目錄:/usr/share/elasticsearch/plugins1) 插件:head
下載插件包
下載地址: http://xxx/soft/elasticsearch...
解壓縮插件包: # unzip elasticsearch-head-master.zip移動插件包目錄 # mv elasticsearch-head-master /usr/share/elasticsearch/plugins/head
驗證插件插件安裝完成後,請重啓elasticsearch服務
在瀏覽器輸入地址訪問: http://ip:9200/_plugin/head/
能夠看到當前集羣下的全部節點
2) 插件:bigdesk
下載插件包
下載地址: http://xxx/soft/elasticsearch...
解壓縮插件包: # unzip bigdesk-master.zip移動插件包目錄 # mv bigdesk-master /usr/share/elasticsearch/plugins/bigdesk
驗證插件插件安裝完成後,請重啓elasticsearch服務
在瀏覽器輸入地址訪問: http://ip:9200/_plugin/bigdesk/
分詞包插件( 專屬elasticseach 2.1)安裝:
/usr/share/elasticsearch/plugins
修改啓動文件:
[root@es-46-68-76 bin]# pwd
/usr/share/elasticsearch/bin
修改 elasticsearch.in.sh
ES_CLASSPATH=「$ES_HOME/lib/elasticsearch-2.1.1.jar:$ES_HOME/lib: $ES_HOME/lib/*」
使啓動時,能添加lib目錄。
修改配置文件
/etc/elasticsearch
修改elasticsearch.yml
此處參考「2) 配置ES」
上傳分詞包:
上傳hanlp文件
此地存放分詞包,並進行受權。
[root@es-46-68-76 elasticsearch]# pwd
/etc/elasticsearch
[root@es-46-68-76 elasticsearch]# ll -tr
total 32
-rwxr-x— 1 root elasticsearch 2571 Oct 21 2015 logging.yml
-rw-r–r– 1 root root 13654 Dec 14 14:01 elasticsearch.yml.rpmsave
drwxr-x— 2 root elasticsearch 4096 Dec 15 21:37 scripts
drwxr-xr-x 3 root elasticsearch 4096 Apr 21 15:09 hanlp
-rwxr-x— 1 root elasticsearch 4011 Apr 27 14:54 elasticsearch.yml
重啓elasticsearch,便可使用。
編輯
Notes
對於單主節點的ES,能夠把主配置爲非數據節點,保證主節點的穩定性
能夠配置 indices.fielddata.cache.size屬性,防止內存溢出