系统环境:Mac M1 (MacOS Sonoma 14.3.1)
一、准备
从Elasticsearch:官方分布式搜索和分析引擎 | Elastic上下载ElasticSearch和Kibana
笔者下载的是
elasticsearch-8.13.2-darwin-aarch64.tar.gz
kibana-8.13.2-darwin-aarch64.tar.gz
并放置到个人文件夹下,解压(Mac可直接双击解压)
tar -zxvf elasticsearch-8.13.2-darwin-aarch64.tar.gz
tar -zxvf kibana-8.13.2-darwin-aarch64.tar.gz
二、配置ElasticSearch
ElasticSearch直接启动
cd elasticsearch-8.13.2/bin
./elasticsearch
发现占用内存过大:
先关闭ES,打开elasticsearch-8.13.2/config/jvm.options修改内存配置,放开内存配置的代码,设置最小内存为4g,最大内存改为16g,保存,并重新启动ES。
-Xms4g
-Xmx16g
注意:
1. MacOS在启动ES的过程中可能会有如下警告:
warning: ignoring JAVA_HOME=/opt/jdk-17.0.8.jdk/Contents/Home; using bundled JDK
可直接忽略,ES不用本机的JDK,而用其自带的JDK
2. 启动是可能会有如下问题:
elasticsearch 无法打开“jdk”,因为Apple无法检查其是否包含恶意软件。
此时,一般打开【系统设置】,找到【隐私和安全】,然后在页面上找到拦截的地方,选择【仍要打开】,点击输入密码。但这种做法在这里往往不能奏效,奏效的做法是运行:
sudo spctl --master-disable
直接全局禁用新安全检查即可。
三、配置ElasticSearch账号密码
ES启动之后需要重置用户名为elastic的账号的密码,后续在kibana界面登录中需要用到。
保持ES启动状态,另起一个终端,切换到elasticsearch-8.13.2/bin下,运行:
cd elasticsearch-8.13.2/bin
./elasticsearch-reset-password -u elastic
中间询问:Please confirm that you would like to continue [y/N]
直接输入y即可。确认之后会直接显示重置后的密码,注意记录下来。
参考:elasticsearch-reset-password | Elasticsearch Guide [8.13] | Elastic
四、配置kibana
【可选配置】由于习惯中文,所以配置kibana的语言为中文。打开kibana-8.13.2/config下的kibana.yml文件,找到i18n.locale配置项,把原先注释掉的打开,修改如下:
i18n.locale: "zh-CN"
保存配置后直接启动kibana
cd kibana-8.13.2/bin
./kibana
看到如下信息,表示服务启动成功:
启动后,在浏览器中输入http://localhost:5601/,显示如下界面(需要输入注册的令牌):
此时,再新建一个终端(第3个了),切换到elasticsearch-8.13.2/bin下,执行以下命令进行令牌(token)生成:
cd elasticsearch-8.13.2/bin
./elasticsearch-create-enrollment-token --scope kibana
执行后会生成一个令牌:
将生成的令牌粘贴到kibana界面中进行注册:
输入后点击【配置Elastic】,提示需要验证码:
验证码在kibana启动服务的终端上直接就有,把它粘贴进去:
经过短暂的初始化后显示账号密码登录界面,用户名输入elatic,密码输入第三章中重置后的密码:
登录后,即可看到如下界面:
常用的ES的各种操作都在【开发工具】中,开始用起来了~~
五、总结
配置过程中尽量不改ElasticSearch和Kibana的配置文件,尤其是涉及到host、账号、密码之类的。
注意事项:
1. 不要随便修改kibana.yml中的以下两行,尽量保持原状:
#elasticsearch.username: "kibana_system"
#elasticsearch.password: "pass"
不然稍有不慎,Kibana在启动时可能会出现如下问题:
[ERROR][elasticsearch-service] Unable to retrieve version information from Elasticsearch nodes. socket hang up - Local: 127.0.0.1:56113, Remote: 127.0.0.1:9200
2. 不要随便修改elasticsearch.yml中的以下行,尽量保持原状:
#network.host: 192.168.0.1
不然稍有不慎,Kibana在启动时可能会出现如下问题:
[ERROR][plugins.interactiveSetup.elasticsearch] Failed to authenticate with host "https://localhost:9200": ""
参考:
Install Kibana from archive on Linux or macOS | Kibana Guide [8.13] | Elastic