本次安装是单台虚拟机安装,所以采用伪集群的方式进行安装,如果是真正的生产环境,将伪集群的ip改下就可以了,步骤是一样的。

SolrCloud结构图如下:

环境准备:

CentOS-6.4-i386-bin-DVD1.iso

jdk-7u72-linux-i586.tar.gz

apache-tomcat-7.0.47.tar.gz

zookeeper-3.4.6.tar.gz

solr-4.10.3.tgz

1.1. 环境安装

1.1.1. CentOs 6.4安装

1.1.2. jdk7安装

1.2. zookeeper集群安装

第一步:解压zookeeper

  1. tar -zxvf zookeeper-.tar.gz

第二步:在/usr/local/目录下创建一个solrcloud目录。把zookeeper解压后的文件夹复制到此目录下三份。分别命名为zookeeper1、2、3

  1. [root@bogon ~]# mkdir /usr/local/solrcloud
  2. [root@bogon ~]# mv zookeeper- /usr/local/solrcloud/zookeeper1
  3. [root@bogon ~]# cd /usr/local/solrcloud
  4. [root@bogon solrcloud]# ll
  5. total
  6. drwxr-xr-x. Feb zookeeper1
  7. [root@bogon solrcloud]# cp -r zookeeper1/ zookeeper2
  8. [root@bogon solrcloud]# cp -r zookeeper1/ zookeeper3
  9. [root@bogon solrcloud]#

进入zookeeper1文件夹,创建data目录。并在data目录中创建一个myid文件内容为“1”(echo 1 >> data/myid)。

第三步:配置zookeeper。

1、在每个zookeeper文件夹下创建一个data目录。

2、在data文件夹下创建一个文件名称为myid,文件的内容就是此zookeeper的编号1、2、3

  1. [root@bogon data]# echo >> myid
  2. [root@bogon data]# ll
  3. total
  4. -rw-r--r--. root root Sep : myid
  5. [root@bogon data]# cat myid

文件夹下分别创建data目录和myid文件,做法同上

3、把zookeeper1下conf目录下的zoo_sample.cfg文件复制一份改名为zoo.cfg

4、修改zoo.cfg的配置

  1. 修改:
  2. dataDir=/usr/local/solrcloud/zookeeper1/data #创建的data目录全路径
  3. clientPort=2181 #客户端连接的端口(zookeeper2中为2182、zookeeper3中为2183)
  4. 添加:
  5. server.=: #集群中节点的信息,包括IP地址及投票选举的端口
  6. server.=:
  7. server.=:

在zookeeper2、3文件夹下分别做上述配置

第四步:启动zookeeper。进入zookeeper1/bin目录下。

启动zookeeper:./zkServer.sh start

关闭:./zkServer.sh stop

查看状态:./zkServer.sh status

  1. [root@bogon solrcloud]# zookeeper1/bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /usr/local/solrcloud/zookeeper1/bin/../conf/zoo.cfg
  4. Mode: follower
  5. [root@bogon solrcloud]# zookeeper2/bin/zkServer.sh status
  6. JMX enabled by default
  7. Using config: /usr/local/solrcloud/zookeeper2/bin/../conf/zoo.cfg
  8. Mode: leader
  9. [root@bogon solrcloud]# zookeeper3/bin/zkServer.sh status
  10. JMX enabled by default
  11. Using config: /usr/local/solrcloud/zookeeper3/bin/../conf/zoo.cfg
  12. Mode: follower
  13. [root@bogon solrcloud]#

注意:开启zookeeper用到的端口,或者直接关闭防火墙。

  1. service iptables stop

1.3 Solr实例的搭建

注:此步详细步骤可参考:二、Solr单机版的搭建

第一步:创建4个tomcat实例,修改其端口。8080-8083

第二步:解压solr-4.10.3.tar.gz压缩包。从压缩包中复制solr.war到tomcat。

第三步:启动tomcat解压war包。把solr-4.10.3目录下example目录下的关于日志相关的jar包添加到solr工程中。

第四步:创建solrhome。修改web.xml指定solrhome的位置。

1.4 solr集群的搭建

第一步:把solrhome中的配置文件上传到zookeeper集群。使用zookeeper的客户端上传。

客户端命令位置:/root/solr-4.10.3/example/scripts/cloud-scripts

  1. ./zkcli.sh -zkhost ,, -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf

注:-zkhost后跟zookeeper集群的IP地址+端口号,需要改为自己的地址。

查看配置文件是否上传成功:

  1. cd /usr/local/solrcloud/solrhome1/bin

[root@bogon bin]# ./zkCli.sh

Connecting to localhost:2181

[zk: localhost:2181(CONNECTED) 0] ls /

[configs, zookeeper]

[zk: localhost:2181(CONNECTED) 1] ls /configs

[myconf]

[zk: localhost:2181(CONNECTED) 2] ls /configs/myconf

