CentOS下安装Solr5.3

前端之家收集整理的这篇文章主要介绍了CentOS下安装Solr5.3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

https://lucene.apache.org/solr/

前言

Solr现在是一个独立的服务器。

从Solr5.0开始,Solr不再发布为在任何Servlet容器中部署的“war”Web应用程序包(Web Application Archive)。Solr现在部署为一个独立的java服务器应用程序,包含在Unix和Windows平台上可以使用的启动和停止脚本,以及将Solr作为服务安装到类Unix平台的/etc/init.d下的安装脚本。

本质上,Solr仍然以Servlet APIs实现,并在Jetty上运行,但只是作为一个实现。部署为“webapp”到其他的Servlet容器(或其他Jetty实例)上不被支持,可能在未来的Solr 5.x版本不会工作。而可能会带来Solr的其他改变,事实上是利用自定义网络协议栈功能

安装JRE

  1. 需要Java Runtime Environment(JRE) 1.7或更高版本,先验证。

    # java -version

  2. 安装可参考《在CentOS下安装JDK8》,包含JRE。

安装Solr5.3

  1. 去http://www.apache.org/dyn/closer.lua/lucene/solr/5.3.0下载Solr安装文件solr-5.3.0.tgz。

  2. 将solr-5.3.0.tgz文件放到/tmp目录下,执行如下脚本:

    #cd/tmp

    #tar-zxvfsolr-5.3.0.tgz//解压压缩包

  3. 创建应用程序和数据目录

    #mkdir-p/data/solr/usr/local/solr

  4. 创建运行solr的用户并赋权

    #groupaddsolr

    #useradd-gsolrsolr

    #chown-Rsolr.solr/data/solr/usr/local/solr

  5. 安装solr服务

    #solr-5.3.0/bin/install_solr_service.shsolr-5.3.0.tgz-d/data/solr-i/usr/local/solr

  6. 检查服务状态

    #servicesolrstatus

    将会看到如下输出

    Solrprocess29692runningonport8983

    {

    "solr_home":"/data/solr/data/",

    "version":"5.3.01696229-noble-2015-08-1717:10:43",

    "startTime":"2015-09-16T01:32:03.919Z",

    "uptime":"0days,0hours,3minutes,6seconds",

    "memory":"89.8MB(%18.3)of490.7MB"}

solr命令用法

  1. 定位到solr应用程序目录

    #cd/usr/local/solr/solr

  2. 查看solr命令选项

    #./bin/solr

Usage:solrCOMMANDOPTIONSwhereCOMMANDisoneof:start,stop,restart,status,healthcheck,create,create_core,create_collection,delete

Standaloneserverexample(startSolrrunninginthebackgroundonport8984):

./solrstart-p8984

SolrCloudexample(startSolrrunninginSolrCloudmodeusinglocalhost:2181toconnecttoZooKeeper,with1gmaxheapsizeandremoteJavadebugoptionsenabled):

./solrstart-c-m1g-zlocalhost:2181-a"-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044"

Pass-helpafteranyCOMMANDtoseecommand-specificusageinformation,suchas:./solrstart-helpor./solrstop-help

#./bin/solrstart-help

Usage:solrstart[-f][-c][-hhostname][-pport][-ddirectory][-zzkHost][-mmemory][-eexample][-ssolr.solr.home][-a"additional-options"][-V]

-fStartSolrinforeground;defaultstartsSolrinthebackgroundandsendsstdout/stderrtosolr-PORT-console.log

-cor-cloudStartSolrinSolrCloudmode;if-znotsupplied,anembeddedZooKeeperinstanceisstartedonSolrport+1000,suchas9983ifSolrisboundto8983

-h<host>SpecifythehostnameforthisSolrinstance

-p<port>SpecifytheporttostarttheSolrHTTPlisteneron;defaultis8983Thespecifiedport(SOLR_PORT)willalsobeusedtodeterminethestopportSTOP_PORT=($SOLR_PORT-1000)andJMXRMIlistenportRMI_PORT=(1$SOLR_PORT).Forinstance,ifyouset-p8985,thentheSTOP_PORT=7985andRMI_PORT=18985

-d<dir>SpecifytheSolrserverdirectory;defaultstoserver

-z<zkHost>ZooKeeperconnectionstring;onlyusedwhenrunninginSolrCloudmodeusing-cTolaunchanembeddedZooKeeperinstance,don'tpassthisparameter.

-m<memory>Setsthemin(-Xms)andmax(-Xmx)heapsizefortheJVM,suchas:-m4gresultsin:-Xms4g-Xmx4g;bydefault,thisscriptsetstheheapsizeto512m

-s<dir>Setsthesolr.solr.homesystemproperty;Solrwillcreatecoredirectoriesunderthisdirectory.ThisallowsyoutorunmultipleSolrinstancesonthesamehostwhilereusingthesameserverdirectorysetusingthe-dparameter.Ifset,thespecifieddirectoryshouldcontainasolr.xmlfile,unlesssolr.xmlexistsinZooKeeper.Thisparameterisignoredwhenrunningexamples(-e),asthesolr.solr.homedependsonwhichexampleisrun.Thedefaultvalueisserver/solr.

-e<example>Nameoftheexampletorun;availableexamples:cloud:SolrCloudexampletechproducts:ComprehensiveexampleillustratingmanyofSolr'scorecapabilitiesdih:DataImportHandlerschemaless:Schema-lessexample

