http://blog.sina.com.cn/s/blog_a2f090ae0102v4fx.html
将对应的java代码打包成jar上传到服务器上启动后台运行代码:(进入到:/home/solr/solr-script/lib)
nohup java cn.people.solr.index.Indexer -d article -c hdfs -n article_no_conpyfield -p hdfs://10.38.11.1:9000/data_center/article/year=2014/month=08/000000_0 &
nohup java cn.people.solr.index.Indexer -d article -c hdfs -n article_no_conpyfield -p hdfs://10.38.11.1:9000/data_center/article/year=2014/month=08/000000_0 &
nohup java cn.people.solr.index.Indexer -c rabbitmq -d article -n article_new &
[nohup ... & : 表示挂起到后台服务器上去执行,这下你就可以关闭你的客户端和电脑了]
【注意】运行java代码需要提前配置好java相关的参数,即在linux中的/etc/profile,如果在运行的时候报找不到对应的类,那是因为你缺少相关的jar包,需要将相应的jar包放到与你这个类的jar包同一个位置下即可,或是放到其他地方,写一个shell脚本去执行也是可以的。正常时写一个脚本去自动加载所需要的jar包,而这个脚本是交给supervisor进行管理(这样的话即使某个时候有问题线程断掉了,supervisor也会进行自动重启)。具体有什么不会的可以与我联系。
==================================在服务器部署和运行时的总结内容
如果已经创建好了一个名为article_new,但是想改为article_merge的名字,则只需要按照下面的命令进行链接修改即可。
【链接新的schmal地址:】
/data/solr-4.8.0/node/scripts/cloud-scripts/zkcli.sh -zkhost 10.38.11.102:2181 -cmd linkconfig -collection article_new -confname article_merge
我自己安装的对应的supervisor具体位置:
/home/solr/deploy/supervisor
访问:http://10.38.11.102:9001
其中对应的schema.xml是存放在/data/solr-conf/
创建Clound的时候,需要上传到服务器上生成相应的集群包,即:
article:
/data/solr-4.8.0/node/scripts/cloud-scripts/zkcli.sh -zkhost 10.38.11.102:2181 -cmd upconfig -confdir /data/solr-conf/article-merge -confname article_recent
weibo:
/data/solr-4.8.0/node/scripts/cloud-scripts/zkcli.sh -zkhost 10.38.11.102:2181 -cmd upconfig -confdir /data/solr-conf/weibo-recent -confname weibo_recent
Epaper:
/data/solr-4.8.0/node/scripts/cloud-scripts/zkcli.sh -zkhost solr6 -cmd upconfig -confdir /data/solr-conf/epaper-recent -confname epaper-new
其中,zkcli.sh为zookeeper的脚本,10.38.11.102:2181为zookeeper主机,其中2181为其端口号。-confdir后面指代的是要上传solr的schemal.xml的地址,-confname后面指代的是上传后solrcloud的名字
【之后就可以在浏览器上输入:】
http://10.38.11.102:8983/solr/admin/collections?action=CREATE&name=article_recent&numShards=3&replicationFactor=2&maxShardsPerNode=2即创建了名称为:article_recent,有3个分片2个复制因子的solrcloud,其中maxShardsPerNode=2默认值为1,即表示每个分片上最大复制数,那么我现在需要创建两个复制因子,那么我给其赋值为2即可,当然,你也可以赋值3、4等。
如果schema中的属性有变动,只需要将正确的schema上传到服务器上之后重启solr即可(这里的重启不是说重启zookeeper等,是在浏览器中输入重启命令即可,即:http://10.38.11.102:8983/solr/admin/collections?action=RELOAD&name=weibo_recent)
如果我需要创建两个分片,需要有两个复制因子,并且我要指定在哪台服务器上创建,那么测试需要用到关键字:createNodeSet了,它可以指定要创建的集群列表。
createNodeSet的作用是:创建集群中指定ip为分片,举例具体操作示例如下:
admin/collections?action=CREATE&name=epaper&numShards=1&replicationFactor=2&maxShardsPerNode=2&createNodeSet=10.38.11.130:8983_solr,10.38.11.127:8983_solr
具体的createNodeSet后面的名称可以在Cloud--Tree--/live_nodes下的列表中参考(在当前文件夹内可以查看“指定SolrCloud的shard.jpg”来寻找对应的类表信息),如下如所示:
【删除clound的时候】,需要通过:http://10.38.11.102:8983/solr/admin/collections?action=DELETE&name=article_merger
之后为了安全起见,需要到相应的集群上对应的位置将刚删除的clound文件夹删除,以便下次创建同名的时候可以创建成功!
具体路径以我本机为例:/data/solr-4.8.0/node/solr/
问题解决:
1.当出现Illegal directory问题是,可以在命令中通过:ll 错误地址 来查看对应的地址是否有问题
2.当在浏览器上执行一些命令时,如果有问题,到logging中去查看对应的问题内容并结合文档列表来解决
3.对应schema.xml中field="username"去掉之后,重新上传创建对应的SolrClound会报错!
根据报错信息可以发现,对应的username在copyfiled中也存在,而对应的copyfield为多个字段合并字段,故不能再在上面出现。
可以将对应的copyfield="username"去掉即可。
4.如果在创建schema的时候,有些字段不需要索引也不需要存储,则不需要再schema.xml中体现,因为这个字段查询或是做操作的时候都不会被用到,
而且如果多写上的话在网络传输的时候会增加额外的带宽消耗以及额外的增加所占的索引内存并营销搜索效率。
5.在创建好的schema中有些字段的类型是:string,而有些为text_zh,其中text_zh为自己后加的即新增加的中文分词内容。这两个类型就有说法了,分别
对应为:精确匹配和分词匹配。举例说明:假如我要输入“人民日报”关键词,如果是精确匹配,则只会搜索出有关人民日报的所有内容,而如果是分词匹配,
则会搜索出有关人民网、人民日报等各种分词组合后不同的词组的信息。
6.当solr的schema发生变化了之后,需要将改动后的schema.xml上传到zookeeper集群环境上,并且需要到solr集群上运行reload进行重启即可
http://localhost:8983/solr/admin/collections?action=RELOAD&name=epaper-new
8.写完webService的服务端之后需要生成相应的客户端进行测试
打开cmd,进入到你想要生成代码的位置,之后运行:wsdl2java 你自己的wsdl地址,例如我的是:
D:\java_workSpace\newProject\paperwebservice\src\cn\people\solr\searcher\client>wsdl2java http://192.168.1.107:8080/paperwebservice/PaperService?wsdl
相关推荐
SolrCloud 提供了一种分布式搜索解决方案,通过 ZooKeeper 实现集群管理,通过分片和副本提供高可用性和容错能力。安装过程中,需正确配置 Solr Home、上传配置到 ZooKeeper 并创建和管理集合。持续优化和监控是确保...
最后,如果你已尝试了上述步骤但仍无法解决问题,可以考虑恢复到一个已知良好状态的备份,或者从官方下载新的Solr版本重新部署。 总之,解决Solr启动404问题需要检查多个方面,包括但不限于Java环境、`solrhome`...
#### 一、SolrCloud基本概念与架构 **1.1 SolrCloud的关键概念** - **Core**:在传统的Solr单机环境中,Core通常指的是一个单独的索引。但在SolrCloud环境中,一个索引可能由多个物理节点上的多个Core共同构成,这...
因此,平衡缓存使用和系统资源是 Solr 管理的一个重要方面。 总之,Solr 的缓存机制是其高效搜索性能的关键组成部分。通过理解各种缓存类型、替换策略及其工作原理,我们可以更好地优化 Solr 配置,以满足特定应用...
《mmseg4j-solr-2.1.0-with-mmseg4j-core.zip:Solr4.8与mmseg4j分词器的集成详解》 在信息检索和文本挖掘领域,搜索引擎扮演着至关重要的角色,而Apache Solr作为一款高效、可扩展的开源全文搜索平台,被广泛应用...
监控Solr集群的状态对于及时发现和解决问题至关重要。 - **使用Cloudera Manager**:Cloudera Manager提供了丰富的监控工具,可以直接观察到Solr集群的运行状态。 - **使用Solr Admin UI**:每个Solr节点都提供了一...
在完成上述步骤后,你就成功地在Windows 7环境下搭建了一个SolrCloud的基本架构,能够支持多个Solr实例在单台机器上同时运行,这为后续的分布式搜索和索引管理提供了基础。接下来,你可能还需要配置Zookeeper集群,...
Solr安装与使用 Solr是一款功能强大的搜索引擎,能够帮助我们快速搭建企业搜索平台。在本文中,我们将详细介绍Solr的安装和使用过程。 一、安装Solr 首先,我们需要下载Solr的安装包。这里我们使用的是Solr 1.3...
SolrCloud是Apache Solr提供的一种分布式搜索解决方案,尤其适用于需要大规模容错、分布式索引和检索能力的应用场景。当索引数量较少时,通常无需启用SolrCloud;但在面对庞大的索引数据量和高并发搜索请求时,...
使用多线程方式 通过solrj 接口向solr新增索引信息
在本文档中,我们将详细介绍如何部署和使用 Solr 5.5.4 版本,包括两种常见的部署方式:Jetty 和 Tomcat,并涉及到中文分词器IKAnalyzer的集成以及对Word文档的支持。 首先,我们需要准备合适的环境,这里要求的是...
本文档是针对 Apache Solr 4.8 版本的参考指南,提供了安装、配置、管理以及使用 Solr 进行数据索引和搜索的全面指导。 ### 知识点: 1. **Solr 安装与配置** - 如何下载并安装 Solr - Solr 的基础配置 - 环境...
Solr集群安装与配置(一)第11讲 Solr集群安装与配置(二)第12讲 SolrCloud基本概念第13讲 Solrj操作SolrCloud第14讲 solr索引主从同步第15讲 solr之Facet第16讲 solr之FacetPivot第17讲 solr之Group第18讲 solr之...
Solr集群安装与配置(一)第11讲 Solr集群安装与配置(二)第12讲 SolrCloud基本概念第13讲 Solrj操作SolrCloud第14讲 solr索引主从同步第15讲 solr之Facet第16讲 solr之FacetPivot第17讲 solr之Group第18讲 solr之...
Linux环境下使用的Solr是一款强大的全文搜索引擎,主要设计用于处理大量数据的快速检索。Solr是Apache Lucene项目的一部分,提供了一个高效、可扩展的搜索和分析平台。在Linux环境中部署和使用Solr,可以充分利用其...
SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它是Solr版本4.0中的核心组件之一,它的主要思想是使用Zookeeper作为集群的配置信息中心。SolrCloud具有以下特色功能: 1. 集中式配置信息:SolrCloud通过...
本文简单描述SolrCloud的特性,基本结构和入门,基于Solr4.5版本。Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库。Solr是以Lucene为基础实现的文本检索应用服务。SolrCloud是Solr4.0版本开发出的具有...
Solr集群安装与配置(一)第11讲 Solr集群安装与配置(二)第12讲 SolrCloud基本概念第13讲 Solrj操作SolrCloud第14讲 solr索引主从同步第15讲 solr之Facet第16讲 solr之FacetPivot第17讲 solr之Group第18讲 solr之...