为了Spring Boot 整合 Elasticsearch,需要安装 Elasticsearch 。
如果不是为了Spring Boot 的支持,建议安装 Elasticsearch 5.0。速度快啊。
版本问题
在使用之前,先要注意一个版本问题。
GitHub说明:
Spring Boot Version (x) | Spring Data Elasticsearch Version (y) | Elasticsearch Version (z) |
---|---|---|
x <= 1.3.5 | y <= 1.3.4 | z <= 1.7.2* |
x >= 1.4.x | 2.0.0 <= y < 5.0.0** | 2.0.0 <= z < 5.0.0** |
使用Spring Boot 1.5.3 那么 Elasticsearch 只能是 2.0.0 以上,5.0.0 以下。
Elasticsearch 官方下载地址:
https://www.elastic.co/downloads/past-releases
版本小说明:
为毛Elasticsearch从2.0 直接跳到 5.0?大家都听说ELK吧,是Elasticsearch、Logstash、Kibana三个产品的首字母缩写,现在Elastic又新增了一个新的开源项目成员:Beats。
由于版本比较混乱,每个产品的版本号都不一样。Elasticsearch和Logstash目前是2.3.4;Kibana是4.5.3;Beats是1.2.3;
所以官方将这些的产品版本号也统了一下,即v5.0。
为什么是5.0,因为Kibana都4.x了,下个版本就只能是5.0了,其他产品就跟着跳跃。
下载
进入软件安装目录:
个人习惯,将软件都安装在自建目录 /usr/software下,方便管理。
cd /usr/software
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.5/elasticsearch-2.4.5.tar.gz
解压
tar -zxvf elasticsearch-2.4.5.tar.gz -C /usr/software/
配置账户
Elasticsearch 默认是不支持用root用户来启动的,会报错。
解决方案如下:
1.添加用户
groupadd elkgroup
useradd elsearch -g elkgroup -p elasticsearch
su elsearch
/usr/software/elasticsearch-2.4.5/bin/elasticsearch -d
2.配置使用root用户
vi /usr/software/elasticsearch-2.4.5/bin/elasticsearch
添加如下代码,到文件第一段注释下:
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
保存
配置IP
Elasticsearch默认restful-api的端口是9200 不支持Ip地址,只能在本机用http://localhost:9200来访问。
如果需要改变,需要修改配置文件。
vi /usr/software/elasticsearch-2.4.5/config/elasticsearch.yml
配置成自己服务器的ip:
network.host 192.168.191.32
默认 9300 是 Java 客户端的端口。
9200 是支持 Restful HTTP 的接口。
保存重启,然后在浏览器上访问:http://192.168.191.32:9200
Centos 上直接查看:
➜ ~ curl http://192.168.191.32:9200
{
"name" : "Emma Frost",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Pgr1qgfxRp6J6lKzf9iOrg",
"version" : {
"number" : "2.4.5",
"build_hash" : "c849dd13904f53e63e88efc33b2ceeda0b6a1276",
"build_timestamp" : "2017-04-24T16:18:17Z",
"build_snapshot" : false,
"lucene_version" : "5.5.4"
},
"tagline" : "You Know, for Search"
}
运行
-d 表示后台启动,守护进程。
sh /usr/software/elasticsearch-2.4.5/bin/elasticsearch [-d表示后台启动]
或 进入elasticsearch-2.4.5 的 bin 目录
./elasticsearch -d
本地查看版本信息
➜ ~ curl -XGET "192.168.191.32:9200"
{
"name" : "Emma Frost",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Pgr1qgfxRp6J6lKzf9iOrg",
"version" : {
"number" : "2.4.5",
"build_hash" : "c849dd13904f53e63e88efc33b2ceeda0b6a1276",
"build_timestamp" : "2017-04-24T16:18:17Z",
"build_snapshot" : false,
"lucene_version" : "5.5.4"
},
"tagline" : "You Know, for Search"
}
ES与MySQL的对应关系
Elasticsearch | MySQL |
---|---|
index | DB |
type | Table |
Document | row |