solrcloud(jetty器皿)搭建及使用

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目录用于存放数据

      mkdir  zookeeper-3.4.8/data

      mkdir  zookeeper-3.4.8/log

    3.拷贝zookeeper配制文件zoo_sample.cfg

      cp conf/zoo_sample.cfg  conf/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

      solrcloud(jetty器皿)搭建及使用

      solrcloud(jetty器皿)搭建及使用

三、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 的注释

    solrcloud(jetty器皿)搭建及使用

  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 -zkhost  192.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

         solrcloud(jetty器皿)搭建及使用

    注意:为了尽可能的减少错误,配置文件应该先在单节点的solr中测试。没问题后上传到zookeeper节点中