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 安装结束,其他的功能请自行探索吧~

相关推荐
铭毅天下1 小时前
Easysearch 版本进化全图——从 ES 国产替代到 AI Native 搜索数据库
大数据·数据库·人工智能·elasticsearch·搜索引擎
Elastic 中国社区官方博客7 小时前
在 Elasticsearch 中,存储向量查询速度最高提升 3 倍
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
海兰8 小时前
从原始日志到系统知识:补齐 AI 可观测性的“上下文层“
人工智能·elasticsearch
老陈头聊SEO10 小时前
生成引擎优化(GEO)助推内容创作和用户体验的有效策略与实践分享
其他·搜索引擎·seo优化
逆境不可逃10 小时前
【与我学 ClaudeCode】规划与协调篇 之 Skills:按需加载的领域知识框架
大数据·人工智能·elasticsearch·搜索引擎·agent·claudecode
奋斗的老史10 小时前
LangChain4j + Elasticsearch 实现企业级向量存储(支持混合检索、元数据过滤)
elasticsearch·langchain4j
做个文艺程序员11 小时前
第02篇:搭建 ES 集群 + Spring Boot 整合实战——从 Docker Compose 到 Java 客户端全覆盖
java·spring boot·elasticsearch
renhongxia112 小时前
用知识图谱重构搜索引擎
人工智能·搜索引擎·重构·分类·语音识别·知识图谱
沅柠-AI营销12 小时前
AI 浪潮席卷当下,品牌如何破局前行?新时代品牌经营生存与增长策略
人工智能·搜索引擎·品牌营销·商业思维·ai营销·商业增长
逸Y 仙X12 小时前
文章二:Elasticsearch跨集群能力探查
java·大数据·服务器·elasticsearch·搜索引擎·全文检索