之前介绍过2篇SolrCloud的部署流程,第一个是使用安装脚本的方式进行抽取安装,启动比较方便,但是会创建多个目录,感觉比较乱;第二个是官方教程上提供的方法,使用比较简单,直接释放压缩包即可,并且启动cloud实例的时候默认会创建一个示例collection;实际上官方文档在solr启动脚本配置文件solr.in.sh介绍时,也提供了一种思路,就是我们使用第一种方法中的配置参数,综合第二种方法的释放简单的优点,这里总结了一个比较灵活简单solr生产部署方式,在生产中配置也较为清晰,也是不断实践的结果,希望能对大家有所帮助

  首先还是保证zookeeper服务的配置运行无误,这里集群用了6台CentOS 7.1的服务器,分别是:linux1、linux2、linux3、linux4、linux5、linux6

  然后和之前一样,还是下载安装包solr-5.3.1.tgz,我们预定的solr安装位置是:/usr/solr/solr-5.3.1,接下来在linux1上执行释放:

mkdir /usr/solr
tar -xvzf solr-5.3..tgz
mv solr-5.3. /usr/solr

  现在solr释放完毕,然后执行 cd /usr/solr/solr-5.3. 进入solr目录下,然后执行 vim bin/solr.in.sh ,和之前一样去掉SOLR_JAVA_MEM前面的#,设置为3G,不要太小,保证solr JVM和GC的运行

  

  然后最重要的一步就是设置ZK_HOST,设置为:ZK_HOST="linux1:2181,linux2:2181,linux3:2181,linux4:2181,linux5:2181,linux6:2181/solr"

  实际生产中,solr文件最好放在zookeeper下的一个子节点中,便于管理,之前都是直接堆在根目录下,实际运行没有影响,之前的在配置中也可以灵活设置,/solr节点待会会详细说明如何创建

  

  之前还配置了一个SOLR_HOST,这个默认是本地和配置本地主机名效果一样,这里就不配置这一项了,以上2项足够了,配置好之后,保存并退出

  现在不要着急去启动solr,如果启动的话肯定是会出错了,因为我们zookeeper上的节点/solr还没有创建,之前我们讨论过zookeeper服务的管理操作,创建个节点也是很简单的,我们zookeeper的安装位置是:/usr/zookeeper/zookeeper-3.4.6,执行下面命令登录zookeeper服务:

/usr/zookeeper/zookeeper-3.4./bin/zkCli.sh -server localhost:

  然后就和之前所说一样进入了管理的界面

  

  我们执行 ls / 查看根目录下的节点列表,发现只有zookeeper节点,接下来我们执行 create /solr null 建立solr节点,字符串设置为null即可,当然自己可以定义,现在通过 ls / 就可以查看到solr节点了

  

  现在执行 quit 退出zookeeper

  现在在linux1上solr就配置完毕了,现在我们依次执行下面命令或者写成脚本将配置好的solr目录发送到其他5台服务器:

scp -r /usr/solr linux2:/usr/
scp -r /usr/solr linux3:/usr/
scp -r /usr/solr linux4:/usr/
scp -r /usr/solr linux5:/usr/
scp -r /usr/solr linux6:/usr/

  发送完毕以后,在6台服务器的solr安装目录下,也就是/usr/solr/solr-5.3.1下分别执行solr启动命令:

bin/solr start

  启动时,solr会读取配置文件从而使用zookeeper服务进行协调,全部执行完毕,solrcloud就运行起来了,现在是一个纯净的集群,没有任何配置和数据,接下来我们在其中一台服务器上执行下面命令上传配置文件,方法和之前一样:

./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:/solr -cmd upconfig -confdir server/solr/configsets/sample_techproducts_configs/conf -confname my_config

  有一点需要注意,那就是-zkhost指定zookeeper服务器时需要加上/solr节点,执行完毕就上传好了配置文件,接下来通过curl或者直接访问浏览器来创建collection:

curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=my_collection&numShards=6&replicationFactor=1&collection.configName=my_config"

  如果使用浏览器需要将localhost换成ip地址才可以;稍等一下命令执行完毕,6个shard的collection就创建成功了

  

  另外,通过solr管理首页可以查看JVM的资源占用和各种配置的对应项,方便去分析

  以上就是我个人推荐的solr集群搭建方案,过程比较简单,到这里就ok了

