您的位置:首页 > 其它

搜索系统5:搭建Solr Cloud环境

2017-09-05 18:11 330 查看
   先准备好环境,下载solr6.6.0,jdk8,zookeeper3.4.10 。当前最新的solr是6.6.0 。如果想快速运行solr cloud还是看官方的《Getting Started with SolrCloud》 ,本例是介绍配置最简外部zookeeper,手动建node与shard和solr配置.

1.启动zookeeper。

 如121.42.xx.xx:12181   

zookeeper linux环境搭建步骤如下:

a.下载

   http://apache.fayea.com/zookeeper/zookeeper-3.4.10/
b. 解压

   tar -xvf zookeeper-3.4.10.tar.gz

c.配置文件

   cd zookeeper-3.4.10/conf

   cp zoo_sample.cfg zoo.cfg

   vi zoo.cfg 把下面的端口改一下,原配置里的2181可能已经被用。

    clientPort=12181

d.启动zkServer.sh

  cd ../bin

./zkServer.sh start

2.启动solr。

新建testnode文件夹,里面放入solr.xml.进入solr/bin目录,执行以下命令

solr start -c -p 8983 -s ../example/cloud/testnode -z 121.42.xx.xx:12181

解释一下参数

-c 就是-cloud以solr云模式启动。

-p 8983 solr会用自己的jetty作为服务器启动,而jetty使用的web端口是8983

-s ../example/cloud/testnode/solr 指定配置文件路径

-z 121.42.xx.xx:12181 指定zookeeper地址

3.使用solrj上传配置文件。

zkCli命令没传成功不知为啥。把以下3行代码放入main函数执行,目录自己换下。

SolrZkClient zkClient=new SolrZkClient("121.42.xx.xx:12181",3000);

ZkConfigManager confManager = new ZkConfigManager(zkClient);

confManager.uploadConfigDir(Paths.get("E:/work/solr/solr_cloud/solr-6.2.1/server/solr/configsets/data_driven_schema_configs/conf"), "chzhConfig");注意这个data_driven_schema_configs/conf的conf文件夹是schemal.xml、solrconfig.xml等文件的上一层文件夹.

执行上面代码需要的maven包:

  solr-solrj

  org.apache.solr

  ${solrj.version}

用真实版本替换${solrj.version}哈。

4.创建collections与其对应的Shards。

使用第三步上传的chzhConfig。在浏览器访问:

方法一:

    进入solr控制台,可以看见刚在创建的配置,使用这个配置创建collection.

这里如果ik,自定义simlilarity等需要同步后才能创建成功。jetty的放置位置与tomcat不同,在solr-x.x.0/server/solr-webapp/webapp/WEB-INF/lib里



方法二:

 http://localhost:8983/solr/admin/collections?action=CREATE&name=chzh&numShards=2&replicationFactor=1&maxShardsPerNode=5&collection.configName=chzhConfig

以下两步是添加node与replica core的方法,可根据需要多添加几个。
5.添加一个node,与第2步一样建node2文件夹。

现在只有一个节点(node),如下图。如果要数据分发到多台机器,那么需多个节点。


复制一个solr压缩包到新的机器(同一机器可创建新目录),和上面创建testnode方法一样,创建一个再创建一个node2。

solr start -c -p 8973 -s ../example/cloud/testnode2/solr -z 121.42.xx.xx:12181

6.在第4步添加的node2上加入replica。

如下图:



添加后再查看clode视图,就可以看见两个node,如下:



好了,现在基础环境已经搭好了。下文介绍下如何导入数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: