Docker启ElasticSearch、kibana以及配置ik分词
首先把镜像pull下来,我们这次使用的是7.12.0版本
docker pull elasticsearch:7.12.0
docker pull kibana:7.12.0
#推荐做docker镜像加速,/etc/docker/deamon.json配置加速地址
配置elasticsearch
创建挂载目录
mkdir es/config
mkdir es/logs
mkdir es/plugins
mkdir es/data
touch es/config/elasticsearch.yml
echo 'http.host: 0.0.0.0'> es/config/elasticsearch.yml
#开放任何地址访问
加写的权限,不然挂载会出问题导致服务起不来
chmod -R 777 es/
启动容器
docker run --name es-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /opt/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /opt/es/data:/usr/share/elasticsearch/data \
-v /opt/es/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.12.0
启动后访问9200端口测试,记得打开防火墙
{
"name": "c1296b5bdbe0",
"cluster_name": "elasticsearch",
"cluster_uuid": "aRGT0IqPSnG5AzmfxNXiOw",
"version": {
"number": "7.12.0",
"build_flavor": "default",
"build_type": "docker",
"build_hash": "78722783c38caa25a70982b5b042074cde5d3b3a",
"build_date": "2021-03-18T06:17:15.410153305Z",
"build_snapshot": false,
"lucene_version": "8.8.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
当返回正常的json时,表示服务已正常启动
配置kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 -p 5601:5601 -d kibana:7.12.0
上面这条命令中的es为docker中ElasticSearch的容器名 一般创建容器的时候,不特别指定的话,都在bridge下
创建成功访问
切换中文: 在config/kibana.yml添加
i18n.locale: "zh-CN"
配置ik分词插件(更友好的中文分词)
下载地址:这里下载7.12.0版本 https://github.com/medcl/elasticsearch-analysis-ik/releases
将下载后的zip解压放入plugins中
小功能:此处可以自定义分词库,也可远程热更新部署 用vim在ik中的config目录中新建词库文件my_word.dic输入你定义的词保存。 修改ik中的config目录下面的IKAnalyzer.cfg.xml文件。
之后重启es与kibana测试
- Ik_smart:会做最粗粒度的拆分
- Ik_max_word:会将文本做最细粒度的拆分
这里搞了点测试数据