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/

相关推荐
小Lu的开源日常3 小时前
如何使用 GitHub Action 发布 Docker 镜像
docker·开源·github
神秘人X7073 小时前
docker安装
docker·容器·eureka
失因3 小时前
Docker 容器与镜像
java·运维·spring cloud·docker·容器
耳东哇3 小时前
sentinel docker gateway k8s 集群 主从
docker·gateway·sentinel
ICollection5 小时前
银河麒麟下Redis的安装和集群配置
redis·集群·银河麒麟·国防版
费益洲7 小时前
Docker 网络详解:(二)虚拟网络环境搭建与测试
docker·容器
郁大锤7 小时前
Docker 中删除镜像与容器的完整指南
运维·docker·容器
xx.ii7 小时前
docker镜像和容器
docker·容器·eureka
johnny2337 小时前
Docker Desktop实战、问题记录
docker
Lin_Aries_042121 小时前
容器化 Flask 应用程序
linux·后端·python·docker·容器·flask