ElasticSearch安装与介绍
一、ELK简介
1.1、Elasticsearch
Elasticsearch基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
1.2、Logstash
Logstash基于java,是一个开源的用于收集,分析和存储日志的工具。
1.3、Kibana
Kibana 基于nodejs,也是一个开源和免费的工具,Kibana可以为 Logstash和ElasticSearch提供的日志分析友好的Web界面,可以汇总、分析和搜索重要数据日志。
1.4、Beats
Beats是elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。Beats由如下组成:
- Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理,其支 持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、MongoDB、Memcache等协议;
- Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder;
- Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集 Apache、HAProxy、MongoDB、MySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务
1.5、全系的Elastic Stack技术栈包括
二、Elasticsearch安装
2.1、Elasticsearch简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
ElasticSearch是Elastic Stack的核心,同时Elasticsearch 是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为Elastic Stack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
2.2、下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
2.3、单机版安装
# 我自己是新建了个/app目录,把安装包下载到了这里
# 添加新用户
[root@master app]# useradd elsearch
# 解压
[root@master app]# tar -zxvf elasticsearch-6.5.4.tar.gz
#重命名
[root@master app]# mv elasticsearch-6.5.4 elasticsearch
# 授权
[root@master app]# chown elsearch.elsearch -R elasticsearch/
# 切换用户
[root@master ~]# su - elsearch
# 修改配置文件
[elsearch@master ~]$ cd /app/elasticsearch/config
[elsearch@master ~]$ vim elasticsearch.yml
#设置ip地址,任意网络均可访问
network.host: 0.0.0.0
在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改3处配置,如下:
# 修改jvm启动参数、根据自己机器情况修改
[elsearch@master config]$ vim jvm.options
-Xms128m
-Xmx128m
修改第二处的配置(root用户修改)
# 到宿主机上打开文件
[root@master ~]# vim /etc/sysctl.conf
# 增加这样一条配置,一个进程在VMAs(虚拟内存区域)创建内存映射最大数量
[root@master ~]# vm.max_map_count=655360
# 让配置生效
[root@master ~]# sysctl -p
修改第三处的配置(root用户修改)
vim /etc/security/limits.conf
# ElasticSearch添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
2.3.1、启动es(重新切换elsearch用户启动)
# 进入bin目录
[elsearch@master ~]$ cd /app/elasticsearch/bin/
# 前台启动
[elsearch@master bin]$ ./elasticsearch
# 后台启动
[elsearch@master bin]$ ./elasticsearch -d
# 停止
[elsearch@master bin]$ jps
18310 Elasticsearch
18375 Jps
[elsearch@master bin]$ kill -9 18310
2.3.2、页面访问
http://192.168.1.111:9200/
# 成功会显示
{
"name" : "R4mkRo5",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "uA5D-Kq-QgC_wGTRo36wRw",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
2.3.3、插件安装
通过Docker方式安装
#拉取镜像
docker pull mobz/elasticsearch-head:5
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#启动容器
docker start elasticsearch-head
通过Chrome插件安装
打开chrome的应用商店,即可安装
https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm