阿里云使用docker部署elasticsearch+kibana+ik全部搞定
Posted 厚溥技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云使用docker部署elasticsearch+kibana+ik全部搞定相关的知识,希望对你有一定的参考价值。
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/aef551c0cfb6408c8afbb00f105c1e2f.jpg)
前言: 越用越爽的docker值得你去体验,企业搜索王者elasticsearch值得你去玩耍,流行的kibana值得你去探索,后续搭配的logstash用来同步数据更是助你一臂之力。本文采用阿里云服务器(centos7.8),使用docker容器部署全新elasticsearch7.8.1。
1. Elasticsearch安装
-
下载镜像
docker pull elasticsearch:7.8.1
-
创建网络
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.8.1
-
创建容器
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.8.1
以上操作参照官方文档:https://hub.docker.com/_/elasticsearch?tab=description
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/a1afd7bc8df24fb88a681d456456f8f1.jpg)
-
启动容器闪退bug解决
如果你出现以下错误,或者日后碰到以下类似错误,请按照以下方式解决。
docker logs -f 容器id/或者别名
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/cf6b5a9414b347cabf654bd8339cc181.jpg)
jvm分配的内存大于系统可用内存数,
所以没有足够的空间分配新空间了
前往jvm.options文件修改jvm启动参数
使用命令find / -name jvm.options找到jvm.options文件位置
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/83eec446fc084293a03d158705583b0e.jpg)
通过vi 文件位置命令进入该文件
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/5eb5a0152370419f8eca29cb1442364f.jpg)
找到xms参数位置,默认是1g,将分配空间修改小一些,
减小值到系统可用的值,如
-Xms256m
-Xmx256m
还可能会报max_map_count [65530] is too low之类的
错误,表示分配给ES的内存太小了
需要重置max_map_count大小
sysctl -w vm.max_map_count=262144
查看max_map_count
sysctl -a|grep vm.max_map_count
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/4510cd784a8148d7af84fa1bd47b6c1c.jpg)
-
输入 http://8.131.72.130:9200/
或者
curl localhost:9200
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/3b14f3e611404621b4e2eb3fe54613a0.jpg)
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/f07f5d3780074909881008527e415f0a.jpg)
这里顺便贴出springboot整合elasticsearch的配置
spring:
application:
name: bailis_search
elasticsearch:
rest:
uris: http://8.131.72.130:9200
server:
port: 9006
-
设置允许跨域,便于后续head或者kibana的连接
进入容器,修改elsaticsearch.yml 文件,文件末尾增加下面配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/127cf163ca614d238a89134d73ffbdc9.jpg)
2.IK分词器安装
-
Ik分词器版本要和ES和Head或Kibana版本保持一致,进入elasticsearch容器
docker exec -it elasticsearch /bin/bash
-
下载安装ik分词器,此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.1/elasticsearch-analysis-ik-7.8.1.zip
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/6f8e86a005dd4f8b84ef1c3bed453bbb.jpg)
-
退出容器,重启容器,即可加载IK分词器
docker restart elasticsearch
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/a51803d4b45a4117ab77d7a755a20a70.jpg)
-
使用postman进行分词测试
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/b96e6a85ee9f4ac69a8e82b9a89f7212.jpg)
3.Kibana插件安装
由于head插件在docker容器中已经停止更新多年,因此这里不再使用,采用通用十分流行的Kibana插件监控elasticsearch。
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/683bd6455ee346d2b74c9ab86c54d2b3.jpg)
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/0745a750603f487d9bff594808c9f3a8.jpg)
-
Kibana版本要和ES版本保持一致,下载镜像
docker pull kibana:7.8.1
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/cfe2eccbbe50477a83214aa13e68a1ab.jpg)
-
运行容器
docker run -d --name kibana -p 5601:5601 kibana:7.8.1
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/9e477600264b4ebb97deee7ce551083d.jpg)
-
拷出配置文件,后面用来做目录挂载
docker cp kibana:/usr/share/kibana/config/ /usr/local/share/kibana/
vi kibana.yml
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/ae4d56e8db69429486f623f2203b9d65.jpg)
-
将kibana下的文件放到下级目录config目录下
如果你的配置拷贝后已经在config目录下,此步骤可忽略
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/707c06a8c33b40e1b78a0685ec1365f7.jpg)
-
挂载运行
docker rm -f kibana
docker run -d --name kibana -p 5601:5601 -v /usr/local/share/kibana/config:/usr/share/kibana/config kibana:7.8.1
-
浏览器访问 http://8.131.72.130:5601/app/kibana -
运行容器 -
先销毁容器
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/f231739a057a4d4aa1b49f2a4963a4f5.jpg)
-
设置中文界面
编辑kibana.yml,在最后面加上如下语句
i18n.locale: "zh-CN"
重启
![阿里云使用docker部署elasticsearch+kibana+ik全部搞定](https://image.cha138.com/20210421/b612eafb143541a992b3c9206a083d0e.jpg)
下篇:kibana插件使用--待更新
以上是关于阿里云使用docker部署elasticsearch+kibana+ik全部搞定的主要内容,如果未能解决你的问题,请参考以下文章