ElasticSearch 8.15.0 与 Kibana 8.15.0 尝鲜体验

  还不算晚,虽然已经距离发布过去了快半个月~

  跟着下面的步骤进行一步一步操作(CV),只需要改动一下用户名、密码这些数据即可从零开始用 Docker安装 ES 与 Kibana 最新版,据说 Kibana 还有 AI 助手嘞(虽然是 8.12 推出的)~

  最后强调一点,安装部署 ES 与 Kibana 的机器最低配置是2核4G,低于这个配置的可能会导致部署失败。如果只是部署 ES,那2核2G勉强能用(不建议)。

  关于最新版(或者8.x)具体有哪些新功能和特性,建议可以去网上找找资料,或者是查询官方文档

获取镜像

  第一步是拉取拉取镜像

bash 复制代码
docker pull elasticsearch:8.15.0
docker pull kibana:8.15.0

  如果服务器拉取不到镜像,可以先在本地制作好镜像(需要科学上网),能正常拉取的请忽视这一步,直接进行下一步。

bash 复制代码
docker save -o /images/elasticsearch.tar elasticsearch:8.15.0
docker save -o /images/kibana.tar kibana:8.15.0

  通过 scp 的方式传输到服务器文件目录中(注意将port、username与host替换成对应的端口号、用户名和主机号),或者直接通过本地文件传输的方式(更加保险),不过这里我采用 scp 方便一点(确保服务器有这个目标文件夹)

bash 复制代码
scp -P port /images/elasticsearch.tar username@host:/images
scp -P port /images/kibana.tar username@host:/images

  上述命令第一次执行可能会提醒:The authenticity of host '[xx.xx.xx.xxx]:xxxx ([xx.xx.xx.xxx]:xxxx)' can't be established.。意思是不确定这个主机是否存在,直接输入 yes 回车继续连接即可。然后就会让输入密码,密码输入之后就会开始传输,静静等待完成即可。

  传输完成之后,输入下面的命令加载进行

bash 复制代码
docker load -i /images/elasticsearch.tar
docker load -i /images/kibana.tar

准备工作

  镜像准备好之后,先创建网络

bash 复制代码
docker network create es-net

  创建 ES 与 Kibana 的挂载文件夹

bash 复制代码
mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
mkdir -p /usr/local/kibana/data /usr/local/kibana/config

  赋予权限

bash 复制代码
chmod 777  /usr/local/es/data
chmod 777  /usr/local/es/config
chmod 777  /usr/local/es/plugins
chmod 777 /usr/local/kibana/data
chmod 777 /usr/local/kibana/config

部署 ElasticSearch

  单机部署,运行 ES(如果不想开启权限认证,可以在下面的第八行指令中插入一行-e "xpack.security.enabled=false" \关闭认证,但是与之对应,会失去这部分的功能,生产环境下不建议关闭)

bash 复制代码
docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
-e ELASTIC_PASSWORD=123456 \
-e "xpack.security.http.ssl.enabled=false" \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:8.15.0

  访问 http://host:9200,第一次访问会要求输入密码,用户名默认为elastic,密码是设置的ELASTIC_PASSWORD,这里是123456,运行成功则能看到下面的页面

创建用户

  接着进入 es 容器,配置 Kibana 权限用户

bash 复制代码
docker exec -it es bash

  修改 Kibana 用户密码(如果用户名不想用kibana,可以换成别的,但是下面运行 Kibana 的环境变量ELASTICSEARCH_USERNAME要与之对应,否则 Kibana 无法正常启动)

bash 复制代码
curl -u elastic:123456 \
  -X POST \
  http://localhost:9200/_security/user/kibana/_password \
  -d '{"password":"'"123456"'"}' \
  -H 'Content-Type: application/json'

  创建超管角色(同理,admin_role 也可以换成别的,但下面创建用户时的 roles 要与之对应 ),如果想要创建其他权限的角色可以自行创建

bash 复制代码
curl -X PUT "http://localhost:9200/_security/role/admin_role" -H "Content-Type: application/json" -u elastic:123456 -d'
{
  "cluster": ["all"],
  "index": [
    {
      "names": ["*"],
      "privileges": ["all"]
    }
  ],
  "applications": [
    {
      "application": "*",
      "privileges": ["*"],
      "resources": ["*"]
    }
  ]
}
'

  创建超管用户( full_name与 email 可以不用设置,删掉就好,后续启动 Kibana 后可以再设置)

