Windows 安装 Elasticsearch8.7.1 (ik分词器 + 单节点模式) + Kibana8.7.1
> 注:在 `windows` 上安装大部分是为了本地开发时更方便,单节点基本够用 # Elasticsearch > 官方教程:[Install Elasticsearch with .zip on Windows](https://www.elastic.co/guide/en/elasticsearch/reference/8.5/zip-windows.html) ## 下载 ### Elasticsearch 下载地址:[https://www.elastic.co/cn/downloads/past-releases#elasticsearch](https://www.elastic.co/cn/downloads/past-releases#elasticsearch) > 因为 `Spring Boot 3.1.1` 对应的 `Spring Data Elasticsearch 5.1.1` 对应的 `Elasticsearch` 的版本为 `8.7.1` ,所以本文以此版本为例 打开下载地址, `Versions` 选择 `8.7.1` ,点击 `Download` ,再点击 `WINDOWS` 下载即可 ### elasticsearch-analysis-ik > ik中文分词器,推荐必装 下载地址:[https://github.com/medcl/elasticsearch-analysis-ik/releases](https://github.com/medcl/elasticsearch-analysis-ik/releases) 下载对应的 `8.7.0` 版本 `zip` 包。注意!是`zip`包! PS:由于作者未更新至 `8.7.1` ,所以只能下载 `8.7.0` 的包 ## 解压、移动、重命名 1. 解压 `elasticsearch-8.7.1-windows-x86_64.zip` ,解压后移动到自定义的软件目录并重命名,例如:`C:\development\`目录下 2. 解压 `elasticsearch-analysis-ik-8.7.0.zip` ,解压后重命名文件夹为 `ik`,并移动到 `elasticsearch` 的 `plugins` 目录下 ## 配置 ### elasticsearch 配置文件 编辑配置文件: `config/elasticsearch.yml` ```ini # 修改如下设置 # 1. 节点名称(名称任意即可,若不设置则为系统的hostname) node.name: node-1 # 2. 允许远程访问 network.host: 0.0.0.0 # 3. 设置单节点启动(在文件结尾添加) discovery.type: single-node # 4. 关闭IP信息下载(在文件结尾添加) ingest.geoip.downloader.enabled: false ``` ### jvm配置 编辑配置文件:`config/jvm.options` ```ini -Xms512m -Xmx512m ``` ### ik 分词器插件配置 编辑配置文件: `plugins/ik/plugin-descriptor.properties` 将文档结尾的 `elasticsearch.version=8.7.0` 修改为 `elasticsearch.version=8.7.1` ## 首次启动 首次启动时,需要使用 `elasticsearch.bat` 脚本,该脚本会自动生成秘钥以及初始密码等信息 打开 `cmd` 进入到 `elasticsearch` 安装目录 ```bash # 切换 cmd 至 utf-8 (仅第一次启动时需要,因为部分启动信息会乱码,后续做其他动作无需切换语言) chcp 65001 # 执行启动 .\bin\elasticsearch.bat ``` 第一次启动完成会看到如下类似信息: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ Elasticsearch security features have been automatically configured! ✅ Authentication is enabled and cluster connections are encrypted. ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`): q5EM9KXlkZPCd9LwvtBq ℹ️ HTTP CA certificate SHA-256 fingerprint: d0aaad255603aea01564802a1053437fa60b4eef0b2bd8ee1ff5da6be2b5165b ℹ️ Configure Kibana to use this cluster: • Run Kibana and click the configuration link in the terminal when Kibana starts. • Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes): eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxMC4wLjguMjo5MjAwIl0sImZnciI6ImQwYWFhZDI1NTYwM2FlYTAxNTY0ODAyYTEwNTM0MzdmYTYwYjRlZWYwYjJiZDhlZTFmZjVkYTZiZTJiNTE2NWIiLCJrZXkiOiIwT21xcW9VQlplREhjYWlXRjhWTjozcHRGbU9ILVFQR0dRLTJTUXpyeHRnIn0= ℹ️ Configure other nodes to join this cluster: • Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes): eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxMC4wLjguMjo5MjAwIl0sImZnciI6ImQwYWFhZDI1NTYwM2FlYTAxNTY0ODAyYTEwNTM0MzdmYTYwYjRlZWYwYjJiZDhlZTFmZjVkYTZiZTJiNTE2NWIiLCJrZXkiOiJ6dW1xcW9VQlplREhjYWlXRjhWSzptWFBOOUxTblQyMjJZaHFaVmlmeTdRIn0= If you're running in Docker, copy the enrollment token and run: `docker run -e "ENROLLMENT_TOKEN=<token>" docker.elastic.co/elasticsearch/elasticsearch:8.5.3` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 注意:上文信息中有两个比较重要的信息 1. `Password for the elastic user ...` 下面的一串字符,即默认用户 `elastic` 的密码 2. `Configure Kibana to use this cluster ...` 下面额一长串字符,下文配置 `Kibana` 会用到,请临时保存 ## 访问 浏览器访问:`https://[ip]:9200`,注意是 `https` 协议,默认用户名为 `elastic` ,密码在上文的启动成功的信息中显示 注:密码只会在控制台输出,不会在日志中记录,如需重置密码,请在打开一个新的 `cmd` 窗口进入 `elasticsearch` 安装目录并执行 `.\bin\elasticsearch-reset-password -u elastic` ,根据提示输入 `y` 并回车,新密码将在控制台显示 访问成功后可以看到如下类似信息 ```json { "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "-A56ebcVTWyBNLNkir86hA", "version" : { "number" : "8.7.1", "build_flavor" : "default", "build_type" : "zip", "build_hash" : "f229ed3f893a515d590d0f39b05f68913e2d9b53", "build_date" : "2023-04-27T04:33:42.127815583Z", "build_snapshot" : false, "lucene_version" : "9.5.0", "minimum_wire_compatibility_version" : "7.17.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search" } ``` 此时就可以命令行中执行 `Ctrl + c` 关闭进程 ## 安装至系统服务 ### 安装 继续在上文的 `cmd` 窗口中(如果关闭了就重新打开并进入 `elasticsearch` 安装目录),执行如下命令安装为系统服务 ```bash .\bin\elasticsearch-service.bat install ``` 执行如下命令打开服务管理工具 ```bat .\bin\elasticsearch-service.bat manager ``` 在弹出的窗口中执行以下操作 - 点击 `Start` 启动服务 - 将 `Startup type` 修改为 `Automatic` (也可以选择 `Automatic(Delayed Start)` 延迟启动)并点击 `确定` ### 卸载 卸载的时候需要先停止进程,再删除系统服务 打开 `cmd` 并进入 `elasticsearch` 安装目录 执行如下命令打开服务管理工具 ```bat .\bin\elasticsearch-service.bat manager ``` 在弹出的窗口点击 `Stop` 停止服务 执行如下命令卸载服务 ```bash .\bin\elasticsearch-service.bat remove ``` # Kibana > 官方教程:[Install Kibana on Windows](https://www.elastic.co/guide/en/kibana/8.5/windows.html) ## 下载 下载地址:[https://www.elastic.co/cn/downloads/past-releases#kibana](https://www.elastic.co/cn/downloads/past-releases#kibana) 打开下载地址, `Versions` 选择 `8.7.1` ,点击 `Download` ,再点击 `WINDOWS` 下载即可 ## 解压、移动、重命名 解压 `kibana-8.7.1-windows-x86_64.zip` ,解压后移动到自定义的软件目录并重命名,例如:`C:\development\`目录下 ## 配置 ### Kibana 配置文件 编辑配置文件: `config/kibana.yml` 修改 `server.host: 0.0.0.0` 即可 ### token 配置 首先,确保上文中 `Elasticsearch` 启动成功后的 `token` 已经获取到且在半小时内( `token` 有效期为半小时) 如果忘记 `token` 或者超时了,打开 `cmd` 并进入 `elasticsearch` 安装目录,执行以下命令重新生成即可 ```bash .\bin\elasticsearch-create-enrollment-token -s kibana ``` 打开 `cmd` 并进入 `kibana` 安装目录,执行以下命令 ```bash .\bin\kibana-setup ``` 将上文中的 `token` 粘贴进去并回车,此时会提示 `Kibana configured successfully.` ,此时再查看 `config/kibana.yml` 文件末尾会有一些 `elasticsearch` 的相关信息 ## 启动 文件管理器进入 `kibana\bin` 目录,双击 `kibana.bat` 即可启动服务 注: `kibana` 下面暂时没有脚本可以注册为系统服务实现开机自启,建议将 `kibana.bat` 发送到桌面快捷方式,需要使用时双击即可 ## 访问 浏览器访问:`http://[ip]:5601`,注意是 `http` 协议,默认用户名为 `elastic` ,密码是上文中对应的密码