1. 下载镜像文件
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2 # 可视化检索数据工具
[root@izuf6crq4k1mozjbsp7p09z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kibana 7.4.2 230d3ded1abc 14 months ago 1.1GB
elasticsearch 7.4.2 b1179d41a7b4 14 months ago 855MB
2. 创建Elasticsearch实例
1. 创建挂载目录
[root@izuf6crq4k1mozjbsp7p09z es]# mkdir -p es/config es/data es/plugins
[root@izuf6crq4k1mozjbsp7p09z es]# echo "http.host: 0.0.0.0" >> /root/es/config/elasticsearch.yml
# 注:
/root/es/config:挂载es的配置文件
/root/es/data:挂载es的数据
/root/es/plugins:挂载es的插件
http.host: 0.0.0.0:使得所有ip都可以访问 ## yml格式中冒号后要有个空格 ": "
2. 创建并启动容器
docker run --name es-jarvis -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /root/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /root/es/data:/usr/share/elasticsearch/data \
-v /root/es/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
-e ES_JAVA_OPTS:设置运行时的jvm参数 如:这里设置了堆内存起始64m,最大128m。"如果不设置内存会占用全部内存导致无法启动"
9200:接收http请求
9300:分布式集群节点之间通信的端口
3. 查看是否启动
# 容器没有正常启动,退出了
[root@izuf6crq4k1mozjbsp7p09z config]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b7c045d60428 elasticsearch:7.4.2 "/usr/local/bin/dock…" 7 minutes ago Exited (1) 7 minutes ago es-jarvis
# 查看日志,发现操作文件的权限不够
[root@izuf6crq4k1mozjbsp7p09z config]# docker logs b7c0
...
"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"
...
# 对/root/es赋予权限
[root@izuf6crq4k1mozjbsp7p09z ~]# chmod -R 777 /root/es # 所有用户组对es文件夹可读可写可执行
[root@izuf6crq4k1mozjbsp7p09z ~]# ll
drwxrwxrwx 5 root root 4096 Jan 18 22:28 es
4. 浏览器测试9200端口

5. 可视化界面----docker安装head插件
docker pull mobz/elasticsearch-head:5
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
在ElasticSearch的配置文件elasticsearch.yml中加如下配置并重启,不然会跨域:
http.cors.enabled: true
http.cors.allow-origin: "*"

3. 创建Kibana实例
docker run --name kibana-jarvis \
-e ELASTICSEARCH_HOSTS=http://ip:9200 \
-p 5601:5601 -d kibana:7.4.2
注:
ip改为ElasticSearch的地址
ip:5601访问:

4. 安装IK分词器
1. 进入es容器
docker exec -it es容器Id /bin/bash
2. 安装IK分词器
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
注:IK分词器和版本要和elasticsearch运行的版本一样
3. 查看是否安装成功
[root@f2a7e75092d4 plugins]# cd plugins/
[root@f2a7e75092d4 plugins]# ls
analysis-ik # 有此插件,表示成功 如果挂载了plugins目录,则在主机上也会有这个文件夹
[root@f2a7e75092d4 plugins]# cd analysis-ik/
[root@f2a7e75092d4 analysis-ik]# ls
commons-codec-1.9.jar elasticsearch-analysis-ik-7.4.2.jar httpcore-4.4.4.jar plugin-security.policy
commons-logging-1.2.jar httpclient-4.5.2.jar plugin-descriptor.properties
4. 退出容器并重启
exit
docker restart es容器Id
使用Kabina测试:


1621

被折叠的 条评论
为什么被折叠?



