阿里云使用docker部署elasticsearch+kibana+ik全部搞定
Posted 厚溥技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云使用docker部署elasticsearch+kibana+ik全部搞定相关的知识,希望对你有一定的参考价值。
前言: 越用越爽的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
-
启动容器闪退bug解决
如果你出现以下错误,或者日后碰到以下类似错误,请按照以下方式解决。
docker logs -f 容器id/或者别名
jvm分配的内存大于系统可用内存数,
所以没有足够的空间分配新空间了
前往jvm.options文件修改jvm启动参数
使用命令find / -name jvm.options找到jvm.options文件位置
通过vi 文件位置命令进入该文件
找到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
-
输入 http://8.131.72.130:9200/
或者
curl localhost:9200
这里顺便贴出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: "*"
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
-
退出容器,重启容器,即可加载IK分词器
docker restart elasticsearch
-
使用postman进行分词测试
3.Kibana插件安装
由于head插件在docker容器中已经停止更新多年,因此这里不再使用,采用通用十分流行的Kibana插件监控elasticsearch。
-
Kibana版本要和ES版本保持一致,下载镜像
docker pull kibana:7.8.1
-
运行容器
docker run -d --name kibana -p 5601:5601 kibana:7.8.1
-
拷出配置文件,后面用来做目录挂载
docker cp kibana:/usr/share/kibana/config/ /usr/local/share/kibana/
vi kibana.yml
-
将kibana下的文件放到下级目录config目录下
如果你的配置拷贝后已经在config目录下,此步骤可忽略
-
挂载运行
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 -
运行容器 -
先销毁容器
-
设置中文界面
编辑kibana.yml,在最后面加上如下语句
i18n.locale: "zh-CN"
重启
下篇:kibana插件使用--待更新
以上是关于阿里云使用docker部署elasticsearch+kibana+ik全部搞定的主要内容,如果未能解决你的问题,请参考以下文章