图片 6

3实践总结,0安装配置

概括

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful
web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Elasticsearch多节点集群配置文件

简述

升级分为Elasticsearch server升级和Elasticsearch client api升级

使用案例:

192.168.18.186  安装一个Elasticsearch节点
192.168.18.187  安装两个Elasticsearch节点

为什么要迁移

当前团队内多个业务方公用一套ES集群,容易被影响,重要业务应该独自搭建一套集群

迁移的优势:

  1. 降低业务耦合性,加强不同业务隔离;
  2. 丰富的资源提供更好的服务支撑;
  • 维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。
  • 英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。
  • StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。
  • GitHub使用Elasticsearch来检索超过1300亿行代码。
  • 每天,Goldman
    Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。

主机1安装一个节点的配置文件(192.168.18.186 )
/usr/local/elasticsearch-1.7.3/config/elasticsearch.yml
cluster.name: elastic-product
node.name: “node18.186”
bootstrap.mlockall: true
network.host: 192.168.18.186
discovery.zen.ping.timeout: 60s
discovery.zen.fd.ping_timeout: 60s
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts:
[“192.168.18.186″,”192.168.18.187″,”192.168.18.187:9301”]
index.cache.field.max_size: 50000
index.cache.field.expire: 10m
index.cache.field.type: soft
indices.fielddata.cache.size: 10%
#path.data: /path/to/data
 

为什么选择ES2.3

在1.X系列之上,ES2.X算是开启了又一个重要的里程碑,文档的展示样式也体现了该版本的重要性,当然了这只是冰山一角;

图片 1

下边是增强说明(下边两幅图说明了同一个观点:更优秀的功能集成在了2.X版本上):

图片 2

图片 3

附上地址:   新功能

我们既然决定了迁移,那就一起升级到优秀的版本,2.3.3是当时最新的版本,算是比较稳定的版本,看他最近一次提交是5.17;

图片 4

ElasticSearch的优缺点:

说明:为了防止“脑裂”出现,discovery.zen.minimum_master_nodes参数设置的数字=(集群中节点数/2)+1,如两台或者三台主机则配置,如果只有一个节点,此配置可去掉或配置1。

迁移的效果如何

   
图片 5图片 6

上边两个接口的迁移效果

因为上周中间才开始,还在观察期,中间的几个突兀是期间来回切换重启,缓存失效引起,当然,这个效果是ES
Server在基本上没怎么调优的情况下的效果,之后会一遍观察,一遍调优,找出适合我们自己的配置;

优点:

主机2安装两个节点的配置文件(192.168.18.187)
1、节点一
/usr/local/elasticsearch-1.7.3/config/elasticsearch.yml
cluster.name: elastic-product
node.name: “node18.187”
bootstrap.mlockall: true
network.host: 192.168.18.187
discovery.zen.ping.timeout: 60s
discovery.zen.fd.ping_timeout: 60s
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts:
[“192.168.18.186″,”192.168.18.187″,”192.168.18.187:9301”]
index.cache.field.max_size: 50000
index.cache.field.expire: 10m
index.cache.field.type: soft
indices.fielddata.cache.size: 10%
#path.data: /path/to/data

ES升级方案

1、Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push
replication”。

2、节点二
/usr/local/elasticsearch-1.7.3-rep2/config/elasticsearch.yml
cluster.name: elastic-product
node.name: “node18.187-rep2”
bootstrap.mlockall: true
network.host: 192.168.18.187
discovery.zen.ping.timeout: 60s
discovery.zen.fd.ping_timeout: 60s
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts:
[“192.168.18.186″,”192.168.18.187″,”192.168.18.187:9301”]
transport.tcp.port: 9301
http.port: 9201
index.cache.field.max_size: 50000
index.cache.field.expire: 10m
index.cache.field.type: soft
indices.fielddata.cache.size: 10%
#path.data: /path/to/data
 

升级策略

  1. 搭建自己业务独立的ES集群(2.3.3)
  2. API更新换代

2、Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。

添加为开机自启方法:
sudo vim /etc/rc.local
/usr/local/elasticsearch-1.7.3-2/bin/elasticsearch -d
/usr/local/elasticsearch-1.7.3-2/conf/elasticsearch.yml

配置文件

*以下列表中的参数可支持自动化配置,其余未列出来皆用默认配置(如有不妥,请及时纠偏,尤其是
配置节点类型一列)

配置参数

功能简介

配置节点类型

自动化配置

建议配置

所属模块

cluster.name

集群名称

  • data
  • master

cluster

node.name

节点名称

  • data
  • master

 

 

node

node.master

是否是master

  • data
  • master

node.data

是否是data

  • data
  • master

index.number_of_shards

索引分片数

  • data
  • master

 

index

 

index.number_of_replicas

索引备份数

  • data
  • master

index.refresh_interval

refresh时间

  • data
  • master

index.merge.scheduler.max_thread_count

merge线程数

  • data
  • master

Χ

index.unassigned.node_left.delayed_timeout

一个node脱离集群后多长时间之外才开始进行一系列的备份操作

  • data
  • master

index.search.slowlog.threshold.query.warn

query慢日志时间设置

  • data

index.search.slowlog.threshold.fetch.warn

fetch慢日志时间设置

  • data

index.indexing.slowlog.threshold.index.warn

index慢日志时间设置

  • data

monitor.jvm.gc.old.warn

gc时间设置

  • data
  • master

 

monitor

monitor.jvm.gc.old.info

  • data
  • master

monitor.jvm.gc.young.warn

  • data
  • master

monitor.jvm.gc.young.info

  • data
  • master

script.inline

是否支持script表达式搜索

  • data

Χ

 

script

script.indexed

  • data

Χ

path.logs

log日志路径

  • data
  • master

Χ

 

path

path.data

存储数据路径

  • data
  • master

Χ

network.host

对外发布本机ip

  • data
  • master

Χ

Χ

 

 

network

transport.tcp.port

通信端口

  • data
  • master

Χ

http.port

http端口

  • data
  • master

Χ

discovery.zen.ping.multicast.enabled

是否开启相同集群名称则组成集群

  • data
  • master

Χ

Χ

 

 

discovery

discovery.zen.ping.unicast.hosts

单播机器列表

  • data
  • master

Χ

discovery.zen.minimum_master_nodes

组成master集群的最小节点数

  • master

Χ

gateway.recover_after_data_nodes

full restart 参数设置

  • data

Χ

 

 

 

 

 

gateway

gateway.expected_data_nodes

  • data

Χ

gateway.expected_master_nodes

  • master

Χ

gateway.recover_after_master_nodes

  • master

Χ

gateway.expected_nodes

  • data
  • master

Χ

 gateway.recover_after_nodes

  • data
  • master

Χ

gateway.recover_after_time

  • data
  • master

Χ

action.disable_delete_all_indices

是否允许全部删除

  • data
  • master

Χ

Χ

 

action

action.destructive_requires_name

是否允许正则表达式删除

  • data
  • master

Χ

Χ

shield.enabled

是否支持shield

  • data
  • master

Χ

Χ

**shield

**

3、处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。

Linux上安装部署ElasticSearch全程记录 
http://www.linuxidc.com/Linux/2015-09/123241.htm