最近在研究docker做大数据方面的东西,没有搜索到国内有这方面资料,所以简单的记录一下,算是保留记忆吧。

首先是从docker hub 下载官方版的zookeeper和solr

docker pull zookeeper


docker pull solr

本文重在solr上,为了记录方便,所以zookeeper用的是单机版,集群可以参见如下文章:

Example of Zookeeper and Solr cluster with Docker networking

https://github.com/docker-solr/docker-solr/blob/master/docs/docker-networking.md

好,言归正传,用docker装好solr和zookeeper以后:

一、配置solr集群

1.先启动solr容器

docker run --name zookeeper -d -p 2181:2181 -p 2888:2888 -p 3888:3888 zookeeper

2.启动两台solr容器,link zookeeper容器方式

docker run --name solr1 --link zookeeper:ZK -d -p 8983:8983 081fbd679606 bash -c 'solr start -f -z ZK:2181'

其中:081fbd679606为solr镜像id,ZK同--link的别名,也可以是zookeeper所在ip,2181--zookeeper端口

docker run --name solr2 --link zookeeper:ZK -d -p 8984:8983 081fbd679606 bash -c 'solr start -f -z ZK:2181'


这里需要提一下的是,多个zookeeper,可以如下

docker run --name solr2 --link zookeeper1:ZK1 --link zookeeper2:ZK2--link zookeeper2:ZK2 -d -p 8984:8983 081fbd679606 bash -c 'solr start -f -z ZK1:2181,zk3:2181,zk2:2181'

 

3.创建solr collection,一旦创建,自动有一份配置在zookeeper中

solr1 solr create_collection -c gettingstarted -shards 2 -p 8983


打开页面如下:地址如:(http://192.168.56.103:8983/solr),比单机版多了个cloud菜单



可以查看到刚才创建的gettingstarted,在cloud--tree下出现了config配置

这样solr集群配置好。


二、下面以中文分词为例,讲下如何更新集群服务。

1.分词的安装跟单机版没有什么差别,在每个solr服务器上,将lib包扔到/opt/solr/server/solr-webapp/webapp/WEB-INF/lib,规则文件扔到/opt/solr/server/solr-webapp/webapp/WEB-INF/classes下。

2.然后修改schema文件,本文使用的是solr6.0,修改managed-schema,可以在上面给大家示例的gettingstarted文件夹找到该文件进行修改,或者由于本人之前未做任何更改,直接找到/opt/solr/server/solr/configsets/basic_configs/conf/managed-schema 添加。

此时该schema并没有生效,需要上传到zookeeper中,

3.在/opt/solr/server/scripts/cloud-scripts下,用以下命令

 ./zkcli.sh  -zkhost zk:2181 -cmd putfile /configs/gettingstarted/managed-schema  /opt/solr/server/solr/configsets/basic_configs/conf/managed-schema标黑处为我们自己的collection

至此,分词已经在集群中生效。


值得一提的是:我们可以使用如下命令,自己创建配置文件

./zkcli.sh -cmd upconfig -zkhost zk:2181 -confdir  /opt/solr/server/solr/configsets -confname solrconf 当通过页面创建collection时,多了一项选择(我这里举例子创建多了一层目录,实际创建不成功,需要注意)

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