搭建Solr集群的推荐方案的更多相关文章

  1. Redis集群官方推荐方案 Redis-Cluster

    Redis-Cluster redis使用中遇到的瓶颈 我们日常在对于redis的使用中,经常会遇到一些问题 1.高可用问题,如何保证redis的持续高可用性. 2.容量问题,单实例redis内存无法 ...

  2. Centos7搭建solr集群

    1.复制4个Tomcat到solr-cloud目录下 [root@localhost software]# cp -r apache-tomcat-9.0.24 /usr/local/solr-clo ...

  3. linux中搭建solr集群出现org.apache.catalina.LifecycleException: Failed to initialize component ,解决办法

    07-Jan-2018 20:19:21.489 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to i ...

  4. 搭建solr集群的时候出现 ./zkcli.sh:行13: unzip: 未找到命令

    主要的原因是: linux系统下面没有安装压缩解压工具    zip 和 unzip:需要我们自己手动的安装: 利用yum命令安装即可: yum install -y unzip zip

  5. Solr集群搭建详细教程(一)

    一.Solr集群的系统架构 注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. SolrCloud(solr 云)是So ...

  6. solr集群的搭建教程和使用入门

    1 什么是SolrCloud? SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud. 当一个系统的索引数据量少的时候 ...

  7. centos solr 集群搭建

    一.什么是 SolrCloud SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时 ...

  8. Solr集群搭建详细教程(二)

    注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. 之前步骤:Solr集群搭建详细教程(一) 三.solr集群搭建 注意 ...

  9. (转)淘淘商城系列——Solr集群搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72957201 我们之前做的搜索使用的是Solr的单机版来实现的,正是由于我们现在商品数据量不多 ...

随机推荐

  1. Ajax异步刷新地址栏

    公司项目后台使用现成的UI框架,DevExpress,jqGrid,XXXUI之类的,这些展示数据列表的控件/插件,基本是异步的. 这倒也好,有变化也只是数据那一块变化,不会重新加载整个页面. 但是, ...

  2. SQL Server2008 表旋转(pivot)技术

    参考资料: http://www.cnblogs.com/xiashengwang/p/3503554.html

  3. mapreduce 本地调试需要注意的问题

    1.写好的程序直接在hadoop集群里面执行 2.如果需要在本地调试,需要注释掉mapred-site.xml <configuration> <!-- <property&g ...

  4. iframe和frameset的使用

    iframe是:inner frame的缩写, 必须指明src属性,不能直接在里面写内容, 否则不会显示. 可以载入html, *.图片文件, txt文件等等. html的属性中,表示长度高度的尺寸属 ...

  5. Linux启动管理:grub

    1.grub中分区表示 Linux 中 /dev/sda1   在grub中为   hd0,0    代表第一个硬盘的第一个分区 Linux中 /dev/sdb3是扩展分区     在grub中为   ...

  6. javascript简单的认识下return语句+2015的总结+2016的展望

    好久没更新博客了...自从有了mac之后世界变得简单了...日常么,除了研究代码,看别人的代码,写自己的代码.就那样.... 吐槽点:window配个nodejs的环境花了九头牛两只老虎的力气,mac ...

  7. U盘操作系统,Kali Linux操作系统安装

    为什么要用U盘装操作系统,那好处多了去了.1.随身携带,想用就用.2.平常娱乐还是用Windows比较方便,不用做双系统那么麻烦. 准备: U盘,从天猫上买了个三星闪存盘,32G,USB3.0: 从官 ...

  8. 密码学初级教程(五)消息认证码MAC-Message Authentication Code

    密码学家工具箱中的6个重要的工具: 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 MAC能识别出篡改和伪装,也就是既可以确认消息的完整性,也可以进行认证. 消息认证码的输入包 ...

  9. [译]Mongoose指南 - Population

    MongoDB没有join, 但是有的时候我们需要引用其它collection的documents, 这个时候就需要populate了. 我们可以populate单个document, 多个docum ...

  10. Eclipse经常报Unhandled event loop exception的原因

    在公司的电脑上,Eclipse经常报Unhandled event loop exception 错误,非常频繁,通过搜索发现是因为电脑上安装了百度杀毒导致的.... 无语 另外 teamviewer ...