设为首页 收藏本站
查看: 927|回复: 0

[经验分享] 信方互联网硬汉

[复制链接]

尚未签到

发表于 2017-12-18 15:42:40 | 显示全部楼层 |阅读模式
Solr架构(体系结构)
  在本章中,我们将讨论Apache Solr的架构。 下图显示了Apache Solr的体系结构的框图。
DSC0000.jpg

  Solr架构 - 构件块
  以下是Apache Solr的主要构建块(组件)



    • 请求处理程序 - 发送到Apache Solr的请求由这些请求处理程序处理。请求可以是查询请求或索引更新请求。根据这些请示的要求来选择请求处理程序。为了将请求传递给Solr,通常将处理器映射到某个URI端点,并且它将为指定的请求提供服务。
    • 搜索组件 - 搜索组件是Apache Solr中提供的搜索类型(功能)。它可能是拼写检查,查询,构面,命中突出显示等。这些搜索组件被注册为搜索处理程序。多个组件可以注册到搜索处理程序。
    • 查询解析器Apache Solr查询解析器解析传递给Solr的查询,并验证查询的语法是否有错误。解析查询后,将它们转换为Lucene理解的格式。
    • 响应写入器 - Apache Solr中的响应写入器是为用户查询生成格式化输出的组件。 Solr支持XML,JSON,CSV等响应格式。对每种类型的响应都有不同的响应写入。
    • 分析器/分词器 - Lucene以令牌的形式识别数据。 Apache Solr分析内容,将其分成令牌,并将这些令牌传递给Lucene。 Apache Solr中的分析器检查字段的文本并生成令牌流。分词器将分析器准备的令牌流分解成令牌。
    • 更新请求处理器 - 每当向Apache Solr发送更新请求时,请求都通过一组称为更新请求处理器的插件(签名,日志记录,索引)运行。这个处理器负责修改,例如删除字段,添加字段等。

Solr术语
  在本章中,我们将解释并理解在Solr中经常使用的一些术语的真正含义。

一般术语
  以下是在所有类型的Solr设置中使用的一般术语的列表 -
  实例 - 就像一个tomcat实例或一个jetty实例,这个术语指的是在JVM中运行的应用程序服务器。Solr主目录提供对每个这些Solr实例的引用,一个或多个核心可以配置在每个实例中运行。


  •   核心(core) - 在应用程序中运行多个索引时,可以在每个实例中拥有多个核心,而不是每个核心的多个实例。

  •   主目录(home) - 术语$SOLR_HOME是指主目录,其中包含有关内核及其索引,配置和依赖关系的所有信息。

  •   碎片(Shard) - 在分布式环境中,数据在多个Solr实例之间进行分区,其中每个数据块可以称为碎片(Shard)。它包含整个索引的子集。

SolrCloud术语
  在前面的章节中,我们讨论了如何在独立模式下安装Apache Solr。请注意,还可以在分布式模式(云环境)中安装SolrSolr以主从模式安装。在分布式模式下,索引在主服务器上创建,并且将其复制到一个或多个从服务器。
  与Solr Cloud相关的主要术语如下 -


  • 节点(Node) - 在Solr云中,Solr的每个单个实例都被视为一个节点。
  • 集群 - Solr云环境中的所有节点组合在一起构成集群。
  • 集合 - 集群具有称为集合的逻辑索引。
  • 碎片 - 碎片是集合的一部分,它具有一个或多个索引副本。
  • 副本 - 在Solr Core中,在节点中运行的分片副本称为副本。
  • 领导者(Leader) - 它也是碎片的副本,它将Solr Cloud的请求分发给剩余的副本。
  • Zookeeper - 这是一个Apache项目,Solr Cloud用于集中配置和协调,管理集群和选择领导者。
配置文件
  Apache Solr中的主要配置文件如下 -


  • Solr.xml - 它是包含Solr Cloud相关信息,此文件是在$SOLR_HOME目录中。 为了加载核心,Solr引用这个文件,这有助于识别它们。
  • Solrconfig.xml − 此文件包含与请求处理和响应格式化相关的定义,核心特定配置,以及索引,配置,管理内存和提交。
  • Schema.xml − 此文件包含整个模式以及字段和字段类型。
  • Core.properties - 此文件包含特定于核心的配置。它被引用为核心发现,因为它包含核心的名称和数据目录的路径。它可以在任何目录中使用,会将此目录它视为核心目录。
启动Solr
  安装Solr后,进入到Solr主目录中的bin文件夹,并使用以下命令启动Solr。
  

[Hadoop@localhost ~]$ cd  
[Hadoop@localhost ~]$ cd Solr/
  
[Hadoop@localhost Solr]$ cd bin/
  
[Hadoop@localhost bin]$ ./Solr start
  

  


Shell  在 Windows 系统中使用以下命令 -
DSC0001.png

  此命令在后台启动Solr,通过显示以下消息监听端口8983。
  

Waiting up to 30 seconds to see Solr running on port 8983 [\]  
Started Solr server on port 8983 (pid = 6035). Happy searching!
  

  


Bash
在前台启动Solr
  如果使用start命令启动Solr,那么Solr将在后台启动。然而可以使用-f选项在前台启动Solr。
  

[Hadoop@localhost bin]$ ./Solr start –f  

  
5823 INFO  (coreLoadExecutor-6-thread-2) [   ] o.a.s.c.SolrResourceLoader
  
