docker部署solr+zk集群

在三台服务器上搭建solr集群,具体架构如下所示:

192.168.184.127         solr1/zk1

192.168.184.128         solr2/zk2

192.168.184.129         solr3/zk3

1.安装docker

三台服务器上都执行以下命令

# setenforce 0

# systemctl stop firewalld

# systemctl disable firewalld

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

安装docker

# yum -y install docker

# systemctl start docker

# systemctl enable docker

2.安装zk集群,三台服务器上都执行以下命令

# mkdir -p /usr/local/solr-zk/zk/{conf,data,datalog}

solr1服务器执行:

# vim /usr/local/solr-zk/zk/conf/zoo.cfg

dataDir=/data

dataLogDir=/datalog

clientPort=2181

tickTime=2000

initLimit=5

syncLimit=2

autopurge.snapRetainCount=3

autopurge.purgeInterval=0

maxClientCnxns=60

standaloneEnabled=true

admin.enableServer=false

server.1=0.0.0.0:2888:3888

server.2=192.168.184.128:2888:3888

server.3=192.168.184.129:2888:3888

solr2服务器执行:

# vim /usr/local/solr-zk/zk/conf/zoo.cfg

dataDir=/data

dataLogDir=/datalog

clientPort=2181

tickTime=2000

initLimit=5

syncLimit=2

autopurge.snapRetainCount=3

autopurge.purgeInterval=0

maxClientCnxns=60

standaloneEnabled=true

admin.enableServer=false

server.1=192.168.184.127:2888:3888

server.2=0.0.0.0:2888:3888

server.3=192.168.184.129:2888:3888

solr3服务器执行:

# vim /usr/local/solr-zk/zk/conf/zoo.cfg

dataDir=/data

dataLogDir=/datalog

clientPort=2181

tickTime=2000

initLimit=5

syncLimit=2

autopurge.snapRetainCount=3

autopurge.purgeInterval=0

maxClientCnxns=60

standaloneEnabled=true

admin.enableServer=false

server.1=192.168.184.127:2888:3888

server.2=192.168.184.128:2888:3888

server.3=0.0.0.0:2888:3888

新建myid文件

192.168.184.127上执行

# echo "1" > /usr/local/solr-zk/zk/data/myid 

192.168.184.128上执行

# echo "2" > /usr/local/solr-zk/zk/data/myid

192.168.184.129上执行

# echo "3" > /usr/local/solr-zk/zk/data/myid

启动容器

192.168.184.127上执行

# docker run -d \

-p 2181:2181 \

-p 2888:2888 \

-p 3888:3888 \

--privileged=true \

--restart=always \

-v /usr/local/solr-zk/zk/data/:/data/ \

-v /usr/local/solr-zk/zk/datalog/:/datalog/ \

-v /usr/local/solr-zk/zk/conf/zoo.cfg:/conf/zoo.cfg \

-v /etc/localtime:/etc/localtime:ro \

--name zk \

-h 192.168.184.127 \

zookeeper:3.4.14

192.168.184.128上执行

# docker run -d \

-p 2181:2181 \

-p 2888:2888 \

-p 3888:3888 \

--privileged=true \

--restart=always \

-v /usr/local/solr-zk/zk/data/:/data/ \

-v /usr/local/solr-zk/zk/datalog/:/datalog/ \

-v /usr/local/solr-zk/zk/conf/zoo.cfg:/conf/zoo.cfg \

-v /etc/localtime:/etc/localtime:ro \

--name zk \

-h 192.168.184.128 \

zookeeper:3.4.14

192.168.184.129上执行

# docker run -d \

-p 2181:2181 \

-p 2888:2888 \

-p 3888:3888 \

--privileged=true \

--restart=always \

-v /usr/local/solr-zk/zk/data/:/data/ \

-v /usr/local/solr-zk/zk/datalog/:/datalog/ \

-v /usr/local/solr-zk/zk/conf/zoo.cfg:/conf/zoo.cfg \

-v /etc/localtime:/etc/localtime:ro \

--name zk \

-h 192.168.184.129 \

zookeeper:3.4.14

查看容器状态

# docker ps

3.安装solr集群,三台服务器上都执行以下命令

# mkdir -p /usr/local/solr-zk/solr/config

