JDK支持

Java 8 update 20 or later, or Java 7 update 55 or later
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html#jvm-version

安装
解压便可
tar -zxvf elasticsearch-x.x.x.tar.gz -C /opt/
ln -s /opt/elasticsearch-x.x.x/ /opt/es
配置
vi config/elasticsearch.yml
cluster.name: “elasticsearch”
集群名称
node.name: “es01”
节点名称
path.data: /path/to/data
设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例: path.data: /path/to/data1,/path/to/data2
注意:把此目录放在存储最大的挂载点上。
path.work: /path/to/work
设置临时文件的存储路径,默认是es根目录下的work文件夹。
注意:把此目录放在存储最大的挂载点上。
path.logs: /path/to/logs
设置日志文件的存储路径,默认是es根目录下的logs文件夹
注意:把此目录放在存储最大的挂载点上。
bootstrap.mlockall: true
设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过ulimit -l unlimited命令。
index.refresh_interval: 1s

bulk线程池:
threadpool.bulk.type: fixed
threadpool.bulk.size: 60
threadpool.bulk.queue_size: 1000

使用uicast
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: [“host1”, “host2:port”]
可选:
network.host: “172.16.219.125”
绑定特定的IP
gateway.type: local
gateway的类型,默认为local即为本地文件系统,可以设置为本地文件系统。
gateway.recover_after_nodes : 1 (or gateway.recovery_after_master_nodes)
该参数控制集群在达到多少个节点的规模后,才开始数据恢复任务。这样可以避免集群自动发现的初期,分片不全的问题。
gateway.recover_after_time : 5m (m分钟、s秒)
该参数控制集群在达到上条配置设置的节点规模后,再等待多久才开始数据恢复任务。
gateway.expected_nodes : 3
该参数设置集群的预期节点总数。在达到这个总数后,即认为集群节点已经完全加载,即可开始数据恢复,不用再等待上条设置的时间。

transport.tcp.compress: false
节点间交互时,可以设置是否压缩,默认为不压缩

indices.fielddata.cache.size:10%
indices.breaker.fielddata.limit:

另外,在我的测试中,2台机器,其中一台网络不稳定,经常断开,(ip冲突造成),造成集群中的节点各种为战,这里有一些参数可配:
discovery.zen.fd.connect_on_network_disconnect : true
discovery.zen.initial_ping_timeout : 10s
discovery.zen.fd.ping_interval : 2s
discovery.zen.fd.ping_retries : 10

slowlog

index.search.slowlog.threshold.query.warn: 30s
index.search.slowlog.threshold.query.info: 15s
index.search.slowlog.threshold.fetch.warn: 30s
index.search.slowlog.threshold.fetch.info: 15s
index.search.slowlog.threshold.index.warn: 30s
index.search.slowlog.threshold.index.info: 15s

跨域访问

http.cors.enabled: true
http.cors.allow-origin: “*”
http.cors.allow-headers: X-Requested-With, Content-Type, Content-Length, Token
安装插件
安装方法,以head插件为例:
联网时,直接运行%ES_HOME%\bin\plugin -install mobz/elasticsearch-head

不联网时,下载elasticsearch-head的zipball的master包,把内容解压到%ES_HOME%\plugin\head_site目录下,[该插件为site类型插件] 安装完成,重启服务,在浏览器 打开http://localhost:9200/_plugin/head/ 即可
常用插件
./plugin install lmenezes/elasticsearch-kopf
./plugin install mobz/elasticsearch-head
./plugin install lukas-vlcek/bigdesk
./plugin install karmi/elasticsearch-paramedic
./plugin install polyfractal/elasticsearch-inquisitor
./plugin install polyfractal/elasticsearch-segmentspy
启动
普通启动:
bin/elasticsearch
在*nix系统中,后以前台的方式启动。
以后台进程的方式启动:
bin/elasticsearch -d
保存PID
bin/elasticsearch -d -p pid
启动,并把进程的ID保存到当前目录下的pid文件中。
模板设置
模板文件入到 config/templates 目录下,
重启才能生效,2.x得curl设置到集群才可以。

检查现有系统配置是否正确
文件打开数据
在系统启动时,打印支持文件打开数
-Des.max-open-files=true
已经运行的系统,查看文件打开数据:
curl http://localhost:9200/_nodes/process?pretty
查看max_file_descriptors属性值

mlockall
查看
curl http://localhost:9200/_nodes/process?pretty

文档更新时间: 2019-07-09 11:03   作者:admin