Skip to main content

本地使用ES

huhxAbout 1 mindbDBElasticSearch

本地启动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")