搭建solr集群整个架构:
前提:
(1)zookeeper集群
(2)最好做系统间拷贝免密码(频繁复制东西输密码太麻烦)
(3)软件solr.*.zip  zookerper.*.tar.gz  ik.*.zip  tomcat.*.tar.gz(tomcat7以上版本)
 
搭建思想:
3台服务器:
192.168.20.101
192.168.20.102
192.168.20.103
 
目录结构:
 
先搭建好一台192.168.20.101然后scp到102和103整个文件夹
搭建101:
1.把解压的solr.zip中war包复制到tomcat的webapps下
2.#jar -xvf solr.war    解压war包
3.解压IK.zip,复制里面jar包到webapps/solr/WEB-INF/lib下,配置文件到webapps/solr/WEB-INF/classes下
4.修改webapps/solr/WEB-INF/web.xml,放开注释,配置第二行的solrhome的位置(绝对路径)
5.建solrhome1和solrhome2(名字随意),复制solr.zip解压目录(solr-4.10.3/example/solr)下的所有文件到4步骤的两个solrhome中.(solr-4.10.3/example/solr这是示例中的solr家的标准目录)
6.进入solrhome1/collection1/conf,修改schema.xml,在最后加入如下内容,引用IK分词器.
7.启动tomcat看分词器和solr单机版可以用了吗.访问http://ip:port/solr
8.如果上一步好使了,停tomcat开始配置集群,修改solrhome1/solr.xml把端口改成和tomcat端口一致.
9.把solr家solrhome1/collection1下刚产生的data目录删掉,上传配置文件信息给zookeeper集群
#sh /opt/solr/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181 -cmd upconfig -confdir /opt/solr/solrhome1/collection1/conf -confname myconf -solrhome1 /opt/solr/solrhome1
上传完了用zookeeper客户端连接zookeeper集群看这些内容是否上传上去
进入zookeeper集群安装目录 #./zkCli.sh    然后输入命令ls /configs/myconf    可以查看刚才上传的配置文件名
 
10.配置每个solrhome中的solrhome1/collection1/core.properties;明确指定自己是哪根葱....
#solrhome1下的
numShards=2    #分多少片
name=collection1    #属于哪个索引库
shard=shard1    #属于索引库哪一片
coreNodeName=core_node1    #数据这一片第几个节点
##solrhome2下的
numShards=2
name=collection1
shard=shard1
coreNodeName=core_node2
 
11.修改tomcat/bin/catalina.sh,加一行内容指定zookeeper集群地址(在哪加,我选择方便直接在头行后空白处)
JAVA_OPTS="-DzkHost=192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181"
12.所有的操作就完了,整个文件夹拷贝到其他机器然后修改10不走的core.properties文件指定自己是哪根葱就行了
一切做完了挨个启动tomcat,然后随便找一个tomcat用浏览器访问solr页面.此时会出现cloud这个选项,点一下就看到集群结构了
 
 
13.此时的zookeeper下面会多一些集群节点信息
overseer, aliases.json, live_nodes, collections, overseer_elect, clusterstate.json
 
 
 
 
 
附录:
#sh /opt/solr/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181 -cmd upconfig -confdir /opt/solr/solrhome1/collection1/conf -confname myconf -solrhome1 /opt/solr/solrhome1
 
JAVA_OPTS="-DzkHost=192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181"
 
numShards=2
name=collection1
shard=shard1
coreNodeName=core_node1
 
numShards=2
name=collection1
shard=shard1
coreNodeName=core_node2
 
numShards=2
name=collection1
shard=shard2
coreNodeName=core_node1
 
 
numShards=2
name=collection1
shard=shard2
coreNodeName=core_node2
 
numShards=1
name=collection2
shard=shard1
coreNodeName=core_node1
 
numShards=1
name=collection2
shard=shard1
coreNodeName=core_node2
 
 

27.solr集群的更多相关文章

  1. Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)

    目录 1 SolrCloud结构说明 2 环境的安装 2.1 环境说明 2.2 部署并启动ZooKeeper集群 2.3 部署Solr单机服务 2.4 添加Solr的索引库 3 部署Solr集群服务( ...

  2. solr集群搭建(复制)

    Solr集群的搭建以及使用(内涵zookeeper集群的搭建指南) 1   什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引 ...

  3. 在Linux上使用Nginx为Solr集群做负载均衡

    在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxy ...

  4. Solr集群更新配置的方式

    solr集群中配置文件是经常更新的,频率最高的也就是schema.xml和solrconfig.xml这两个配置文件了,对于更新配置文件之前,我们先了解一下集群项目结构 由于在集群模式下,solrco ...

  5. Solr集群常用的操作总结

    之前搭建过SolrCloud和Solr单机版本,另外还有很多对Solr配置文件以及核心的操作,以下主要总结Solr集群中的常用操作,即在配置文件中正确设置ZK_HOST参数并且Zookeeper正确启 ...

  6. 搭建Solr集群的推荐方案

    之前介绍过2篇SolrCloud的部署流程,第一个是使用安装脚本的方式进行抽取安装,启动比较方便,但是会创建多个目录,感觉比较乱:第二个是官方教程上提供的方法,使用比较简单,直接释放压缩包即可,并且启 ...

  7. Solr集群的搭建以及使用(内涵zookeeper集群的搭建指南)

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

  8. solr集群solrCloud的搭建

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

  9. Solr集群、KI分词、项目实战

    Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善 ...

随机推荐

  1. RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)

    RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(MVC版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之产品管理 ...

  2. git tag — 标签相关操作

    标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ Git tag # 在控制台打印出当前仓库的所有标签$ git tag -l 'v0.1.*' # 搜索符合模式的标签 打标签 gi ...

  3. Spark&Hadoop:scala编写spark任务jar包,运行无法识别main函数,怎么办?

    昨晚和同事一起看一个scala写的程序,程序都写完了,且在idea上debug运行是ok的.但我们不能调试的方式部署在客户机器上,于是打包吧.打包时,我们是采用把外部引入的五个包(spark-asse ...

  4. JAVA-JNI java程序调用c/c++程序

    目的:写c/c++函数,让java调用 java代码 1.创建HelloJNI.java文件->编写代码如下->cmd中javac HelloJNI.java获取HelloJNI.clas ...

  5. Python 的安装与配置(Windows)

    Python2.7安装配置 python的官网地址:https://www.python.org/ 我这里下载的是python2.7.12版本的 下载后点击安装文件,直接点击下一步知道finally完 ...

  6. hibernate的映射类型

    hibernate的映射类型 hibernate MySQL映射类型 1.Hibernate的映射类型 hibernate mysql映射类型 Hibernate 映射类型 Java 类型 标准 SQ ...

  7. git安装及命令使用和github网站

    最近参与别人的github项目时,学习了git的使用,首先需要在https://github.com/网站上注册账号和邮箱,然后fork一个开源项目,然后下载目前Windows下最新版本的git,下载 ...

  8. DB2 常用命令小结

    . 打开命令行窗口 #db2cmd . 打开控制中心 # db2cmd db2cc . 打开命令编辑器 db2cmd db2ce =====操作数据库命令===== . 启动数据库实例 #db2sta ...

  9. 夺命雷公狗----Git---4---多人协作实现

    基本流程: 1..创建一个git裸服务器(git init --bare) 2..从裸服务器将版本库克隆到本地(git clone) 3..本地常规操作(git remote + git push o ...

  10. 【原创】如何在Android Studio下调试原生安卓Framework层面的源代码

    1. Open Existing Android Studio Project. 2. 打开后, Projects -> Android 里面是空的. 这时候,需要选到 Projects-> ...