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/

相关推荐
志远有18CM16 分钟前
MacOS 通过Docker安装宝塔面板搭建PHP开发环境
macos·docker·php·宝塔
m0_583105908 小时前
Dockerfile的使用
docker·容器
檀越剑指大厂9 小时前
【Docker系列】Docker 镜像源:优化你的容器化开发流程
运维·docker·容器
学点儿啥10 小时前
docker基础知识以及windows上的docker desktop 安装
windows·docker·容器
日日行不惧千万里11 小时前
docker compose down -v 是什么意思
运维·docker·容器
Du_XiaoNan13 小时前
SpringCloud第一篇Docker基础
spring·spring cloud·docker
许墨の小蝴蝶13 小时前
使用Dockerfile和ENTRYPOINT运行Python 3脚本
python·docker
howard_shooter13 小时前
docker pull 报错:missing signature key,docker版本问题
docker
测试界柠檬13 小时前
安全测试之使用Docker搭建SQL注入安全测试平台sqli-labs
自动化测试·软件测试·sql·功能测试·docker·容器·职场和发展
天航星16 小时前
Docker 安装字体文件
运维·docker·容器