基于docker 安装elasticsearch + kibana + ik分词器(6.7.2版本)
本文基于Docker进行安装,如何安装docker本文就不介绍了,可以参考我之前的文章
注意要点:
es和kabana以及ik分词器建议都要同一个版本的,否则可能会出现兼容性等问题,解决比较麻烦
第一步:通过docker下载es和kabana的镜像
下载的时长大概15分钟左右,如果配置了阿里云镜像加速的话,大概几分钟就能搞定
docker pull elasticsearch:6.7.2
docker pull kibana:6.7.2
如下图,docker仓库中有es和kabana的镜像则代表下载成功了
第二步:运行容器
在运行es和kabana容器时,需要注意的是,容器与容器之间网络是独立的,不是属于在局域网内,那么kabana就无法访问到es,所以我下面在运行es容器的时候,额外开启了kabana的端口,为了就是让kabana能够连接我们的es,但是这个时候还并没有在一个网段之间,所以我们在运行kabana容器的时候,需要设置container与es容器公用同一个网段就好了
运行es
docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 elasticsearch:6.7.2
如下图就代表已经成功运行了es容器
解决1:如果发现es启动到一半自动停止,有效解决办法,增加内存4G以上,和增加处理器为2即可解决
解决2:分配给ES的内存太小了(无法复现错误信息,具体报错可以自行百度) 1.进入etc目录,编辑sysctl.conf文件:
vi /etc/sysctl.conf
2.添加配置:
vm.max_map_count=262144
3.执行:
sysctl -p
4.然后重启虚拟机
5.启动es如果还是失败,修改limits.conf:
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
6.重启虚拟机
如下图,则代表启动es成功
第三步:启动kibana
运行kabana
docker run -it -d -e ELASTICSEARCH_URL=http://127.0.0.1:9200 --name kibana --network=container:elasticsearch kibana:6.7.2
网页打开kibana
网页是英文的,对于英文不好的同学非常不友好,还是在6.7以上版本kibana开始支持中文了,当然我们需要自己设置
#进入容器
docker exec -it e191c83da1b2 /bin/bash
#修改配置
vi /usr/share/kibana/config/kibana.yml
#添加中文配置
i18n.locale: zh-CN 注意冒号后边有个空格
#退出容器
exit
#重启kibana即可
可以看到有部分已经被汉化了哦
第四步:安装ik分词器
es里面有默认的分词器,但是并不友好,比如我搜索上海,他会默认拆分成两个词语进行查询,本来上海就是一个词语 如下图:
192.168.137.6:9200/_analyze
{
"analyzer":"standard",
"text":"上海"
}
现在我们来安装ik分词器 注意:ik分词器的版本与es的版本一定要一致 分词器下载地址
https://github.com/medcl/elasticsearch-analysis-ik/releases
下载源码包,并解压
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.2/elasticsearch-analysis-ik-6.7.2.zip
创建目录
mkdir elasticsearch-analysis-ik-6.7.2
解压到指定目录
unzip elasticsearch-analysis-ik-6.7.2.zip -d elasticsearch-analysis-ik-6.7.2
查看ik官方分词库所有词,我们也可以在里面自定义词
cat elasticsearch-analysis-ik-6.7.2/config/extra_main.dic
接下来我们将ik分词器上传到es容器中
docker exec -it 370228c5af65 bash
进入我们es的插件目录中,查看是否有ik分词器,有的话看版本是否对应,不对应删掉重新上传即可
cd /usr/share/elasticsearch/plugins/
如下图,我这里是没有的
接着退出容器,将ik分词器复制到es容器里面
意思: 复制 服务器的ik文件(要绝对地址,通过pwd显示) 到 指定容器下 某个目录下
docker cp /usr/local/software/elasticsearch-analysis-ik-6.7.2 91eb1e7498fa:/usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-6.7.2
copy完了后,进入容器到目录到我们copy的目录下,就可以看到相应的文件了,到此我们的ik分词器就已经安装完毕
现在开始准备测试一下我们的ik分词器的效果 1.首先退出容器,重启es容器 2.请求接口,类型使用ik分词器即可
192.168.137.7:9200/_analyze
{
"analyzer":"ik_smart",
"text":"上海"
}
如下图,可以看到上海就不会进行拆分为两个词了。
- JFinal极速开发框架使用笔记(三) 分析Model和ActiveRecord
- JFinal极速开发框架使用笔记(四) _JFinalDemoGenerator实体类生成及映射自动化
- Python语言做数据探索教程
- Java常用工具类之时间转换(注释乱码,全)
- Java常用工具类之RegexpUtils,正则表达式工具类
- 短信接口发送验证码倒计时以及提交验证
- Java常用工具类之IO流工具类
- JFinal极速开发框架使用笔记
- JavaWeb项目之电话本,两个版本,以及总结反思
- 工作中问题记录
- Java导出数据生成Excel表格
- Layui常见问题
- layui动态设置下拉框数据,根据后台数据设置选中
- BCryptPasswordEncoder加密及判断密码是否相同
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 10X bam文件按barcode分割
- 格拉姆-施密特正交化说明
- flow.ci - 简单强大的开源 CI/CD 工具
- golang切片
- CSRF跨站请求伪造——原理及复现
- 【Spark】常见的编译错误
- 聊聊dubbo-go的randomLoadBalance
- CentOS 6 安装 Chrome最简单的方法
- Mysql事物和锁
- PyTorch7:torch.nn.init
- Puppeteer 入门与实战
- 【DB笔试面试854】在Oracle中,删除数据库的方式有哪几种?
- 方差齐性检验
- Windows WSL2 htop打开黑屏的问题解决
- 【DB笔试面试855】在Oracle中,简单说说PSU升级的过程