本地使用ES
About 1 min
本地启动ES
修改max_map_count
docker network create elastic
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.10.3
docker run --name es01 --net elastic \
-p 9200:9200 \
-e discovery.type=single-node \
-e "xpack.security.enabled=false" \
-it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.10.3
加上面的两个环境变量,是在本地关闭了身份验证,安全性不能很好的保证,但是本地测试很方便。
其中在启动过程中会出现错误:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
本地使用的colima
启动的ES,需要增加colima里面的max_map_count
# 进入colima的shell
colima ssh
# 查看当前的 max_map_count 值
sysctl vm.max_map_count
# 临时增加 max_map_count 的值,这个命令会立即增加 max_map_count 的值,但是这个值在系统重启后会被重置。
sudo sysctl -w vm.max_map_count=262144
如果您希望在系统重启后仍然保留这个更改,
- 可以编辑
/etc/sysctl.conf
文件,并在文件末尾添加以下行:
vm.max_map_count=262144
保存文件并退出编辑器。
- 运行以下命令,以使新的 max_map_count 值生效:
sudo sysctl -p
这个命令会重新加载 /etc/sysctl.conf
文件,并使其中的更改生效。
一切就绪之后,使用如下命令检查ES是否正常启动。
curl http://localhost:9200/
在spring项目中使用ES
引入ES的依赖
implementation("org.opensearch.client:opensearch-rest-high-level-client:1.2.4")