创建Docker网络
docker network create es-net
创建这个网络是为了让ElasticSearch和Kibana两个容器的网络联通
安装并运行Elasticsearch
安装并运行elasticsearch
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.7.0
docker run -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" -e "xpack.security.enabled=true" -e "xpack.security.transport.ssl.enabled=false" -v es-data:/usr/share/elasticsearch/data -v es-plugins:/usr/share/elasticsearch/plugins --privileged --network es-net -p 9200:9200 -p 9300:9300 docker.elastic.co/elasticsearch/elasticsearch:8.7.0
上述启动命令关闭ElasticSearch的SSL要求 并开启登录访问
之后运行下面的命令,创建一个新的用户,待会用它来设置为Kibana的环境变量来启动以开启Kibana的登录
#创建新账户
elasticsearch-users useradd username
#给账户授权
elasticsearch-users roles -a superuser username
elasticsearch-users roles -a kibana_system username
上述命令会为ElasticSearch创建一个用户,并为其分配管理员权限
安装并运行Kibana
Kibana 是一个用于可视化和管理 Elasticsearch 数据的开源工具,属于 Elastic Stack(ELK Stack)的一部分。它提供了一套强大的功能,便于用户对存储在 Elasticsearch 中的数据进行探索、分析和展示
运行以下命令安装并运行Kibana
docker pull docker.elastic.co/kibana/kibana:8.7.0
docker run -d --name kibana -e "ELASTICSEARCH_HOSTS=http://es:9200" -e "ELASTICSEARCH_USERNAME=kibana_system" -e "ELASTICSEARCH_PASSWORD=<kibana_system_password>" -e "xpack.security.enabled=true" --network es-net -p 5601:5601 docker.elastic.co/kibana/kibana:8.7.0
上述启动命令 需要用上面在es创建的用户名和密码运行,将kibana_system替换你创建的用户名,<kibana_system_password>替换为你创建的用户密码
之后我们访问服务器:5601,我在本地安装的,所以访问localhost:5601,查看Kibana是否能看到页面
如果显示登录界面,则说明为Kibana配置的登录有效,我们即可登录,进入开发工具页面
来这里编写DSL体验ElasticSearch了
安装IK分词器
IK 分词器是 Elasticsearch 的一个中文分词插件,专为处理中文文本设计。由于 Elasticsearch 默认的分词器对中文的处理不够理想(会将中文文本拆成一个个单字),IK 分词器通过自然语言处理技术,提供了更加智能化的中文分词功能
用命令行进入es容器
docker exec -it es /bin/bash
进入 Elasticsearch 容器后,执行以下命令来安装 IK 分词器插件(确保使用正确的 Elasticsearch 版本,例如 8.7.0)
bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.7.0/elasticsearch-analysis-ik-8.7.0.zip
安装插件后,退出容器并重启 Elasticsearch 容器以使插件生效:
docker restart es
重启后,你可以来到Kibana的开发工具,输入以下命令,查看是否安装成功
GET /_cat/plugins?v
如果如下图所示,则安装成功
至此,ElasticSearch、Kibana、IK分词器都已经装好了,之后你就可以体验ElasticSearch的强大性能了😊
推荐ElasticSearch课程视频:点击进入