array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 solr集群solrCloud的搭建 solr集群solrCloud的搭建zookeeper集群的安装 - 爱码网

 上一章讲了solr单机版的搭建,本章将讲解sole集群的搭建。solr集群的搭建需要使用到zookeeper,搭建参见zookeeper集群的安装

一、solr实例的搭建

1. tomcat安装

   这里我们需要4个tomcat,分别是tomcat1,2,3,4

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

  同时修改tomcat1,2,3,4的端口为8080-8083。保证两个tomcat可以正常运行不发生端口冲突。

2.解压solr-4.10.3.tar.gz压缩包。从压缩包中复制/solr-4.10.3/dist/solr-4.10.3.war到tomcat1,并重命名为solr.war。

 solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

  

3.启动tomcat,解压solr.war。解压成功后关闭tomcat,删除solr.war

4.将solr日志相关的jar包拷贝到解压的solr项目的lib包中

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

5.创建solrhome文件

  这里直接拷贝单机版中创建的solrhome

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

 

6.修改tomcat1-4中的solr的web.xml对应的env-entry-value值为/usr/local/solrcloud/solrhome1-4,指定对应的solrhome

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

 

7.其他的配置参见solr单机版的搭建

 

 二、solr集群的搭建

  1.把solrhome中的配置文件上传到zookeeper集群。使用zookeeper的客户端上传。

    使用solr安装包中的/opt/mysoft/solr-4.10.3/example/scripts/cloud-scripts中的zkcli.sh

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

  运行命令

./zkcli.sh -zkhost 192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf

 

  查看运行是否成功,使用zookeeper中的脚本

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

2.修改solrhome1-4下的solr.xml文件,指定当前实例运行的ip地址及端口号8080-8083。

 solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

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

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

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

4.重启tomcat

 查看运行结果

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

5.创建一个两片的collection,每片是一主一备

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

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

回到主界面查看

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

6.删除collection1

http://192.168.198.130:8080//solr/admin/collections?action=DELETE&name=collection1

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

查看主界面

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

三、java测试代码

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装
@Test
    public void testAddDocument() throws Exception {
        //创建一个和solr集群的连接
        //参数就是zookeeper的地址列表,使用逗号分隔
        String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";
        CloudSolrServer solrServer = new CloudSolrServer(zkHost);
        //设置默认的collection
        solrServer.setDefaultCollection("collection2");
        //创建一个文档对象
        SolrInputDocument document = new SolrInputDocument();
        //向文档中添加域
        document.addField("id", "test001");
        document.addField("item_title", "测试商品");
        //把文档添加到索引库
        solrServer.add(document);
        //提交
        solrServer.commit();
    }
    
    @Test
    public void queryDocument() throws Exception{
        //创建一个和solr集群的连接
        //参数就是zookeeper的地址列表,使用逗号分隔
        String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";
        CloudSolrServer solrServer = new CloudSolrServer(zkHost);
        //设置默认的collection
        solrServer.setDefaultCollection("collection2");        
        solrServer.deleteByQuery("*:*");
        solrServer.commit();
    }
    
solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

四、spring集成

<bean > 
        <constructor-arg name="zkHost" value="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"></constructor-arg> 
        <property name="defaultCollection" value="collection2"></property>
</bean>

java代码使用方法不变,因为SolrServer是CloudSolrServer的父类

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

 

 
服务器
solrcloud 集群

 上一章讲了solr单机版的搭建,本章将讲解sole集群的搭建。solr集群的搭建需要使用到zookeeper,搭建参见zookeeper集群的安装

一、solr实例的搭建

1. tomcat安装

   这里我们需要4个tomcat,分别是tomcat1,2,3,4

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

  同时修改tomcat1,2,3,4的端口为8080-8083。保证两个tomcat可以正常运行不发生端口冲突。

2.解压solr-4.10.3.tar.gz压缩包。从压缩包中复制/solr-4.10.3/dist/solr-4.10.3.war到tomcat1,并重命名为solr.war。

 solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

  

3.启动tomcat,解压solr.war。解压成功后关闭tomcat,删除solr.war

4.将solr日志相关的jar包拷贝到解压的solr项目的lib包中

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

5.创建solrhome文件

  这里直接拷贝单机版中创建的solrhome

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

 

6.修改tomcat1-4中的solr的web.xml对应的env-entry-value值为/usr/local/solrcloud/solrhome1-4,指定对应的solrhome

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

 

7.其他的配置参见solr单机版的搭建

 

 二、solr集群的搭建

  1.把solrhome中的配置文件上传到zookeeper集群。使用zookeeper的客户端上传。

    使用solr安装包中的/opt/mysoft/solr-4.10.3/example/scripts/cloud-scripts中的zkcli.sh

  solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

  运行命令

./zkcli.sh -zkhost 192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf

 

  查看运行是否成功,使用zookeeper中的脚本

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

2.修改solrhome1-4下的solr.xml文件,指定当前实例运行的ip地址及端口号8080-8083。

 solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

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

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

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

4.重启tomcat

 查看运行结果

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

5.创建一个两片的collection,每片是一主一备

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

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

回到主界面查看

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

6.删除collection1

http://192.168.198.130:8080//solr/admin/collections?action=DELETE&name=collection1

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

查看主界面

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

三、java测试代码

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装
@Test
    public void testAddDocument() throws Exception {
        //创建一个和solr集群的连接
        //参数就是zookeeper的地址列表,使用逗号分隔
        String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";
        CloudSolrServer solrServer = new CloudSolrServer(zkHost);
        //设置默认的collection
        solrServer.setDefaultCollection("collection2");
        //创建一个文档对象
        SolrInputDocument document = new SolrInputDocument();
        //向文档中添加域
        document.addField("id", "test001");
        document.addField("item_title", "测试商品");
        //把文档添加到索引库
        solrServer.add(document);
        //提交
        solrServer.commit();
    }
    
    @Test
    public void queryDocument() throws Exception{
        //创建一个和solr集群的连接
        //参数就是zookeeper的地址列表,使用逗号分隔
        String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";
        CloudSolrServer solrServer = new CloudSolrServer(zkHost);
        //设置默认的collection
        solrServer.setDefaultCollection("collection2");        
        solrServer.deleteByQuery("*:*");
        solrServer.commit();
    }
    
solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

四、spring集成

<bean > 
        <constructor-arg name="zkHost" value="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"></constructor-arg> 
        <property name="defaultCollection" value="collection2"></property>
</bean>

java代码使用方法不变,因为SolrServer是CloudSolrServer的父类

solr集群solrCloud的搭建
    

solr集群solrCloud的搭建
zookeeper集群的安装

 

相关文章: