转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 集群的更多相关文章

  1. 【solr】Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群

    Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群 SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力 ...

  2. CentOs7.3 搭建 SolrCloud 集群服务

    一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方式.C ...

  3. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  4. ubuntu下面搭建SolrCloud集群

    首先要先把ubuntu环境搭建好,配置好静态IP,我这边配置的是3台机子,solr搭建集群至少是2台. 192.168.0.15  主机 192.168.0.16  从机 192.168.0.17  ...

  5. 在zookeeper集群的基础上,搭建伪solrCloud集群

    伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...

  6. 快速搭建Jenkins集群

    关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...

  7. SolrCloud集群搭建(基于zookeeper)

    1. 环境准备 1.1 三台Linux机器,x64系统 1.2 jdk1.8 1.3 Solr5.5 2. 安装zookeeper集群 2.1 分别在三台机器上创建目录 mkdir /usr/hdp/ ...

  8. 11.SolrCloud集群环境搭建

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 我们基于Solr4.10.3版本进行安装配置SolrCloud集群,通过实践来实现索引数据的分布存储和检索. ...

  9. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

随机推荐

  1. 面向对象-self这个特殊的参数

    self: 1.只是一个参数. 2.在对象使用方法的时候,当前对象会作为第一个参数的实参传入 3.self相当于语言中的代词,表示当前对象本身(其他语言中也有使用this) 4.self的作用连接整个 ...

  2. C语言归并排序(合并排序)算法及代码

    归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并.仅从算法思想上了解归并排序会觉得很抽象,接下来就以对序列A[0], A[l]…, A ...

  3. POJ 2104 K-th Number && 洛谷 P3834 【模板】可持久化线段树 1(主席树)

    我惊奇的发现这两道题一模一样 题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个整数构成的序列,将对于指定的闭区间查询 ...

  4. Android课程设计第二天界面排版

    注意:课程设计只为完成任务,不做细节描述~ 老师叫我们做一个这个样子,然后.. <?xml version="1.0" encoding="utf-8"? ...

  5. 寻找项目中顶级Vue对象 (一)

    个人博客首发博客园: http://www.cnblogs.com/zhangrunhao/ 参考 感谢作者 从一个奇怪的错误出发理解 Vue 基本概念 安装 - Vue.js 渲染函数 - Vue. ...

  6. storm的3节点集群详细启动步骤(非HA和HA)(图文详解)

    前期博客 apache-storm-1.0.2.tar.gz的集群搭建(3节点)(图文详解)(非HA和HA) 启动storm集群(HA) 本博文情况是 master(主) nimbus slave1( ...

  7. Springboot + Websocket + Sockjs + Stomp + Vue + Iview 实现java后端日志显示在前端web页面上

    话不多说,看代码. 一.pom.xml 引入spring boot websocket依赖 <dependency> <groupId>org.springframework. ...

  8. struct和union

    struct的小秘密 C语言中的struct可以看做变量的集合,struct的问题: 空结构体占用多大内存? 例子1:空结构体的大小 #include<stdio.h> struct ST ...

  9. http与WebSocket

    利用websocket连接服务器的最大特点就是:持久链接的特点. 共同点是:都是基于TCP协议进行client-server的链接,websocket是HTML5提出的一套补缺HTTP链接中不能持久链 ...

  10. Xilinx HLS

    Xilinx 的高层次综合(High Level Synthesis, HLS)技术是将C/C++/SystemC软件语言转换成Verilog或VHDL硬件描述语言的技术.现已应用在SDAccel,S ...