Docker安装elasticsearch

docker官网

https://hub.docker.com/_/elasticsearch 

https://hub.docker.com/_/kibana 

https://hub.docker.com/_/logstash 

ELK官网

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html 

基础镜像

  • ELK官网镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.7.0 

  • docker官网镜像

docker pull elasticsearch:7.7.0 

docker pull kibana:7.7.0 

前置条件

  • 文件创建数

修改Linux系统的限制配置,将文件创建数修改为65536个 : 

1. 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多

创建的文件是65535个。但是ES至少需要65536的文件创建数的权限。

2. 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可

以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。

vi /etc/security/limits.conf 

#新增如下内容在limits.conf文件中 

es soft nofile 65536 

es hard nofile 65536 

es soft nproc 4096 

es hard nproc 4096

  • 系统控制权限

修改系统控制权限,ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存。

vi /etc/sysctl.conf 

添加参数:新增如下内容在sysctl.conf文件中,当前用户拥有的内存权限大小 

vm.max_map_count=262144 

重启生效:让系统控制权限配置生效 

sysctl -p

  • 创建挂载目录并授权

mkdir -p /data/elasticsearch

chmod 777 -R  /data/elasticsearch

docker安装elasticsearch

1.拉取elasticsearch镜像

docker pull elasticsearch:7.7.0

Docker安装elasticsearch_第1张图片

2.拉取kibana镜像

docker pull kibana:7.7.0

Docker安装elasticsearch_第2张图片

3.试运行

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.7.0

4.将需要挂载的目录和文件copy出来 

docker cp elasticsearch://usr/share/elasticsearch/data /data/elasticsearch/

docker cp elasticsearch://usr/share/elasticsearch/plugins /data/elasticsearch/

docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /data/elasticsearch/

5.删除试运行的容器

docker rm -f elasticsearch

 6.修改copy出来的elasticsearch.yml

vi elasticsearch.yml

cluster.name: "docker-cluster"

network.host: 0.0.0.0

http.cors.enabled: true

http.cors.allow-origin: "*"

 Docker安装elasticsearch_第3张图片

7.编写Dockerfile文件,自定义镜像

FROM elasticsearch:7.7.0
MAINTAINER elasticsearch-zh from date UTC by Asia/Shanghai "[email protected]"
ENV TZ Asia/Shanghai
COPY elasticsearch.yml /usr/share/elasticsearch/config/

8.将Dockerfile文件上传至服务器/data/elasticsearch目录下

docker build -t zql/elasticsearch:7.7.0 .

Docker安装elasticsearch_第4张图片

 9.编写docker-compose.yml文件

version: '3'
services:
  elasticsearch:
    image: zql/elasticsearch:7.7.0
    container_name: es
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    restart: always
    volumes:
      - "/data/elasticsearch/data:/usr/share/elasticsearch/data"
      - "/data/elasticsearch/plugins:/usr/share/elasticsearch/plugins"
  kibana:
    image: kibana:7.7.0
    container_name: kibanna7
    ports:
      - 5601:5601
    restart: always
    depends_on:
      - elasticsearch

10.根据docker-compose运行容器

docker-compose up -d

 访问测试:

http://192.168.8.128:5601

Docker安装elasticsearch_第5张图片

 

大功告成。

你可能感兴趣的:(elasticsearch,docker,大数据,后端)