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

   先准备好环境,下载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,如下:



好了,现在基础环境已经搭好了。下文介绍下如何导入数据。

你可能感兴趣的:(搜索系统5:搭建Solr Cloud环境)