基于docker solrcloud方法及配置分词方法
最近在研究docker做大数据方面的东西,没有搜索到国内有这方面资料,所以简单的记录一下,算是保留记忆吧。首先是从docker hub 下载官方版的zookeeper和solrdocker pull zookeeperdocker pull solr本文重在solr上,为了记录方便,所以zookeeper用的是单机版,集群可以参见如下文章:Example of Zo
最近在研究docker做大数据方面的东西,没有搜索到国内有这方面资料,所以简单的记录一下,算是保留记忆吧。
首先是从docker hub 下载官方版的zookeeper和solr
docker pull zookeeper
本文重在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 -cmd upconfig -zkhost zk:2181 -confdir /opt/solr/server/solr/configsets -confname solrconf 当通过页面创建collection时,多了一项选择(我这里举例子创建多了一层目录,实际创建不成功,需要注意)更多推荐
所有评论(0)