快速简单高效的搭建 SolrCloud 集群

转https://segmentfault.com/a/1190000008634902

集群配置

  集群中的每台机器都要按照以下说明进行配置启动

首先到 solr 安装目录的 bin 下,编辑 solr.in.sh 文件
搜索 SOLR_HOST, 取消注释, 设置成自己的 ip
搜索 SOLR_TIMEZONE, 取消注释, 设置成 UTC+8

SOLR_HOST="10.4.81.19"
SOLR_TIMEZONE="UTC+8"

注意:SOLR_HOST 如果不是生产环境不推荐设置成主机名,我复制虚拟机实验的时候由于主机名相同经历了一些很深的坑.

集群启动

./solr start -cloud -z 10.4.81.19:2181 -p 8983 -force

-cloud 参数告诉 solr 集群方式启动,可简写为 -c
-z 参数的值换成自己 zookeeper 的地址和端口 
-p 指定 solr web 启动的端口(默认 8983)
-force 上文已经解释过

集群中每台机器都可以使用以上命令启动

集群创建库

./solr create_collection -c test_collection -shards 2 -replicationFactor 3 -force

-c 指定库(collection)名称
-shards 指定分片数量,可简写为 -s ,索引数据会分布在这些分片上
-replicationFactor 每个分片的副本数量
-force 上文已说明

每个分片上的副本数据是一致的,leader挂掉后如果不加shards.tolerant=true会导致库的读写都不可用,待重新选举出 leader 后会恢复, 默认3分钟,可以配置.

修改选举时间

修改 solr 安装目录的 server/solr/solr.xml 文件
<solrcloud> 节点内添加一下内容,单位是毫秒

<str name="leaderVoteWait">${leaderVoteWait:10000}</str>
 

猜你喜欢

转载自www.cnblogs.com/miye/p/9541260.html