docker compose部署opensearch集群

docker compose 配置

假设有两台电脑

A电脑的ip为192.168.1.100

B电脑的ip为192.168.1.103

A电脑的docker compose 配置

bash 复制代码
version: '3'

services:
      
  opensearch:
    image: opensearchproject/opensearch:2.1.0
    container_name: opensearch-node-1
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node-1
      - network.publish_host=192.168.1.100
      - discovery.seed_hosts=192.168.1.100,192.168.1.103
      - cluster.initial_cluster_manager_nodes=192.168.1.100,192.168.1.103
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
      - DISABLE_INSTALL_DEMO_CONFIG=true
      - DISABLE_SECURITY_PLUGIN=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - opensearch-data:/usr/share/opensearch/data
      - opensearch-config:/usr/share/opensearch/config

volumes:
  opensearch-data:
  opensearch-config:

B电脑的docker compose 配置

bash 复制代码
version: '3'

services:
      
  opensearch:
    image: opensearchproject/opensearch:2.1.0
    container_name: opensearch-node-3
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node-3
      - network.publish_host=192.168.1.103
      - discovery.seed_hosts=192.168.1.100,192.168.1.103
      - cluster.initial_cluster_manager_nodes=192.168.1.100,192.168.1.103
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
      - DISABLE_INSTALL_DEMO_CONFIG=true
      - DISABLE_SECURITY_PLUGIN=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - opensearch-data:/usr/share/opensearch/data
      - opensearch-config:/usr/share/opensearch/config

volumes:
  opensearch-data:
  opensearch-config:

设置内存

临时

bash 复制代码
sysctl -w vm.max_map_count=262144

永久

Disable memory paging and swapping performance on the host to improve performance.

禁用主机上的内存分页和交换性能以提高性能。

ps:这个看情况,内存大的话,也可以关掉

bash 复制代码
sudo swapoff -a

Increase the number of memory maps available to OpenSearch.

增加OpenSearch可用的内存映射数量。

bash 复制代码
# Edit the sysctl config file
sudo vi /etc/sysctl.conf

# Add a line to define the desired value
# or change the value if the key exists,
# and then save your changes.
vm.max_map_count=262144

# Reload the kernel parameters using sysctl
sudo sysctl -p

# Verify that the change was applied by checking the value
cat /proc/sys/vm/max_map_count

两边同时启动

bash 复制代码
docker compose up -d

nginx设置集群

bash 复制代码
    server {
        listen       9200;
        location / {
            proxy_pass http://opensearch/;
			proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
            proxy_set_header X-Forwarded-Host $http_host;

        }
    }
	upstream opensearch {
		server 192.168.1.100:9200;
		server 192.168.1.103:9200;
	}

参考

https://www.cnblogs.com/lz0925/p/12011026.html

https://opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/

相关推荐
敲上瘾6 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
伊成8 小时前
Docker 部署 Nginx 完整指南
nginx·docker·容器
落日漫游9 小时前
K8s核心组件全解析
运维·docker·运维开发
江湖有缘13 小时前
【Docker项目实战】使用Docker部署Notepad轻量级记事本
docker·容器·notepad++
BTU_YC14 小时前
docker compose部署mysql
mysql·adb·docker
Python私教16 小时前
Docker in Test:用一次性的真实环境,终结“测试永远跑不通”魔咒
运维·docker·容器
UPToZ18 小时前
【Docker】搭建一个高性能的分布式对象存储服务 - MinIO
分布式·docker·容器
我不要放纵1 天前
docker
运维·docker·容器
奥格列的魔法拖鞋~1 天前
Docker-LNMP架构 创建多项目- 单个ngixn代理多个PHP容器服务
nginx·docker·eureka·架构·php·lnmp
为什么要内卷,摆烂不香吗2 天前
Docker容器技术全面解析(一):入门
docker·微服务·容器