SolrCloud Hello Word
2015-04-01 17:52
155 查看
Solr Cloud 设计出来的目的是使你的搜索服务具有更高的可用性,提高容错、容灾能力。下面我们在一台电脑上建立2个solr服务,作为一个solrCloud分片(shard),初步认识一下solrCloud。SolrCloud使用zoo_keeper作为集群管理工具,本例中,我们使用solr发布包内嵌的zoo_keeper。
一、准备工作
建立一个solr_home目录,我建在D盘根目录,D:\solr_home。
把solr发布包中的contrib、dist文件夹全部复制到solr_home下面。
复制solr发布包中的example文件夹到solr_home,重命名为node1。
复制solr发布包中的example文件夹到solr_home,重命名为node2。
最终目录结构如下图:
二、启动服务
1、 启动node1节点
打开一个命令行窗口,进入D:\solr_home\node1目录,输入如下命令,回车便可以cloud模式启动node1:
[java] view
plaincopy
java -DzkRun -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf
-Dcollection.configName=myconf -jar start.jar
参数说明:
-DzkRun:启动solr内嵌的ZooKeeper服务。这个服务将用来管理集群组态。注意,这个例子是在单台物理计算机上进行的实验;当你应用到生产环境的时候,就需要在整个架构中使用多个zooKeeper服务或者是个独立的ZooKeeper服务,而不是把solr内嵌的ZooKeeper用到你的生产环境。
-DnumShards:这个参数指明你打算把你的一个索引分成多少片。这个例子中,我们把它分成2片。注意,一旦你启动了集群,这个分片参数将不允许被改变。如果以后你需要更多的分片,那么现在你就多配几个(多个分片将能够在同一个服务上启动,以后可以迁移到不同的服务器上去)。
-Dbootstrap_confdir:ZooKeeper需要复制一份集群的配置文件,这个参数就是告诉ZooKeeper去哪里找该配置文件。
-Dcollection.configName:给保存到ZooKeeper下的配置文件取个名字,这个例子中我们命名为“myconf”,随便取,叫什么名字都行。
2、 启动node2节点
Node1启动了,只得到了我们定义的分片集的一半,把node2启动起来才是我们定义的一个完整的集群。新打开一个命令行窗口,进入D:\solr_home\node2目录,输入如下命令,回车,启动node2:
[java] view
plaincopy
java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar
参数说明:
-Djetty.port:设置这个参数的原因是我们在同一台计算机上运行服务,不能使用Jetty的默认端口了,默认端口已经被node1占了,随便选一个和默认端口不一样的端口。当在不同的计算机上启动的时候,也可以使用一样的端口。
-DzkHost:这个参数告诉solr去哪里找ZooKeeper服务,默认情况下,ZooKeeper服务工作在solr端口加1000的那个端口上。Solr默认端口是8983,那么ZooKeeper的服务端口就是9983.
三、查看结果
在浏览器里面输入:
http://localhost:8983/solr/#/~cloud
在左边菜单中有个Cloud,说明我们的solrCloud已经配置正确了。右图中我们看到shard1分片下面有刚刚配置的2个solr服务节点。
一、准备工作
建立一个solr_home目录,我建在D盘根目录,D:\solr_home。
把solr发布包中的contrib、dist文件夹全部复制到solr_home下面。
复制solr发布包中的example文件夹到solr_home,重命名为node1。
复制solr发布包中的example文件夹到solr_home,重命名为node2。
最终目录结构如下图:
二、启动服务
1、 启动node1节点
打开一个命令行窗口,进入D:\solr_home\node1目录,输入如下命令,回车便可以cloud模式启动node1:
[java] view
plaincopy
java -DzkRun -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf
-Dcollection.configName=myconf -jar start.jar
参数说明:
-DzkRun:启动solr内嵌的ZooKeeper服务。这个服务将用来管理集群组态。注意,这个例子是在单台物理计算机上进行的实验;当你应用到生产环境的时候,就需要在整个架构中使用多个zooKeeper服务或者是个独立的ZooKeeper服务,而不是把solr内嵌的ZooKeeper用到你的生产环境。
-DnumShards:这个参数指明你打算把你的一个索引分成多少片。这个例子中,我们把它分成2片。注意,一旦你启动了集群,这个分片参数将不允许被改变。如果以后你需要更多的分片,那么现在你就多配几个(多个分片将能够在同一个服务上启动,以后可以迁移到不同的服务器上去)。
-Dbootstrap_confdir:ZooKeeper需要复制一份集群的配置文件,这个参数就是告诉ZooKeeper去哪里找该配置文件。
-Dcollection.configName:给保存到ZooKeeper下的配置文件取个名字,这个例子中我们命名为“myconf”,随便取,叫什么名字都行。
2、 启动node2节点
Node1启动了,只得到了我们定义的分片集的一半,把node2启动起来才是我们定义的一个完整的集群。新打开一个命令行窗口,进入D:\solr_home\node2目录,输入如下命令,回车,启动node2:
[java] view
plaincopy
java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar
参数说明:
-Djetty.port:设置这个参数的原因是我们在同一台计算机上运行服务,不能使用Jetty的默认端口了,默认端口已经被node1占了,随便选一个和默认端口不一样的端口。当在不同的计算机上启动的时候,也可以使用一样的端口。
-DzkHost:这个参数告诉solr去哪里找ZooKeeper服务,默认情况下,ZooKeeper服务工作在solr端口加1000的那个端口上。Solr默认端口是8983,那么ZooKeeper的服务端口就是9983.
三、查看结果
在浏览器里面输入:
http://localhost:8983/solr/#/~cloud
在左边菜单中有个Cloud,说明我们的solrCloud已经配置正确了。右图中我们看到shard1分片下面有刚刚配置的2个solr服务节点。
相关文章推荐
- SolrCloud Hello Word
- SolrCloud Hello Word
- SolrCloud Hello Word
- SolrCloud Hello Word
- SolrCloud Hello Word
- SolrCloud Hello Word
- 集群部署及测试SolrCloud-5
- Python实现中文词云(wordcloud),根据背景图片生成词云
- React-Native hello word 搭建及新手常见问题
- 单机搭建伪分布SolrCloud
- 【嗨兴科技】Android 3.0.1 图解配置NDK开发环境以及Hello Word To JNI方法总结
- solrCloud 4.9 分布式集群部署及注意事项
- solrcloud伪集群安装配置
- CentOS下用Tomcat+Zookeeper+Nginx+Solr完美搭建SolrCloud平台(五)
- solrcloud线上创建collection,修改默认配置
- Mobl试用之helloword
- android利用jni调用第三方库——第三篇——编写库android程序整合第三方库libhello.so到自己的库libhelloword.so
- [漫步云端,Azure Services Platform]第二回:我的第一个云端应用:Hello,Cloud!
- 输出“hello, word”
- 深入剖析SolrCloud(四)