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

相关推荐
喝醉酒的小白26 分钟前
Elasticsearch 中,分片(Shards)数量上限?副本的数量?
大数据·elasticsearch·jenkins
熟透的蜗牛3 小时前
Elasticsearch 8.17.1 JAVA工具类
elasticsearch
普通网友5 小时前
Stable Diffusion 图片背景完美替换
人工智能·搜索引擎·ai作画·stable diffusion·midjourney
九圣残炎7 小时前
【ElasticSearch】 Java API Client 7.17文档
java·elasticsearch·搜索引擎
risc1234569 小时前
【Elasticsearch】HNSW
elasticsearch
我的棉裤丢了10 小时前
windows安装ES
大数据·elasticsearch·搜索引擎
罗小罗同学11 小时前
人工智能的出现,给生命科学领域的研究带来全新的视角|行业前沿·25-01-22
人工智能·搜索引擎·生命科学
乙卯年QAQ12 小时前
【Elasticsearch】RestClient操作文档
java·大数据·elasticsearch·jenkins
AI_Tool12 小时前
纳米AI搜索官网 - 新一代智能答案引擎
人工智能·搜索引擎
超级阿飞16 小时前
利用Kubespray安装生产环境的k8s集群-实施篇
elasticsearch·容器·kubernetes