第四节:ElasticSearch/Kibana/IK分词器多版本的安装使用(docker 和 windows)
一. 8.x版本--docker安装
1. 版本说明
ElasticSearch 8.18.3 【20250525发布】
Kibana 8.18.3
IK分词 8.18.3
2. ES安装
(1) 下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.18.3
-
这是官方推荐的下载方式,确保获取经过验证的镜像
-
指定版本号
8.18.3保证 ES 和 Kibana 版本一致 -
使用官方仓库
docker.elastic.co而不是 Docker Hub
(2) 创建docker网络
docker network create elastic-net
-
创建专用网络
elastic-net用于容器间通信 -
优点:
-
容器可通过名称相互访问(如
elasticsearch主机名) -
隔离于其他容器,提高安全性
-
无需暴露所有端口到宿主机
-
-
技术细节:默认创建 bridge 网络,适合单主机部署
(3) 创建必要目录
sudo mkdir -p /root/elasticsearch/{config,data,plugins,logs}
sudo chmod -R 777 /root/elasticsearch
-
目录结构作用:
-
config: 存储自定义配置文件 -
data: 持久化索引数据 -
plugins: 存放分词器等插件 -
logs: 收集运行日志
-
(4) 创建配置文件
cluster.name: "docker-cluster"
node.name: "ypf-es-node-01"
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
xpack.security.enabled: false
详细说明:
-
cluster.name: 集群标识符,多节点需一致 -
node.name: 节点唯一名称,建议包含环境信息 -
network.host: 0.0.0.0: 允许所有网络接口访问 -
discovery.type: single-node: 单节点模式,无需发现其他节点 -
xpack.security.enabled: false: 禁用安全功能(仅限测试)
(5) 构建ES容器--无密码模式
docker run -d \
--name elasticsearch \
--net elastic-net \
-p 9200:9200 \
-p 9300:9300 \
-v /root/elasticsearch/data:/usr/share/elasticsearch/data \
-v /root/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /root/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /root/elasticsearch/logs:/usr/share/elasticsearch/logs \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.elastic.co/elasticsearch/elasticsearch:8.18.3
访问:9200端口,显示如下

(6) 构建ES容器--有密码模式
docker run -d \
--name elasticsearch \
--net elastic-net \
-p 9200:9200 \
-p 9300:9300 \
-v /root/elasticsearch/data:/usr/share/elasticsearch/data \
-v /root/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /root/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /root/elasticsearch/logs:/usr/share/elasticsearch/logs \
-e "ELASTIC_PASSWORD=ypf12345" \
-e "xpack.security.enabled=true" \
-e "xpack.security.http.ssl.enabled=false" \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:8.18.3
超级管理员:elastic 密码:ypf12345
访问:9200端口,需要输入账号密码才能使用
3. Kibana安装
(1) 下载镜像
docker pull docker.elastic.co/kibana/kibana:8.18.3
PS:这里直接从官方下载指定版本
(2) 构建镜像--无密码模式
docker run -d \
--name kibana \
--net elastic-net \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \
docker.elastic.co/kibana/kibana:8.18.3
说明:
-
elasticsearch是 ES 容器名称,Docker 网络自动解析 -
访问
http://<服务器IP>:5601使用 Kibana -
性能优化:可添加
-e "SERVER_MAXPAYLOADBYTES=1048576"处理大请求
PS:访问9200端口即可
(3) 构建镜像--有密码模式【有问题,不能使用elastic账户】
docker run -d \
--name kibana \
--net elastic-net \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=https://elasticsearch:9200" \
-e "ELASTICSEARCH_USERNAME=elastic" \
-e "ELASTICSEARCH_PASSWORD=ypf12345" \
-e "ELASTICSEARCH_SSL_VERIFICATIONMODE=none" \
docker.elastic.co/kibana/kibana:8.18.3
4. 分词器安装
直接去 https://release.infinilabs.com/analysis-ik/stable/ 下载后,拷贝在关联的目录下即可,至于文件夹名称,不是很重要

验证安装
docker exec elasticsearch elasticsearch-plugin list
# 应返回: analysis-ik
二. 8.x版本--windows安装
1. 版本说明
ElasticSearch 8.18.3 【20250525发布】
Kibana 8.18.3
IK分词 8.18.3
2. ES安装
(1) es8.x版本中默认包含对应jdk环境,直接运行 elasticsearch.bat ,会在配置文件中生成一部分代码,如下图,然后关闭安全认证即可,改为false即可。

(2) 解决日志乱码问题

(3) 重新运行 elasticsearch.bat
3. Kibana安装
(1) 修改配置文件 kibana.yml ,如下
#指定Kibana服务器监听的端口号
server.port: 5601
#指定Kibana服务器绑定的主机地址
server.host: "0.0.0.0"
#指定Kibana连接到的Elasticsearch实例的访问地址
elasticsearch.hosts: ["http://localhost:9200"]
#将 Kibana 的界面语言设置为简体中文
i18n.locale: "zh-CN"
(2) 直接运行 kibana.bat 即可
4. 分词器安装
直接拷贝到 plugins 即可。

!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。

浙公网安备 33010602011771号