“前一阵子工作需要,领导交代让我学习ELK的使用,主要理解操作原理。ELK是一个集中式日志系统,ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。这篇文章主要介绍Elasticsearch的安装与使用。”
01
这东西是啥
启动百度搜索发现如下结果:
从中我们知道
1.elasticsearch是一个基于Lucene的分布式搜索服务;
2.能够达到实时搜索,稳定,可靠,快速,安装方便。
大家也可以去官网了解更多信息:
https://www.elastic.co/cn/elasticsearch/
02
装上就完事儿了
了解到以上这些信息,我们着手进行elasticsearch的安装。
1.jdk1.8以上2.支持tar、zip、rpm等多种安装方法(在windows下开发建使用zip安装方式)3.支持docker安装,详细过程:https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html
本人是在CentOS7下安装的,下面讲述一下我的安装过程及安装中遇到的坑。
大家可以访问其官网进行下载。
官网:
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
也可以通过我的网盘分享下载。(版本不是最新的,是同事分享的我直接使用了)
网盘链接:
https://pan.baidu.com/s/1WtoPoRTPXQzWxOAKKCPzsQ 密码: t79o
首先创建elsearch用户,因为Elasticsearch不支持root用户运行。
useradd elsearch
解压安装包
tar -xvf elasticsearch-6.5.4.tar.gz -C /sun/es/ #目录与安装包名称按照自己实际名称输入
由于我已经安装完了,所以在elsearch用户下打开这个目录可以看到如下信息:
新安装的所属是root,所以我们可以更改一下所属
chown elsearch:elsearch es -R
更改之后的所属如下:
然后修改配置文件elasticsearch.yml ,这个文件放置在config文件夹中
vim conf/elasticsearch.yml
找到network.host将其修改为自己的IP
为防止以后ip变化,可以在设置中将本机ip设置为固定值,防止以后IP变化还需要修改文件。
除此之外还需要修改两处配置
1.找到jvm.options文件,其中默认初始内存很大1G,一般用于生产环境的默认值,我们测试环境不需要如此大的内存,或许设备也不满足这个条件。所以将其更改为128M满足我们使用就可以。
2.修改单个进程中的最大线程数
vim /etc/sysctl.conf
修改为655360
至此环境配置修改完毕,下一步启动服务。
在elasticsearch的bin目录下启动
./elasticsearch #前台启动./elasticsearch -d #后台启动Ctrl+c #结束服务
等着启动就好了
当我们看到以上关键字就证明启动成功了。然后我们在本机的浏览器中访问自己虚拟机ip:9200
看到以下信息就证明我们服务已经连接。
关于报错的一些解决办法:
在进行启动服务这一步的时候,我们可能出现无法启动的情况。
解决办法:
编辑 /etc/security/limits.conf,追加以下内容:
* soft nofile 65536* hard nofile 65536* soft nproc 5000* hard nproc 5000root soft nproc 5000root hard nproc 5000
此文件修改后需要重新登录用户,才会生效
注:报错内容或许不同,大家可以根据报错信息自行百度一下,或许有更好的解决方案。也欢迎大家指正。
本机浏览器连接失败解决办法:
服务启动之后,在本机浏览器进行连接验证时候也有可能出现无法连接的问题。这就会让人十分崩溃。好不容易按流程走一遍,怎么就不能用呢,甚至想砸电脑。
但是秉承IT人员的冷静思维,我们可以稍加思索,为什么连接不上。首先我尝试了主机ping虚拟机,可以ping通,然后在虚拟机打开浏览器进行连接,成功了。
这样看来问题已经很明显了,服务已经启动,是我的主机不能连接到服务,被阻拦了。那么我们很自然想到了----->防火墙。
首先查看防火墙状态
systemctl status firewalld.service
然后在下方可以查看得到“active(running)”,此时说明防火墙处于打开状态。
所以我们关闭防火墙
systemctl stop firewalld.service
再次查看防火墙状态
systemctl status firewalld.service
在下方出现disavtive(dead),这样就说明防火墙已经关闭。由于我这个虚拟机只是用来实验,所以我永久关闭了防火墙,大家可以自行考虑。
systemctl disable firewalld.service
然后在本机浏览器就可以连接啦!
之后的连接操作我们也可以在Google浏览器下载插件ElasticSearch Head用以连接es或者在Firefox浏览器中下载扩展插件elasticvue
ElasticSearch Head界面:
elasticvue界面:
03
做一些小操作
在其中进行创建索引删除索引的一些操作。举几个在elasticvue中手动操作的简单例子,
创建索引:
PUT http://host:9200/test #test为你要新建索引的名称
{"settings": {"index": {"number_of_shards": 3, #分片数"number_of_replicas": 2#副本数}}}
删除索引:
直接发送DELETE请求就可以。
插入数据:
POST http://host:9200/{索引}/{类型}/{id}
操作还有很多,Elasticsearch的功能很强大,可以帮助我们快速理解与入门数据处理,这里只列出了皮毛,大家可以安装后自行学习使用。
至此Elasticsearch的安装使用已经完成,Logstash和Kibana的安装使用,下篇文章见~