bash 复制代码
curl -X POST "http://localhost:9200/_security/user/admin" -H "Content-Type: application/json" -u elastic:123456 -d'
{
  "password" : "123456",
  "roles" : [ "admin_role" ],
  "full_name" : "Admin User",
  "email" : "admin@example.com"
}
'

运行 Kibana

  在/usr/local/kibana/config目录下创建一个 kibana.yml 文件,其中写上以下配置

yml 复制代码
# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true

# 汉化(有些部分还未来得及汉化)
i18n.locale: "zh-CN"

  运行 Kibana(注意,本人已经试验过了,内存为512M时启动会导致 OOM,所以这里至少给了1g)

bash 复制代码
docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_URL=http://es:9200 \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
-e ELASTICSEARCH_USERNAME=kibana \
-e ELASTICSEARCH_PASSWORD=123456 \
-v /usr/local/kibana/data:/usr/share/kibana/data \
-v /usr/local/kibana/config:/usr/share/kibana/config \
--memory=1g \
--memory-reservation=1g \
kibana:8.15.0

  运行成功之后访问http://host:5601,会要求输入账号密码,输入创建好的超管账密登录即可 (使用创建的其他角色时权限要给够,否则会出现You do not have permission to access the requested page报错,无法正常进入 )

  看到这个画面时,就证明 Kibana 与 ES 已经部署成功。至于 AI Assistant ,点击 Security 进入后就可以在右上角看到。该功能是收费的,但是可以免费试用 30天。

  点击 Manage license 就可以看到

安装 IK 分词器

  进入 ES 容器

bash 复制代码
docker exec -it es /bin/bash

  执行下面的命令,输入 y 回车即可安装分词器

bash 复制代码
./bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.15.0

  安装之后,在 Kibana 的 Management 中有一个开发工具可以进行分词测试

  先写一个 GET 请求

bash 复制代码
GET /_analyze
{
  "analyzer": "ik_smart",
  "text": "一个人要想使自己的人生有所造就,就必须懂得在关键时刻把自己带到人生的悬崖,给自己一片悬崖其实就是给自己一片蔚蓝的天空啊。------王新文《知音》"
}

  然后点击执行,就可以看到右边出现的分词结果

  上面使用的是ik_smart(最少切分)模式,还有一种ik_max_word(最细切分)模式

bash 复制代码
GET /_analyze
{
  "analyzer": "ik_max_word",
  "text": "一个人要想使自己的人生有所造就,就必须懂得在关键时刻把自己带到人生的悬崖,给自己一片悬崖其实就是给自己一片蔚蓝的天空啊。------王新文《知音》"
}

  到此,ES 与 Kibana 安装结束,其他的功能请自行探索吧~

相关推荐
2601_955760079 小时前
如何用 Claude Opus 5 API 批量扩展长尾关键词和文章选题
前端·python·搜索引擎
Litluecat9 小时前
2026年7月21日科技热点新闻
人工智能·科技·搜索引擎·新闻·每日
Elastic 中国社区官方博客9 小时前
不到 5 分钟完成本地部署:Jina embedding 模型现已支持本地部署
大数据·人工智能·elasticsearch·搜索引擎·embedding·jina
二进制流水搬运工9 小时前
入职第一天拉了23个仓库,我写了个脚本解放双手
大数据·elasticsearch·搜索引擎
Elasticsearch10 小时前
在不到一小时内将 Datadog Kubernetes 仪表板迁移到 Elastic Observability
elasticsearch
.柒宇.11 小时前
Elasticsearch 核心概念与系统架构详解
elasticsearch·系统架构
风行無痕13 小时前
单机Elasticsearch 8.19.18安全升级到9.4.3的过程
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客15 小时前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
大数据·运维·前端·人工智能·elasticsearch·搜索引擎·全文检索
zqrgkjyxgs16 小时前
GEO垂直行业实战:医疗、制造、教育、金融的分行业差异化优化策略
大数据·人工智能·搜索引擎
阿拉雷️16 小时前
【搜索实战】Spring Boot 3.3 + AI Agent × Elasticsearch:让AI自动优化搜索策略,查询速度从2秒压到50毫秒
人工智能·spring boot·elasticsearch