cloudera search1.0.0环境搭建(1):搭建solrcloud

来源:互联网 发布:横幅广告制作软件 编辑:程序博客网 时间:2024/05/29 21:30

本文基于Cloudera Manager5.0.0,所有服务基于CDH5.0.0 parcel安装。

CM 安装solr是非常方便的,在集群上添加服务就行了,solrcloud需要zookeeper集群的支持,所以添加solr服务之前,先添加zookeeper服务。在此不赘述。

本文从添加好solr服务之后开始说起,我有4个主机,所以添加solr服务的时候我添加了4个solr server,每台主机一个,在选择相应的zookeeper服务启动solr服务之后,这四个节点就在同一个solrcloud集群里面了。

cm装好的solr服务默认是没有collection的。我们可以利用cloudera提供的一个脚本工具来管理solrcloud,该工具为:solrctl

$ solrctl --helpusage: /usr/bin/solrctl [options] command [command-arg] [command [command-arg]] ...Options:    --solr solr_uri    --zk   zk_ensemble    --help    --quietCommands:    init        [--force]    instancedir  [--generate path]                [--create name path]                [--update name path]                [--get name path]                [--delete name]                [--list]    collection  [--create name -s <numShards>                              [-c <collection.configName>]                              [-r <replicationFactor>]                              [-m <maxShardsPerNode>]                              [-n <createNodeSet>]]                [--delete name]                [--reload name]                [--stat name]                [--deletedocs name]                [--list]    core        [--create name [-p name=value]...]                [--reload name]                [--unload name]                [--status name]

solr服务首次启动的时候,会在hdfs上创建/solr目录,还会在zookeeper上创建/solr节点,zookeeper上的/solr节点下面用来保存了solrcloud的相关配置信息。

由于现在solrcloud上是没有collection的,我们先创建一个collection,命名为collection1,在创建collection1之前,首先要将配置信息上传到zookeeper上,我们这里就将solr自带的examples里面的那个solr目录下面的collection1的配置上传,对应cm安装的集群,这个目录在/opt/cloudera/parcels/CDH/share/doc/solr-doc-4.4.0+cdh5.0.0+178/example/solr目录下面,我们用:

sudo -u solr solrctl instancedir --create collection1 /opt/cloudera/parcels/CDH/share/doc/solr-doc-4.4.0+cdh5.0.0+178/example/solr/collection1

执行该命令后,会将/opt/cloudera/parcels/CDH/share/doc/solr-doc-4.4.0+cdh5.0.0+178/example/solr/collection1下的conf目录下面的所有文件上传到zookeeper的/solr/configs下面的collection1目录下面.

OK,配置文件上传了,下一步是创建collection,运行如下命令:

sudo -u solr solrctl collection --create collection1 -s 2

创建一个名叫collection1的collection,有2个shard,我们没写-c参数,就会使用默认与collection name相同的配置文件目录作为-c的默认配置,也即会使用默认的上一步上传到zookeeper的collection1目录作为默认配置目录.

OK,我们可以检测一下collection是否创建成功,运行:solrctl collection --list,看看有没有collection1

在solr控制台管理页面上的cloud下面可以砍到图形化描述的collection1的拓扑结构,这里两个shard具体分配到哪两个server是由solrcloud自己管理的,我们无需关心。

我们试着给这个collection添加一个document:

cd /opt/cloudera/parcels/CDH/share/doc/solr-doc-4.4.0+cdh5.0.0+178/example/exampledocs

java -Durl=http://master68:8983/solr/collection1/update -jar post.jar ipod_video.xml

然后执行一下查询语句:http://master68:8983/solr/collection1/select?q=*:*

可以查询到刚才我们添加的索引文件,至此,一个简单的solrcloud搭建好了。

0 0
原创粉丝点击