Adding 'file:/home/Hadoop/Solr/contrib/extraction/lib/xmlbeans-2.6.0.jar' to
  
classloader
  
5823 INFO  (coreLoadExecutor-6-thread-2) [   ] o.a.s.c.SolrResourceLoader

  
Adding 'file:/home/Hadoop/Solr/dist/Solr-cell-6.2.0.jar' to>  
5823 INFO  (coreLoadExecutor-6-thread-2) [   ] o.a.s.c.SolrResourceLoader
  
Adding 'file:/home/Hadoop/Solr/contrib/clustering/lib/carrot2-guava-18.0.jar'

  
to>  
5823 INFO  (coreLoadExecutor-6-thread-2) [   ] o.a.s.c.SolrResourceLoader
  
Adding 'file:/home/Hadoop/Solr/contrib/clustering/lib/attributes-binder1.3.1.jar'

  
to>  
5823 INFO  (coreLoadExecutor-6-thread-2) [   ] o.a.s.c.SolrResourceLoader
  
Adding 'file:/home/Hadoop/Solr/contrib/clustering/lib/simple-xml-2.7.1.jar'

  
to>  
……………………………………………………………………………………………………………………………………………………………………………………………………………
  
………………………………………………………………………………………………………………………………………………………………………………………………….
  
12901 INFO  (coreLoadExecutor-6-thread-1) [   x:Solr_sample] o.a.s.u.UpdateLog
  
Took 24.0ms to seed version buckets with highest version 1546058939881226240 12902
  
INFO  (coreLoadExecutor-6-thread-1) [   x:Solr_sample]
  
o.a.s.c.CoreContainer registering core: Solr_sample
  
12904 INFO  (coreLoadExecutor-6-thread-2) [   x:my_core] o.a.s.u.UpdateLog Took
  
16.0ms to seed version buckets with highest version 1546058939894857728
  
12904 INFO  (coreLoadExecutor-6-thread-2) [   x:my_core] o.a.s.c.CoreContainer
  
registering core: my_core
  

  


Shell
在另一个端口上启动Solr
  使用start命令的-p选项指定一个启动端口,可以在另一个端口启动Solr,如下面的代码块所示。
  

[Hadoop@localhost bin]$ ./Solr start -p 8081  

  
Waiting up to 30 seconds to see Solr running on port 8081 [-]   
  
Started Solr server on port 8081 (pid = 10137). Happy searching!
  

  


Shell
停止Solr
  可以使用stop命令停止Solr,如下示例 -
  

$ ./Solr stop  

  


Shell  此命令停止Solr,显示消息如下所示。
  

Sending stop command to Solr running on port 8983 ... waiting 5 seconds to  
allow Jetty process 6035 to stop gracefully.
  

  


Shell
重新启动Solr
  Solr的 restart 命令会停止Solr 5秒钟,然后再次启动。可以使用以下命令重新启动Solr -
  

./Solr restart  

  


Shell  此命令重新启动Solr,显示以下消息 -
  

Sending stop command to Solr running on port 8983 ... waiting 5 seconds to  
allow Jetty process 6671 to stop gracefully.
  
Waiting up to 30 seconds to see Solr running on port 8983 [|]  [/]   
  
Started Solr server on port 8983 (pid = 6906). Happy searching!
  

  


Shell
Solr ─ help 命令
  Solr的help命令可用于查看Solr提示及其选项的用法。
  

[Hadoop@localhost bin]$ ./Solr -help  

  
Usage: Solr COMMAND OPTIONS        
  where COMMAND is one of: start, stop, restart, status, healthcheck,
  
create, create_core, create_collection, delete, version, zk  
  
Standalone server example (start Solr running in the background on port 8984):  
  ./Solr start -p 8984  
  
SolrCloud example (start Solr running in SolrCloud mode using localhost:2181

  
to connect to Zookeeper, with 1g max heap>  ./Solr start -c -m 1g -z localhost:2181 -a "-Xdebug -
  Xrunjdwp:transport = dt_socket,server = y,suspend = n,address = 1044"  
  
Pass -help after any COMMAND to see command-specific usage information,   
  
such as: ./Solr start -help or ./Solr stop -help
  

  


Shell
Solr ─ status命令
  Solr的 status 命令可用于在计算机上搜索和找出运行的Solr实例。它可以提供有关Solr实例的信息,例如它的版本,内存使用情况等。
  可以使用status命令检查Solr实例的状态,如下所示:
  

[Hadoop@localhost bin]$ ./Solr status  

  


Shell  执行时,显示上述Solr的status命令结果如下 -
  

Found 1 Solr nodes:  

  
Solr process 6906 running on port 8983 {   
  "Solr_home":"/home/Hadoop/Solr/server/Solr",   
  "version":"6.2.0 764d0f19151dbff6f5fcd9fc4b2682cf934590c5 -
  mike - 2016-08-20 05:41:37",   
  "startTime":"2016-09-20T06:00:02.877Z",   
  "uptime":"0 days, 0 hours, 5 minutes, 14 seconds",   
  "memory":"30.6 MB (%6.2) of 490.7 MB"
  
}
  

  


Shell
Solr Admin
  启动Apache Solr后,就可以使用以下URL访问Solr Web界面的主页。


  • http://Localhost:8983/solr/
  Solr管理员的界面如下 -
DSC0002.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-425439-1-1.html 上篇帖子: solr-jd 下篇帖子: 咫尺天涯是路人丶
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表