从零开始的Docker [ 8 ] --- Docker-compose Elastic Stack,Docker-compose Logstash

容器技术 Docker 应用

一、Docker-compose Elastic Stack

官方地址

1.配置

[root@elk ~]# mkdir elk
[root@elk ~]# cd elk/
[root@elk elk]# ls
docker-compose.yml
[root@elk elk]# vi docker-compose.yml 
version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
    container_name: es01
    environment:

   - node.name=es01
     cluster.name=es-docker-cluster
        - discovery.seed_hosts=es02,es03
          cluster.initial_master_nodes=es01,es02,es03
             - bootstrap.memory_lock=true
               "ES_JAVA_OPTS=-Xms512m -Xmx512m"
                   ulimits:
                     memlock:
               soft: -1
               hard: -1
                   volumes:
                  - data01:/usr/share/elasticsearch/data
                    rts:
                       - 9200:9200
                         tworks:
                            - elastic
                              es02:
                                  image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
                                  container_name: es02
                                  environment:
                                 - node.name=es02
                                   cluster.name=es-docker-cluster
                                      - discovery.seed_hosts=es01,es03
                                        cluster.initial_master_nodes=es01,es02,es03
                                           - bootstrap.memory_lock=true
                                             "ES_JAVA_OPTS=-Xms512m -Xmx512m"
                                                 ulimits:
                                                   memlock:
                                             soft: -1
                                             hard: -1
                                                   nproc: 65535
                                                   nofile: 65535
                                                 volumes:
                                                - data02:/usr/share/elasticsearch/data
                                                  tworks:
                                                     - elastic
                                                       es03:
                                                           image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
                                                           container_name: es03
                                                           environment:
                                                          - node.name=es03
                                                            cluster.name=es-docker-cluster
                                                               - discovery.seed_hosts=es01,es02
                                                                 cluster.initial_master_nodes=es01,es02,es03
                                                                    - bootstrap.memory_lock=true
                                                                      "ES_JAVA_OPTS=-Xms512m -Xmx512m"
                                                                          ulimits:
                                                                            memlock:
                                                                      soft: -1
                                                                      hard: -1
                                                                            nproc: 65535
                                                                            nofile: 65535
                                                                          volumes:
                                                                         - data03:/usr/share/elasticsearch/data
                                                                           tworks:
                                                                              - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

[root@elk elk]# free -h
              total        used        free      shared  buff/cache   available
Mem:           2.8G        351M        1.8G        9.5M        601M        2.3G
Swap:          2.0G          0B        2.0G
[root@elk elk]# docker stop `docker ps -qa`
97818382c41a
de03cb92ac93

2.内存映射

直接在这个文件内写入 /etc/sysctl.conf
[root@elk elk]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
[root@elk elk]# sysctl -p
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
vm.max_map_count = 262144
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
kernel.sysrq = 1

增加nofilenproculimit

docker run --rm centos:8 /bin/bash -c 'ulimit -Hn && ulimit -Sn && ulimit -Hu && ulimit -Su'

3.启动

[root@elk elk]# docker-compose up 
Creating network "elk_elastic" with driver "bridge"
Creating volume "elk_data01" with local driver
Creating volume "elk_data02" with local driver
Creating volume "elk_data03" with local driver
...

查看端口

[root@elk ~]# cd elk/
[root@elk elk]# ls
docker-compose.yml
[root@elk elk]# docker-compose ps

Name              Command               State                Ports              
--------------------------------------------------------------------------------

es01   /tini -- /usr/local/bin/do ...   Up      0.0.0.0:9200->9200/tcp, 9300/tcp
es02   /tini -- /usr/local/bin/do ...   Up      9200/tcp, 9300/tcp              
es03   /tini -- /usr/local/bin/do ...   Up      9200/tcp, 9300/tcp

4.访问测试

[root@elk elk]# curl -X GET "localhost:9200/_cat/nodes?v=true&pretty"
ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role  master name
172.27.0.3           29          97  22    0.81    1.22     2.01 cdhilmrstw -      es02
172.27.0.4           49          97  23    0.81    1.22     2.01 cdhilmrstw -      es01
172.27.0.2           35          97  23    0.81    1.22     2.01 cdhilmrstw *      es03


[root@elk elk]# cat docker-compose.yml 
version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.4
    container_name: cerebro

    # 浏览器中访问宿主机的 9000 端口即可

    # 访问到集群的信息

​    ports:

   - "9000:9000"
     mmand:

      # 用于此容器访问elasticsearch 集群的节点 es01

   - -Dhosts.0.host=http://es01:9200
     tworks:
        - elastic

  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nproc: 65535
      nofile: 65535
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nproc: 65535
      nofile: 65535
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nproc: 65535
      nofile: 65535
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

二、Docker-compose Logstash

下载镜像


docker run --rm -it -v ~/pipeline/:/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:7.10.2

1.配置

官方地址

默认文件路径:
管道配置文件:

/usr/share/logstash/pipeline/logstash.conf

配置文件:

/usr/share/logstash/config/logstash.yml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值