192.168.184.127上执行

# vim /usr/local/solr-zk/solr/config/solr.in.sh

SOLR_HEAP="1g"

ZK_HOST="192.168.184.127:2181,192.168.184.128:2181,192.168.184.129:2181"     #zk集群地址

SOLR_HOST="192.168.184.127"         #本机ip地址

SOLR_TIMEZONE="UTC+8"

ENABLE_REMOTE_JMX_OPTS="false"

SOLR_OPTS="$SOLR_OPTS -Xss256k"

SOLR_OPTS="$SOLR_OPTS -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=60"

SOLR_HOME="/var/solr/data/"

SOLR_LOGS_DIR="/var/solr/logs/"

SOLR_PORT=8983    #solr端口

192.168.184.128上执行

# vim /usr/local/solr-zk/solr/config/solr.in.sh

SOLR_HEAP="1g"

ZK_HOST="192.168.184.127:2181,192.168.184.128:2181,192.168.184.129:2181"

SOLR_HOST="192.168.184.128"

SOLR_TIMEZONE="UTC+8"

ENABLE_REMOTE_JMX_OPTS="false"

SOLR_OPTS="$SOLR_OPTS -Xss256k"

SOLR_OPTS="$SOLR_OPTS -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=60"

SOLR_HOME="/var/solr/data/"

SOLR_LOGS_DIR="/var/solr/logs/"

SOLR_PORT=8983

192.168.184.129上执行

# vim /usr/local/solr-zk/solr/config/solr.in.sh

SOLR_HEAP="1g"

ZK_HOST="192.168.184.127:2181,192.168.184.128:2181,192.168.184.129:2181"

SOLR_HOST="192.168.184.129"

SOLR_TIMEZONE="UTC+8"

ENABLE_REMOTE_JMX_OPTS="false"

SOLR_OPTS="$SOLR_OPTS -Xss256k"

SOLR_OPTS="$SOLR_OPTS -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=60"

SOLR_HOME="/var/solr/data/"

SOLR_LOGS_DIR="/var/solr/logs/"

SOLR_PORT=8983

分别启动容器

192.168.184.127上执行

# docker run -d \

--restart=always \

-p 8983:8983 \

-l io.rancher.container.network=true \

-v /usr/local/solr-zk/solr/solrhome/:/var/solr/solrhome/ \

-v /usr/local/solr-zk/solr/log/:/var/solr/log/ \

-v /usr/local/solr-zk/solr/dist/:/var/solr/dist/ \

-v /usr/local/solr-zk/solr/config/solr.in.sh:/etc/default/solr.in.sh \

-v /etc/localtime:/etc/localtime:ro \

--name solr \

-h 192.168.184.127 \

solr:latest

192.168.184.128上执行

# docker run -d \

--restart=always \

-p 8983:8983 \

-l io.rancher.container.network=true \

-v /usr/local/solr-zk/solr/solrhome/:/var/solr/solrhome/ \

-v /usr/local/solr-zk/solr/log/:/var/solr/log/ \

-v /usr/local/solr-zk/solr/dist/:/var/solr/dist/ \

-v /usr/local/solr-zk/solr/config/solr.in.sh:/etc/default/solr.in.sh \

-v /etc/localtime:/etc/localtime:ro \

--name solr \

-h 192.168.184.128 \

solr:latest

192.168.184.129上执行

# docker run -d \

--restart=always \

-p 8983:8983 \

-l io.rancher.container.network=true \

-v /usr/local/solr-zk/solr/solrhome/:/var/solr/solrhome/ \

-v /usr/local/solr-zk/solr/log/:/var/solr/log/ \

-v /usr/local/solr-zk/solr/dist/:/var/solr/dist/ \

-v /usr/local/solr-zk/solr/config/solr.in.sh:/etc/default/solr.in.sh \

-v /etc/localtime:/etc/localtime:ro \

--name solr \

-h 192.168.184.129 \

solr:latest

查看容器状态

# docker ps

访问solr集群:http://192.168.184.127:8983/solr/index.html

 用命令创建cllocetion

curl 'http://127.0.0.1:8983/solr/admin/collections?action=CREATE&name=a&numShards=1&replicationFactor=3&maxShardsPerNode=1'

 如下图所示,其他节点也会进行同步

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值