转载自我的个人博客:
http://blog.ywheel.com/post/2017/03/04/setup_elk_on_mac/
最近的项目需要对文本数据各字段进行快速检索、组合查询、模糊查询,在架构选择上选择了Elasticsearch作为支撑这些功能的存储和搜索引擎。其他的不说了,刚好我的第一台mac到了,直接搞起。
什么是ELK
日志分析平台可以有多种技术架构的选型,但经过了多年的演变,现在比较流行的应该就是ELK了。 ELK三个字母的意义如下:
- Elasticsearch
- Logstash
- Kibana
架构图下图:
图中的Shipper和Indexer都可以是Logstash, Broker一般为Redis,也可以是kafka等。而Search & Storage则主要是Elasticsearch了,一方面接收上游index好的文档,另一方面提供API支持对内容的检索。而kibana则是一个web interface, 可以提供简单易用的界面让用户方便的写出搜索的表达式来访问Elasticsearch.
对于这三部分都有很多深入的点,以后有机会要深入学习和记录。
使用brew安装
既然使用了mac,那么使用brew安装程序则是一个最简单不过的方式了。
首先安装Elasticsearch,直接输入以下命令即可:
brew install elasticsearch
但可能遇到问题,比如要求Java的版本是1.8(我安装的Elasticsearch的按本是5.2.2),这里面可能涉及到还要安装brew cast
用来安装java8, 然后又提示还有其他依赖(后悔没记录下来。。。),而需要xcode-command-tool, 折腾了不少时间。
安装完成后,可以查看elasticsearch的版本:
$ elasticsearch --version
Version: 5.2.2, Build: f9d9b74/2017-02-24T17:26:45.835Z, JVM: 1.8.0_121
启动和停止elasticsearch也很简单:
brew services start elasticsearch
brew services stop elasticsearch
浏览器访问http://localhost:9200
可以看到Elasticsearch的信息:
{
name: "bWXgrRX",
cluster_name: "elasticsearch_ywheel",
cluster_uuid: "m99a1gFWQzKECuwnBfnTug",
version: {
number: "5.2.2",
build_hash: "f9d9b74",
build_date: "2017-02-24T17:26:45.835Z",
build_snapshot: false,
lucene_version: "6.4.1"
},