快速简单高效的搭建 SolrCloud 集群
转https://segmentfault.com/a/1190000008634902
集群配置
集群中的每台机器都要按照以下说明进行配置启动
首先到 solr 安装目录的 bin 下,编辑 solr.in.sh 文件
搜索 SOLR_HOST
, 取消注释, 设置成自己的 ip
搜索 SOLR_TIMEZONE
, 取消注释, 设置成 UTC+8
#让solr关联zookeeper
ZK_HOST="192.168.1.211:2181,192.168.1.211:2182,192.168.1.211:2183"
#solr主机ip地址
SOLR_HOST="192.168.1.211"
#更改端口分别为8981
SOLR_PORT=8981
SOLR_TIMEZONE="UTC+8"
注意:SOLR_HOST 如果不是生产环境不推荐设置成主机名,我复制虚拟机实验的时候由于主机名相同经历了一些很深的坑.
集群启动
//不配置ZK_HOST项的启动方式
bin/solr start -cloud -z 192.168.10.131:2181,192.168.10.131:2182,192.168.10.131:2183 -p 8983 -force
bin/solr start -cloud -z 192.168.10.131:2181,192.168.10.131:2182,192.168.10.131:2183 -p 8985 -force
bin/solr start -cloud -z 192.168.10.131:2181,192.168.10.131:2182,192.168.10.131:2183 -p 8986 -force
//若配置了ZK_HOST则以普通方式直接启动
bin/solr start -force
-cloud 参数告诉 solr 集群方式启动,可简写为 -c
-z 参数的值换成自己 zookeeper 的地址和端口
-p 指定 solr web 启动的端口(默认 8983)
-force 上文已经解释过
集群中每台机器都可以使用以上命令启动
请在启动时确保zookeeper正常运行状态,否则报一下错误
org.apache.solr.common.SolrException: Error processing the request. CoreContainer is either not initialized or shutting down.
集群创建库
在任一服务器中solrhome创建配置文件夹
将/opt/solr-7.2.1/server/solr/configsets/_default/conf下的默认配置文件复制到自己创建的文件夹myconf下
修改自己的配置文件后
将自己的配置文件交给zookeeper管理,上传命令
/opt/solr-7.2.1/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.10.131:2181,192.168.10.131:2182,192.168.10.131:2183 -cmd upconfig -confdir /opt/solr-7.2.1/server/solr/configsets/myconf/conf -confname myconf
- /opt/solr-7.2.1/server/scripts/cloud-scripts/zkcli.sh #用于上传配置文件到zookeeper配置文件目录的批处理文件
- -zkhost #用于指定上传配置文件到那个zookeeper中
- 192.168.10.131:2181,192.168.10.131:2182,192.168.10.131:2183 #zookeeper集群的ip地址和端口号
- -cmd upconfig #上传配置文件
- -confdir #配置文件目录 /opt/solr-7.2.1/server/solr/configsets/myconf/conf
- --confname #给配置文件指定一个名字
- 这样的话,在zookeeper集群中就有了一个叫 myconf 的配置了,
在solrcloud管理界面创建collection
③步骤中选择你上传的配置文件myconf
- name:collecton名称
- numShards:分片数
- replicationFactor:每个分片的复本数(请至少填写2个)
- maxShardsPer:每个Solr服务器节点上最大分片数(Solr 4.2新增)
也可以采用下面命令的方式创建collection
./solr create_collection -c test_collection -shards 2 -replicationFactor 3 -force
-c 指定库(collection)名称
-shards 指定分片数量,可简写为 -s ,索引数据会分布在这些分片上
-replicationFactor 每个分片的副本数量
-force 如果是用root用户操作则需加上该命令
每个分片上的副本数据是一致的,leader挂掉后如果不加shards.tolerant=true
会导致库的读写都不可用,待重新选举出 leader 后会恢复, 默认3分钟,可以配置.
修改选举时间
修改 solr 安装目录的 server/solr/solr.xml
文件
在<solrcloud>
节点内添加一下内容,单位是毫秒
<str name="leaderVoteWait">${leaderVoteWait:10000}</str>
快速简单高效的搭建 SolrCloud 集群的更多相关文章
- 【solr】Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群
Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群 SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力 ...
- CentOs7.3 搭建 SolrCloud 集群服务
一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方式.C ...
- ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
- ubuntu下面搭建SolrCloud集群
首先要先把ubuntu环境搭建好,配置好静态IP,我这边配置的是3台机子,solr搭建集群至少是2台. 192.168.0.15 主机 192.168.0.16 从机 192.168.0.17 ...
- 在zookeeper集群的基础上,搭建伪solrCloud集群
伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...
- 快速搭建Jenkins集群
关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...
- SolrCloud集群搭建(基于zookeeper)
1. 环境准备 1.1 三台Linux机器,x64系统 1.2 jdk1.8 1.3 Solr5.5 2. 安装zookeeper集群 2.1 分别在三台机器上创建目录 mkdir /usr/hdp/ ...
- 11.SolrCloud集群环境搭建
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 我们基于Solr4.10.3版本进行安装配置SolrCloud集群,通过实践来实现索引数据的分布存储和检索. ...
- JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用
1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...
随机推荐
- Kruskal && Prim模板
1. Kruskal(并查集模板): /* Kruskal:并查集实现,记录两点和距离,按距离升序排序,O (ElogE) */ struct Edge { int u, v, w; bool ope ...
- IIR型高斯滤波的原理及实现
二.实现 GIMP中有IIR型高斯滤波的实现,代码位于contrast-retinex.c中,读者可自行查看.下面给出本人实现的核心代码: #include"stdafx.h" t ...
- h5-22-地理位置
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 关于提示replication性能
关于GTIDs的二进制日志:gtid_next: 下一个事务的编号,是master传给slave的 如SET @@SESSION.GTID_NEXT= 'c09756b8-a7e7-11e5-9468 ...
- DHCP服务简单搭建步骤
服务端:sishen_63 IP:192.168.1.63 客户端:sishen_64 IP:192.168.1.64 此外,因为本实验实在虚拟机中做的,所以对虚拟机还要做如下设置: 服务 ...
- 将php数组传递到js—json_encode(),json_decode()
json_decode(),对一个json字符串进行解码,json_encode()是生成一个json字符串 上面的解释很清楚了,关于php里数组赋值的问题,列举如下: <?php //对象 c ...
- [转]VC++的类头文件
本文转自:http://blog.csdn.net/forevertali/article/details/4370602 animal.h //在头文件中包含类的定义及类成员函数的声明 clas ...
- Smart 组件 vs Dumb 组件
大家已经知道,只会接受 props 并且渲染确定结果的组件我们把它叫做 Dumb 组件,这种组件只关心一件事情 —— 根据 props 进行渲染. Dumb 组件最好不要依赖除了 React.js 和 ...
- JVM内存各个区域分工简单介绍
JVM内存各个区域简单介绍: 程序计数器:程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器. 在使用多线程时,为了线程切换后能恢复到正确的执行位置,每条线程都需要有个独立 ...
- logging模块进阶
python利用logging模块来记录日志主要涉及四个类 logger提供了应用程序可以直接使用的接口 handler将logger创建的日志提供的输出发送到指定目的地. filter起到过滤作用, ...