砂拉豆 发表于 2017-12-20 09:12:50

solrcloud(jetty容器)搭建及使用

  一、准备工作
  1.系统及软件版本
  系统版本:centos6.4、zookeeper版本:zookeeper-3.4.8、solr版本:solr-5.5.3
  2.安装3台虚拟机
  虚拟机ip    192.168.17.142,192.168.17.143,192.168.17.144
  3.给每台机器安装jdk
  4.创建data目录并上传zookeeper-3.4.8和solr-5.5.3至data下(每台机器均如此)
  mkdir /data
  二、zookeeper集群安装
  1.解压zookeeper
  tar -zxvf zookeeper-3.4.8.tar.gz
  2.创建 data和log目录用于存放数据
  mkdirzookeeper-3.4.8/data
  mkdirzookeeper-3.4.8/log
  3.拷贝zookeeper配制文件zoo_sample.cfg
  cp conf/zoo_sample.cfgconf/zoo.cfg
  4.修改配置文件 zoo.cfg
  vi conf/zoo.cfg
  加入如下如内容:
  

         dataDir=/data/zookeeper-3.4.8/data  dataLogDir=/data/zookeeper-3.4.8/log
  server.1=192.168.17.142:2888:3888
  server.2=192.168.17.143:2888:3888
  server.3=192.168.17.144:2888:3888
  

  

  5.在zookeeper中的data下创建myid 并写入对应的数字
  注意:在myid要对应,在192.168.17.142服务器上的myid 数字为1,在192.168.17.143服务器上的myid 数字为2,在192.168.17.144服务器上的myid 数字为3。这些数字可以任意 但要和zoo.cfg中的servder.数字中的数字一致。
  6.开启zookeeper端口  
  

      /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT  
      
/sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT  
      
/sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT  

  7.保存修改并重启防火墙     
  /etc/rc.d/init.d/iptables save #将更改进行保存
  /etc/init.d/iptables restart #重启防火墙以便改动生效
  8.启动zookeeper集群
  进入 zookeeper中的bin目录   
  ./zkServer.sh start
  查看集群状态
  ./zkServer.sh status   刚启动可能会有错误,集群中其他节点一并起来后就正常了
  ./zkServer.sh stop停止
  ./zkServer.sh restart重启
  ./zkCli.sh连接zookeeper集群
  9.安装成功的结果如下   一个 leader   2个follower


  三、solr集群的搭建
  1.解压solr
  tar -zxvf solr-5.5.3.tgz
  2.修改bin下solr.in.sh文件
  ZK_HOST="192.168.17.142:2181,192.168.17.143:2181,192.168.617.144:2181"
  去掉 ZK_CLIENT_TIMEOUT 的注释

  3.上传mysql及ik中文分词器到/data/solr-5.5.3/server/solr-webapp/webapp/WEB-INF/lib/下中文分词器的扩展分词等配置文件 上传到 /data/solr-5.5.3/server/solr-webapp/webapp/WEB-INF/classes (classes 目录需要自己创建)
  4.创建solrhome目录(用于存放上传的配置文件)及拷贝配置文件
  mkdir /data/solrhome
  mkdir /data/solrhome/myconf
  cp -r /data/solr-5.5.3/example/example-DIH/solr/solr/conf/data/solrhome/myconf
  5.修改myconf中conf下的solrconfig.xml及managed-schema参考这个。。。。(这里不做说明)
  6.上传配置文件到zookeeper(在/data/solr-.5.3/server/scripts/cloud-scripts/zkcli.sh同样可以上传)
  进入zookeeper的bin下
  ./zkcli.sh -zkhost192.168.17.142:2181,192.168.17.143:2181,192.168.17.144:2181 -cmd upconfig -confdir /data/solrhome/myconf/conf/ -confname test   (上传文件夹)
  -confdir:这个指的是 本地上传的文件位置   
  -confname:上传后在zookeeper中的节点名称
  ./zkcli.sh-zkhost 192.168.17.142:2181,192.168.17.143:2181,192.168.617.144:2181 -cmd putfile /configs/test/data-config.xml /data/solrhome/myconf/conf/data-config.xml(上传单个文件)
  参数说明putfile后 第一个/configs/test/data-config.xml指的是 zookeeper中的配置文件 , /data/solrhome/myconf/conf/data-config.xml这个是本地文件路径
  注意: 单个文件上传先要删除,不然会报错。
  7.zookeeper集群操作上传的文件
  进入zookeeper的bin下
  ./zkCli.sh连接zookeeper集群
  ls /configs/myconf    查看上传的配置文件   
  delete /configs/myconf/solrconfig.xml   删除文件
  delete /configs/myconf    删除空文件夹
  get/configs/myconf/solrconfig.xml   查看文件内容
  rmr /configs/myconf递归删除(慎重使用)
  8.启动solr集群
  进入 solr-5.5.3下
  ./bin/solr restart
  9.操作collection
  a.创建collection
  http://192.168.17.142:8983/solr/admin/collections?action=CREATE&name=test&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=myconf
  b.删除
  http://192.168.17.142:8983/solr/admin/collections?action=DELETE&name=test
  c.重新加载
  http://192.168.17.143:8983/solr/admin/collections?action=RELOAD&name=test
  10.错误处理
  a.创建内核时出错。错误信息中ip是 192.168.17.1
  处理:修改/data/solr-5.5.3/server/solr/solr.xml 文件添加ip

  注意:为了尽可能的减少错误,配置文件应该先在单节点的solr中测试。没问题后上传到zookeeper节点中
页: [1]
查看完整版本: solrcloud(jetty容器)搭建及使用