注: Elasticsearch Kibana 的下载地址统一为https://www.elastic.co/downloads/
问题排查可以登录https://discuss.elastic.co/c论坛查找相关信息
一、Elasticsearch介绍
1.1、基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠, 快速,安装使用方便。基于Restful接口
- 普通请求是…get?a=1
- rest请求…get/a/1
1.2、 Elasticsearch的用户: – GitHub,Wikipedia,ebay等…
1.3、ES VS Solr
1.3.1、查询指数:
1.3.2、性能:
二、Rest简介
Representational State Transfer
一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
2.1、Rest操作
2.1.1、REST的操作分为以下几种
- GET:获取对象的当前状态; - PUT:改变对象的状态; - POST:创建对象; - DELETE:删除对象; - HEAD:获取头信息。 ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/531d6ba2cc8f898e3d612a598e93bfd9.png)2.2、ES内置的REST接口
2.3、 ES和关系型数据库的数据对比
三、安装
3.1 解压缩
[root@TEST opt]# tar -zxf elasticsearch-2.2.0.tar.gz
3.2、修改配置文件config/elasticsearch.yml
注意:如果要配置集群需要两个节点上的elasticsearch配置的cluster.name相同,都启动,就可以自动组成集群,
这里如果不改cluster.name则默认是cluster.name=elasticsearch
nodename随意取但是集群内的各节点不能相同
3.2.1、第一个结点的配置
3.2.2、第二个结点的配置
3.2.3、配置防脑裂
#添加防脑裂配置
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
discovery.zen.ping.unicast.hosts: ["192.168.1.124","192.168.1.125", "192.168.1.126"]
3.3、启动
注意不能使用root用户启动, 它没有像hadoop那样的bin/启动文件,
会出现下面的错误:don’t run elasticsearch as root.
[root@TEST elasticsearch-2.2.0]# pwd
/opt/elasticsearch-2.2.0
[root@TEST elasticsearch-2.2.0]# bin/elasticsearch
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
[root@TEST elasticsearch-2.2.0]#
3.1.1、创建使用一个非root用户启动
首先,赋予chb用户的权限
cd /opt/elasticsearch-2.2.0
chown -R chb:chb ./
3.1.2、启动
cd /opt/elasticsearch-2.2.0
su chb
# 启动
nohup ./bin/elasticsearch/
3.1.3、展示, 使用firefox
好low!
四、ES的插件
4.1、安装kibana插件
解压, 配置文件config/kibana.yml, 添加es的url
# The Elasticsearch instance to use for all your queries.
elasticsearch.url: "http://192.168.1.124:9200"
4.2、安装Marvel 插件
4.2.1、Install Marvel into Elasticsearch:
cd /opt/elasticsearch-2.2.0/
bin/plugin install license
bin/plugin install marvel-agent
4.2.2、Install Marvel into Kibana
cd /opt/kibana-4.4.1-linux-x64/
bin/kibana plugin --install elasticsearch/marvel/latest
4.2.3、Start Elasticsearch and Kibana
#启动ES
su chb #使用非root用户
cd /opt/elasticsearch-2.2.0/bin/
nohup ./elasticsearch &
#启动Kibana
cd /opt/kibana-4.4.1-linux-x64/bin
nohup ./kibana &
在web界面查看192.168.1.124:5061
marvel和kibanna版本不兼容