# solr

# 一、 配置zookeeper(挂载容器文件同测试服)

# 1、node1 yml

version: '3'
services:
  zookeeper-A:
    image: zookeeper:3.4.11
    ports:
    - "2181:2181"
    - "2888:2888"
    - "3888:3888"
    container_name: zookeeper-A
    restart: always
    volumes:
    - ./zoo/data:/data
    - ./zoo/datalog:/datalog
    environment:
      TZ: Asia/Shanghai
      ZOO_MY_ID: 1
      ZOO_PORT: 2181
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=172.18.208.33:2888:3888 server.3=172.18.208.34:2888:3888

# 2、node2yml

version: '3'
services:
  zookeeper-B:
    image: zookeeper:3.4.11
    ports:
    - "2181:2181"
    - "2888:2888"
    - "3888:3888"
    container_name: zookeeper-B
    restart: always
    volumes:
    - ./zoo/data:/data
    - ./zoo/datalog:/datalog
    environment:
      TZ: Asia/Shanghai
      ZOO_MY_ID: 2
      ZOO_PORT: 2181
      ZOO_SERVERS: server.1=172.18.208.32:2888:3888 server.2=0.0.0.0:2888:3888 server.3=172.18.208.34:2888:3888

# 3、node3 yml

version: '3'
services:
  zookeeper-C:
    image: zookeeper:3.4.11
    ports:
    - "2181:2181"
    - "2888:2888"
    - "3888:3888"
    container_name: zookeeper-C
    restart: always
    volumes:
    - ./zoo/data:/data
    - ./zoo/datalog:/datalog
    environment:
      TZ: Asia/Shanghai
      ZOO_MY_ID: 3
      ZOO_PORT: 2181
      ZOO_SERVERS: server.1=172.18.208.32:2888:3888 server.2=172.18.208.33:2888:3888 server.3=0.0.0.0:2888:3888

# 4、启动: 在三台机器分别运行以下命令

cd /data0/zoo
docker-compose up -d

# 二、配置solr(挂载容器文件同测试服)

# 1、 node1 yml

version: '3'
services:
  solr-1:
    image: solr:7.6.0
    ports:
    - "8983:8983"
    container_name: solr-1
    networks:
    - solr-1
    restart: always
    #    privileged: true
    volumes:
    - ./solr/bin/solr.in.cmd:/opt/solr/bin/solr.in.cmd
    - ./solr/bin/solr.in.sh:/opt/solr/bin/solr.in.sh
    - ./solr/server/solr/configsets:/opt/solr/server/solr/configsets
    - ./solr/server/solr/solr.xml:/opt/solr/server/solr/solr.xml
    - ./solr/server/etc:/opt/solr/server/etc
    - ./solr/server/solr-webapp:/opt/solr/server/solr-webapp
    - ./solr/server/contexts:/opt/solr/server/contexts
    environment:
      ZK_HOST: 172.18.208.32:2181,172.18.208.33:2181,172.18.208.34:2181
networks:
  solr-1:
    driver: bridge

# 2、 node2 yml

version: '3'
services:
  solr-1:
    image: solr:7.6.0
    ports:
    - "8983:8983"
    container_name: solr-2
    networks:
    - solr-2
    restart: always
    #    privileged: true
    volumes:
    - ./solr/bin/solr.in.cmd:/opt/solr/bin/solr.in.cmd
    - ./solr/bin/solr.in.sh:/opt/solr/bin/solr.in.sh
    - ./solr/server/solr/configsets:/opt/solr/server/solr/configsets
    - ./solr/server/solr/solr.xml:/opt/solr/server/solr/solr.xml
    - ./solr/server/etc:/opt/solr/server/etc
    - ./solr/server/solr-webapp:/opt/solr/server/solr-webapp
    - ./solr/server/contexts:/opt/solr/server/contexts
    environment:
      ZK_HOST: 172.18.208.32:2181,172.18.208.33:2181,172.18.208.34:2181
networks:
  solr-1:
    driver: bridge

# 3、 node3 yml

version: '3'
services:
  solr-3:
    image: solr:7.6.0
    ports:
    - "8983:8983"
    container_name: solr-1
    networks:
    - solr-3
    restart: always
    #    privileged: true
    volumes:
    - ./solr/bin/solr.in.cmd:/opt/solr/bin/solr.in.cmd
    - ./solr/bin/solr.in.sh:/opt/solr/bin/solr.in.sh
    - ./solr/server/solr/configsets:/opt/solr/server/solr/configsets
    - ./solr/server/solr/solr.xml:/opt/solr/server/solr/solr.xml
    - ./solr/server/etc:/opt/solr/server/etc
    - ./solr/server/solr-webapp:/opt/solr/server/solr-webapp
    - ./solr/server/contexts:/opt/solr/server/contexts
    environment:
      ZK_HOST: 172.18.208.32:2181,172.18.208.33:2181,172.18.208.34:2181
networks:
  solr-1:
    driver: bridge

TIP

solr集群单机注册在zookeeper上的节点名是以ip命名的, docker 镜像的ip地址都一样,会初选命名冲突, 这里需要修改 /solr/server/solr/solr.xml 下的 hostport,建议改成部署服务器的ip地址,写死

Last Updated: 6/28/2019, 11:31:22 AM