所谓覅破解 发表于 2017-12-19 10:47:39

搜索系统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,如下:

  好了,现在基础环境已经搭好了。下文介绍下如何导入数据。
页: [1]
查看完整版本: 搜索系统5:搭建Solr Cloud环境