线上部署elasticsearch

为提高搜索用户体验需要在线上搭建 ElasticSearch 集群

集群3-4台每台主机需要安装 jdk1.6以上版本,elasticSearch1.4.4最新版本,head 插件,pinyin analysic 插件

安装 ES

1
下载到/usr/search/目录下,解压elasticsearch-1.4.4.tar.gz,在当前路径生成目录:elasticsearch-1.4.4;为该目录做一个软连接ln -s elasticsearch-1.4.4 elasticsearch

参考

安装head插件

1
2
管理集群几乎所有信息,还能进行简单的搜索查询,观察自动恢复的情况
进入到/usr/search/elasticsearch目录,执行sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head

参考

安装bigdesk插件

1
2
监控集群主机cpu、内存使用情况,索引数据、搜索情况,http连接数
进入到/usr/search/elasticsearch目录,执行 sudo ./bin/plugin -install lukas-vlcek/bigdesk/2.5.0

参考

安装servicewrapper

安装之后,方便elasticsearch的启动,停止等等操作

下载地址

1
2
3
解压到/usr/search/elasticsearch/bin/下
执行命令:ES_HOME/bin/service/elasticsearch install
这样每次可以使用 service elastic search restart|stop|start命令

安装Marvel 插件

1
进入到/usr/search/elasticsearch目录,执行sudo./bin/plugin -i elasticsearch/marvel/latest

安装elasticsearch-analysis-ik 是一款中文的分词插件,支持自定义词库。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1、到github网站下载源代码,网站地址为:https://github.com/medcl/elasticsearch-analysis-ik
右侧下方有一个按钮“Download ZIP",点击下载源代码elasticsearch-analysis-ik-master.zip。
2、解压文件elasticsearch-analysis-ik-master.zip,进入下载目录,执行命令:
unzip elasticsearch-analysis-ik-master.zip
3、将解压目录文件中config/ik文件夹复制到ES安装目录config文件夹下。
4、因为是源代码,此处需要使用maven打包,进入解压文件夹中,执行命令:
mvn clean package
5、将打包得到的jar文件elasticsearch-analysis-ik-1.2.8-sources.jar复制到ES安装目录的lib目录下。
6、在ES的配置文件config/elasticsearch.yml中增加ik的配置,在最后增加:
index:
analysis:
analyzer:
ik:
alias: [ik_analyzer]
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
index.analysis.analyzer.ik.type : “ik”

安装策略

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
把以上的软件和插件在一台机器上安装 ok,然后将文件夹同步到其他主机然后修改各自的ES_HOME/config/elasticsearch.yml,在文件末未追加,前两个必填,下面的视情况选填
#cluster.name: luxtonesearch 配置集群名称 必填
#node.name: “ec-node1" 配置节点名称 必填
#node.master: true 配置当前节点是否具有可选为master节点的资格、
#node.data: true 配置当前节点是否允许存储数据 建议填写
#node.max_local_storage_nodes: 1 配置每个几点可以启动的Elasticsearch最大实例个数
#index.number_of_shards: 5 配置索引的默认分片数
#index.number_of_replicas: 1 配置索引的默认副本数
#path.conf: /path/to/conf 配置文件存放目录
#path.data: /path/to/data 配置该节点索引数据的存放目录,多个用都好分割
#path.logs: /path/to/logs 配置日志的存放目录
#path.plugins: /path/to/plugins 配置插件安装目录
#network.host: 192.168.0.1 配置节点绑定的IP和与其他几点交互的IP
#transport.tcp.port: 9300 配置节点之间交互的端口
#http.port: 9200 配置Http访问的端口
#http.max_content_length: 100mb 配置可允许的文本最大长度

参考

开放其中一台的外网ip访问域名承担负载均衡

监测所有节点:http://xxx.xxx.xxx.xxx:9200/_plugin/head/
ElasticSearch集群原理