一: ElasticSearch简介
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
二: Kibana简介
Kibana 是一款开源的前端应用程序,其基础是 Elastic Stack,可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能。尽管人们通常将 Kibana 视作 Elastic Stack(之前称作 ELK Stack,分别表示 Elasticsearch、Logstash 和 Kibana)的制图工具,但也可将 Kibana 用作用户界面,用来监测和管理 Elastic Stack 集群,并确保集群的安全性,还可将其作为基于 Elastic Stack 所开发内置解决方案的汇集中心。Elasticsearch 社区于 2013 年开发出了 Kibana,现在 Kibana 已成为 Elastic Stack 的窗口,是用户和公司的一个门户。
三:环境准备
- 操作系统: Ubuntu18.04
- JDK版本:1.8
- docker版本:19.03
- docker-compose版本:1.17
四:安装ElasticSearch&Kibana
注: 此处使用单机版, ElasticSearch选择6.5.4, Kibana版本需要跟ES版本保持一致
- 创建docker-es目录:
mkdir -vp /opt/docker/docker-es/
- 在docker-es目录下创建docker-compose.yml文件:
touch /opt/docker/docker-es/docker-compose.yml
- 编辑docker-compose.yml文件, 并追加以下内容
ES端口:9200, Kibana端口:5601
version: "3.1"
services:
elasticsearch:
image: daocloud.io/library/elasticsearch:6.5.4
restart: always
container_name: elasticsearch
ports:
- 9200:9200
kibana:
image: daocloud.io/library/kibana:6.5.4
restart: always
container_name: kibana
ports:
- 5601:5601
environment:
- elasticsearch_url=http://localhost:9200
depends_on:
- elasticsearch
- 执行
docker-compose up -d
会自动下载并启动
如果出现以下错误, 请使用sudo
权限来执行
ES的启动需要一定的时间, 可取消-d
参数查看日志打印
注: 此处有一个巨坑, 推荐第一次启动打印日志, 如果出现启动失败, jvm空间不足
需要调整jvm空间sudo sysctl -w vm.max_map_count=262144
重新启动ES&Kibana
- 浏览器进入localhost:9200查看ES是否启动成功(ES启动有些慢)
- 浏览器进入localhost:5601查看Kibana是否启动成功
五: 安装IK分词器
进入ESdocker容器
查看ES的dockerid : ddocker ps
进入ES容器: docker exec -it ES的id bash
在线安装
成功进入后执行bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
,即可安装
注: 由于墙问题, 下载速度可能很慢并且下载失败, 可使用另外方法
离线安装
手动下载ik分词器6.5.4
elasticsearch-analysis-ik-6.5.4.zip下载链接
上传文件到ES的docker上:docker cp elasticsearch-analysis-ik-6.5.4.zip e2:/root/
创建ik插件目录: cd plugins/ && mkdir ik
解压ik插件到plugins/ik目录下unzip /root/elasticsearch-analysis-ik-6.5.4.zip -d ./ik/
安装成功后可以使用bin/elasticsearch-plugin list
, 进行查看, 如果有ik说明安装成功
安装IK分词器后无法立即使用, 需要重启ES:docker-compose restart
六: 测试
进入kibana, URL:localhost:5601
点击左侧Dev Tools
输入以下代码进行分词测试:
POST _analyze
{
"analyzer":"ik_max_word",
"text": "我是一个大数据程序员"
}
右侧是分词结果
这是本人第一篇CSDN博客
后续会持续更新大数据技术栈的笔记