美文网首页
《日子》.分布式-slorcloud4.6.0 cluster

《日子》.分布式-slorcloud4.6.0 cluster

作者: 战神汤姆 | 来源:发表于2015-05-13 10:36 被阅读0次

    一、环境准备

    CentOS-6.4-x86_64-minimal.iso
     jdk-7u51-linux-x64.rpm
      zookeeper-3.4.5.tar
      solr-4.6.0.zip
      IK_Analyzer_2012FF_hf1.zip

    服务器6台: 192.168.56.11- SolrCloud.Shard1.Leader
              192.168.56.12-SolrCloud.Shard2.Leader
            192.168.56.13-SolrCloud.Shard3.Leader
              192.168.56.14-SolrCloud.Shard1.Replica
              192.168.56.15-SolrCloud.Shard2.Replica
              192.168.56.16-SolrCloud.Shard3.Replica
    

    二、环境安装

    1.CentOs6.4安装

    1)配制用户
        安装完后配制用户solrcloud 密码: solrcloud
        [root@localhost ~]# useradd solrcloud
        [root@ localhost ~]# passwd solrcloud
       2)修改当前机器名称
        vi etc/sysconfig/network
        HOSTNAME=SolrCloud.Shard1.Leader
       3)修改当前机器ip
        vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0
        HWADDR=08:00:27:5C:8C:BD
        TYPE=Ethernet
        UUID=4fc0a398-f82b-49e5-8657-27bf5b260444
        ONBOOT=yes
        NM_CONTROLLED=yes
        IPADDR=192.168.56.11
        NETMASK=255.255.255.0

    重启服务 service network restart
    

    4)上传安装包(工具上传WinSCP)
        创建文件夹 mkdir /solrcloud
         赋写权限 chmod 777 /solrcloud
         上传所需安装软件包到/solrcloud

    Paste_Image.png

    2.jdk 安装

    进入jdk安装目录 [root@localhost install]# rpm -ivh jdk-7u51-linux-x64.rpm

    3.zookeeper cluster安装

    参考《日子》.分布式之开篇-Zookeeper集群安装

    4.solrcloud cluster安装

    1)在solrcloud下新建solrhome,并赋于读写权限
    
    2)将上传的solr.4.6.0压缩包解压缩,
       tar -zxvf solr-4.6.0.tgz
    3)将solr.4.6.0/dist/solr-4.6.0.war 复制到/solrcloud/solrhome 并重命为solr.war
       cp /solrcloud/solr-4.6.0/dist/solr-4.6.0.war /solrcloud/solrhome/solr.war
    4)将上传的tomcat解压缩
      tar -zxvf apache-tomcat-6.0.29.tar.gz
     5)进入tomcat bin目录,启动tomcat
      cd /solrcloud/apache-tomcat-6.0.29/bin  进入bin目录
      ./startup.sh  启动tomcat  此时会在tomcat下的conf文件夹下多出一个目录Catalina
      cd /solrcloud/apache-tomcat-6.0.29/conf/Catalina/localhost
      新建solr.xml文件内容如下:
     <?xml version="1.0" encoding="UTF-8" ?>
    <Context docBase="/solrcloud/solrhome/solr.war" debug="0" crossContext="false" >  
       <Environment name="solr/home" 
        type="java.lang.String" 
        value="/solrcloud/solrhome" 
        override="true" />
    </Context>
        docBase="/solrcloud/solrhome/solr.war" 指定为solrcloud/solrhome下复制出来solr的war包
    6)停tomcat 再次启动tomcat, webapps 下边多了解压出来的solr文件夹
    进入solr/WEB-INF/ 下修改web.xml
      <!--
        <env-entry>
           <env-entry-name>solr/home</env-entry-name>
          <env-entry-value>/put/your/solr/home/here</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
        </env-entry>
       -->
    
     改为 :
    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>/solrcloud/solrhome</env-entry-value>
          <env-entry-type>java.lang.String</env-entry-type>
      </env-entry>
    7)将/solrcloud/solr-4.6.0/example/solr 文件夹下所有东西复制到 /solrcloud/solrhome
      cp  -r /solrcloud/solr-4.6.0/example/solr/*  /solrcloud/solrhome
    8)复制solr-4.6.0/example/lib/ext下所有jar包到tomcat 的lib下
      cp /solrcloud/solr-4.6.0/example/lib/ext/*  /solrcloud/apache-tomcat-6.0.29/lib/
      复制 solr-4.6.0/example/resources/log4j.properties  到solr/WEB-INF/classes
      如果没有class先创建classes文件夹,并赋于写权限
      cp  /solrcloud/solr-4.6.0/example/resources/log4j.properties /solrcloud/apache-tomcat-    6.0.29/webapps/solr/WEB-INF/classes/
    
    9)中文分词配制
       解压IK_Analyzer_2012FF_hf1.zip
    上传IKAnalyzer.cfg.xml, stopword.dic文件到/solrcloud/apache-tomcat-6.0.29/webapps/solr/WEB-INF/classes 下
    上传IKAnalyzer2012FF_u1.jar 到
    /solrcloud/apache-tomcat-6.0.29/webapps/solr/WEB-INF/lib 下
    10)schema.xml 加入中文分词配制
      清除所有
    加入
    <fieldType name="text_ik" class="solr.TextField"> 
        <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
    <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
      </fieldType>
    清除所有dynamicField 加入
     <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
     <dynamicField name="*_s"  type="string"  indexed="true"  stored="true" />
     <dynamicField name="*_l"  type="long"   indexed="true"  stored="true"/>
     <dynamicField name="*_b"  type="boolean" indexed="true" stored="true"/>
     <dynamicField name="*_f"  type="float"  indexed="true"  stored="true"/>
     <dynamicField name="*_d"  type="double" indexed="true"  stored="true"/>
     <dynamicField name="*_sa"  type="text_ik"  indexed="true"  stored="true" />
     <dynamicField name="*_dt"  type="date"    indexed="true"  stored="true"/>
     清除多余的field保留
     <field name="_version_" type="long" indexed="true" stored="true"/>
      <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
      <field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
    清除copyField
    11)启动tomcat 访问 http://localhost:8080/solr 如图,至此单机版solr配制完成
    
    Paste_Image.png

    <pre><code> 12)配制集群
    将zookeeper和tomcat关联

    192.168.56.11台机修改tomcat 的 bin目录下catalina.sh文件在第二行加入

    JAVA_OPTS="-Dbootstrap_confdir=/solrcloud/solrhome/collection1/conf -Dcollection.configName=myconf -DzkHost=192.168.56.11:2181,192.168.56.12:2181,192.168.56.13:2181,192.168.56.14:2181,192.168.56.15:2181,192.168.56.16:2181 -DnumShards=3"

    192.168.56.12-16 , 5台机都修改tomcat 的 bin目录下catalina.sh文件在第二行加入
    JAVA_OPTS="-DzkHost=192.168.56.11:2181,192.168.56.12:2181,192.168.56.13:2181,192.168.56.14:2181,192.168.56.15:2181,192.168.56.16:2181"

    至此集群配制完毕

    创建集合
    http://192.168.56.11:8080/solr/admin/collections?action=CREATE&name=guangzhou&numShards=3&replicationFactor=3
    任何一个ip均可访问
    http://192.168.56.11:8080/solr/#/~cloud

    Paste_Image.png

    </code></pre>

    相关文章

      网友评论

          本文标题:《日子》.分布式-slorcloud4.6.0 cluster

          本文链接:https://www.haomeiwen.com/subject/uxgfqttx.html