[admin-extra.menu-top.html, currency.xml, protwords.txt, mapping-FoldToASCII.txt, _schema_analysis_synonyms_english.json, _rest_managed.json, solrconfig.xml, _schema_analysis_stopwords_english.json, stopwords.txt, lang, spellings.txt, mapping-ISOLatin1Accent.txt, admin-extra.html, xslt, synonyms.txt, scripts.conf, update-script.js, velocity, elevate.xml, admin-extra.menu-bottom.html, clustering, schema.xml]

[zk: localhost:2181(CONNECTED) 3]

第二步:修改solrhome1、2、3、4下的solr.xml文件,指定当前实例运行的ip地址及端口号。

第三步:修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址:

JAVA_OPTS="-DzkHost=192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"

(可以使用vim的查找功能查找到JAVA_OPTS的定义的位置,然后添加)

第四步:重新启动tomcat。

访问任意一台solr,左侧菜单出现Cloud:

一个主节点多个备份节点,集群只有一片。

第五步:创建一个两片的collection,每片是一主一备。

如果集群中有四个solr节点创建新集群collection2,将集群分为两片,每片两个副本。

  1. http://192.168.25.154:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

第六步:删除collection1.

  1. http://192.168.25.154:8080/solr/admin/collections?action=DELETE&name=collection1

1.5. 启动solrCloud注意

启动solrCloud需要先启动solrCloud依赖的所有zookeeper服务器,再启动每台solr服务器。

 

三、SolrCloud的搭建的更多相关文章

  1. Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper【转】

    Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper 1.软件工具箱 在本文的实践中,需要用到以下的软件: Tomcat-7.0.62+solr-5.0.0+ ...

  2. 【运维技术】redis(一主两从三哨兵模式搭建)记录

    redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...

  3. solr集群solrCloud的搭建

    上一章讲了solr单机版的搭建,本章将讲解sole集群的搭建.solr集群的搭建需要使用到zookeeper,搭建参见zookeeper集群的安装 一.solr实例的搭建 1. tomcat安装 这里 ...

  4. SolrCloud的搭建与稳定性测试

    转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html 一.集群搭建 1. zookeeper搭建(版本:3.4) 1.1 zoo.cfg配置文件: ...

  5. windows下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper

    原文出自:http://sbp810050504.blog.51cto.com/2799422/1408322           按照该方法,伪分布式solr部署成功                 ...

  6. SolrCloud的搭建的连接

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

  7. Solr集群(即SolrCloud)搭建与使用

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

  8. (转)基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端

    主要包含4个章节: 1. Java 领域的即时通信的解决方案 2. 搭建 Openfire 服务器 3. 使用客户端测试我们搭建的 Openfire 服务器 4. Smack 和 ASmack 一.J ...

  9. SolrCloud(一)搭建Zookeeper

    搭建Zookeeper 三台服务器: AMouse: 192.168.3.201 BCattle : 192.168.3.202 Ctiger   : 192.168.3.203 一 下载Zookee ...

随机推荐

  1. C#在属性中用Lambda语法

    今天看代码改功能的时候遇到了个比较奇怪的地方,在属性里也能用Lambda,我看了好久,也不是很理解,我都开始怀疑这是不是属性了,又在群里讨论了下这个问题,觉得有必要记下来,因为又涨知识了. 问题1:这 ...

  2. python socket+tcp三次握手四次撒手学习+wireshark抓包

    Python代码: server: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.py import socket # 导入 socke ...

  3. inux中shell变量$#,$@,$0,$1,$2的含义

    转自:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量 ...

  4. vue-动手做个选择城市

    查看完整的代码请到   我的github地址  https://github.com/qianyinghuanmie/vue2.0-demos 一.结果展示 二.前期准备: 1.引入汉字转拼音的插件, ...

  5. enote笔记语言(2)(ver0.3)

    why not(whyn't)                      为什么不(与“why”相对应,是它的反面)   how对策 how设计   key-memo:                 ...

  6. jQuery杂项方法

    前面的话 杂项方法其实也是工具类方法,但由于其不是定义在jQuery构造函数上的方法,所以不能称为工具方法.本文将详细介绍jQuery中的杂项方法 数据操作 [data()] 该方法用于在匹配元素上存 ...

  7. 【Spark2.0源码学习】-10.Task执行与回馈

         通过上一节内容,DriverEndpoint最终生成多个可执行的TaskDescription对象,并向各个ExecutorEndpoint发送LaunchTask指令,本节内容将关注Exe ...

  8. javascript的运行过程以及setTimeout的运行机制

    关于javascript的运行机制大家都应该有所了解了吧,其实javascript是一个单线程的机制,但是因为队列的关系它的表现会让我们感觉是一个多线程的错觉.javascript在运行的时候是这样的 ...

  9. weather API 天气api接口 收集整理

    腾讯 http://sou.qq.com/online/get_weather.php?callback=Weather&city=南京 中国天气-weather.com.cn http:// ...

  10. javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置. ...