-aAdditionalparameterstopasstotheJVMwhenstartingSolr,suchastosetupJavadebugoptions.Forexample,toenableaJavadebuggertoattachtotheSolrJVMyoucouldpass:-a"-agentlib:jdwp=transport=dt_socket,address=18983"Inmostcases,youshouldwraptheadditionalparametersindoublequotes.

-nopromptDon'tpromptforinput;acceptalldefaultswhenrunningexamplesthatacceptuserinput

-VVerbosemessagesfromthisscript

#./bin/solrcreate-help

Usage:solrcreate[-cname][-dconfdir][-nconfigName][-shards#][-replicationFactor#][-pport]

CreateacoreorcollectiondependingonwhetherSolrisrunninginstandalone(core)orSolrCloudmode(collection).Inotherwords,thisactiondetectswhichmodeSolrisrunningin,andthentakestheappropriateaction(eithercreate_coreorcreate_collection).Fordetailedusageinstructions,do:

bin/solrcreate_core-help

or

bin/solrcreate_collection–help

安装solr服务脚本用法

  1. 运行安装脚本

    #/tmp/solr-5.3.0/bin/install_solr_service.sh

ERROR:MustspecifythepathtotheSolrinstallationarchive,suchassolr-5.0.0.tgz

Usage:install_solr_service.shpath_to_solr_distribution_archiveOPTIONS

ThefirstargumenttothescriptmustbeapathtoaSolrdistributionarchive,suchassolr-5.0.0.tgz(only.tgzor.ziparesupportedformatsforthearchive)

SupportedOPTIONSinclude:

-dDirectoryforlive/writableSolrfiles,suchaslogs,pidfiles,andindexdata;defaultsto/var/solr

-iDirectorytoextracttheSolrinstallationarchive;defaultsto/opt/Thespecifiedpathmustexistpriortousingthisscript.

-pPortSolrshouldbindto;defaultis8983

-sServicename;defaultstosolr

-uUsertoowntheSolrfilesandruntheSolrprocessas;defaultstosolrThisscriptwillcreatethespecifieduseraccountifitdoesnotexist.

NOTE:Mustberunastherootuser

创建集合

在这个部分,我们创建一个简单的Solr集合。

Solr可以有多个集合,但在这个示例,我们只使用一个。使用如下命令,创建一个新的集合。我们以solr用户运行以避免任何权限错误

#su-solr-c"/usr/local/solr/solr/bin/solrcreate-cgettingstarted-ndata_driven_schema_configs"

在这个命令中,gettingstarted是集合的名字,-n指定配置集合。Solr默认提供了3个配置集合。这里我们使用的是schemaless,意思是可以提供任意名字的任意列,类型将会被猜测。

Setupnewcoreinstancedirectory:/data/solr/data/gettingstarted

Creatingnewcore'gettingstarted'usingcommand:http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted

{"responseHeader":{"status":0,"QTime":3247},"core":"gettingstarted"}


你现在已经创建了集合,并可以开始添加数据。默认的架构只需要提供一列:id。没有其他默认列,只有动态列。

添加查询文档

在这个部分,我们将浏览Solr Web界面,添加一些文档到集合中。

问你使用Web浏览器访问http://your_server_ip:8983/solr,Solr Web界面将会显示为:

这个Web界面包含大量的有用信息,可以被用于调试在使用中产生的任何问题。

集合被划分为核,这就是为什么在Web界面中有大量的对核的参照。现在,gettingstarted只包含一个核,名为gettingstarted。在左手边,可以看到“Core Selector”下拉菜单,我们可以选择gettingstarted看到更多信息。

在选择gettingstarted核之后,选择“Documents”。文档存储可被Solr搜索的真实数据。因为我们使用了一个无模式的配置,我们可以使用任何列。我使用如下的JSON示例添加了一个单一文档,通过拷贝以下到“Documents(s)”列:

{

"number":1,

"president":"GeorgeWashington",

"birth_year":1732,

"death_year":1799,

"took_office":"1789-04-30",

"left_office":"1797-03-04",

"party":"NoParty"

}

点击“Submit document”添加文档到索引。过一会,你会看到如下信息:

添加文档后的输出

Status:success

Response:

{

"responseHeader":{

"status":0,

"QTime":290

}

}

你可以使用一个类似的或完全不同的结构添加更多文档,但你也可以只使用一个文档继续。

现在,选择左边的“Query”去查询我们刚刚添加的文档。保持屏幕中的默认值,在点击“Execute Query”之后,你最多看到10个文档,依赖于你添加了多少:

查询输出

{

"responseHeader":{

"status":0,

"QTime":39,

"params":{

"q":"*:*",

"indent":"true",

"wt":"json",

"_":"1442371884598"

}

},

"response":{

"numFound":1,

"start":0,

"docs":[

{

"number":[

1

],

"president":[

"GeorgeWashington"

],

"birth_year":[

1732

],

"death_year":[

1799

],

"took_office":[

"1789-04-30T00:00:00Z"

],

"left_office":[

"1797-03-04T00:00:00Z"

],

"party":[

"NoParty"

],

"id":"b9b294c1-4b68-4d96-adc2-f6fb77f60932",

"_version_":1512437472611532800

}

]

}

}

参考:http://lucene.apache.org/solr/quickstart.html

猜你在找的CentOS相关文章