← 返回首页
Docker安装Elasticsearch7.17.9
发表时间:2023-02-24 21:29:26
Docker安装Elasticsearch7.17.9

Docker安装Elasticsearch7.17.9

1.设置max_map_count

查看max_map_count的值: 默认是65530

[root@localhost data-docker]# cat /proc/sys/vm/max_map_count
65530

[root@localhost data-docker]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144

2.拉取镜像

#拉取镜像
docker pull elasticsearch:7.17.9

#查看镜像
docker images

3.创建Elasticsearch容器

#1、创建Elasticsearch配置文件夹
mkdir -p /usr/local/data-docker/elasticsearch/config
​
#2、创建Elasticsearch数据文件夹
mkdir -p /usr/local/data-docker/elasticsearch/data
​
#3、创建Elasticsearch插件文件夹(如:ik)
mkdir -p /usr/local/data-docker/elasticsearch/plugins
​
#说明:目的将CentOS本地的文件夹映射到Elasticsearch容器,以实现容器数据的持久化到CentOS本地,以及通过CentOS本地文件夹内容的修改同步到容器

#创建并写入elasticsearch.yml配置,注意:http.host: 0.0.0.0 冒号后有一空格
echo "http.host: 0.0.0.0">>/usr/local/data-docker/elasticsearch/config/elasticsearch.yml

给elasticsearch文件夹赋权

chmod -R 777 elasticsearch/

启动容器:

docker run --name elasticsearch -p 9200:9200 \
 -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
  -v /usr/local/data-docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /usr/local/data-docker/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /usr/local/data-docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 -d elasticsearch:7.17.9

查看容器是否启动成功:

[root@localhost data-docker]# docker ps -a

4.测试

浏览器访问ip:9200 如果出现以下界面就是安装成功!

为了避免出现elasticsearch启动后,报java.lang.OutOfMemoryError: Java heap space的错误,建议修改容器内的config目录下jvm.options文件。

-Xms4g     # 设置最小堆为4g
-Xmx4g     # 设置最大堆为4g

5.Docker启动容器自启

docker update --restart=always elasticsearch

6.安装elasticsearch-head

#拉取镜像
docker pull mobz/elasticsearch-head:5

#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

#启动容器
docker start elasticsearch-head

解决跨域问题,需要在服务端做CORS的配置。

cd /usr/local/data-docker/elasticsearch/config/elasticsearch.yml

vim elasticsearch.yml

在最下面添加2行:

http.cors.enabled: true 
http.cors.allow-origin: "*"

浏览器打开: http://IP:9100