zoukankan      html  css  js  c++  java
  • ubuntu下面搭建SolrCloud集群

    首先要先把ubuntu环境搭建好,配置好静态IP,我这边配置的是3台机子,solr搭建集群至少是2台。

    192.168.0.15  主机

    192.168.0.16  从机

    192.168.0.17  从机 

    下面操作每个机子都要执行。

    一:配置静态IP

    1. sudo -i  获取最高用户级别

    2.nano /etc/network/interface,把IP改成静态的,加上address,netmask,gateway,修改完以后ctrl+o保存,

    然后回车,ctrl+x切换到输入行。

    3.nano /etc/resolv.conf

    4.reboot 重新启动

       启动完把网络转成桥接网卡,试试看能不能上网,如果网不能上,你在查看下第3步有没有改成功。

       在这里我们假设可以OK上网了

    做好准备工作,下载jdk-7u3-linux-i586.tar 这个软件包和solr-4.7.2.tgz软件包

    二,配置java环境

    1.tar zxvf jdk-7u3-linux-i586.tar.gz 解压jdk

    2.sudo -i

    3.nano /etc/profile,在最下面加入这几句话,保存

    export JAVA_HOME=/home/solr/jdk1.7.0_03
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    验证jdk是否安装成功,敲命令

    java -version

    代码jdk安装成功。

    三,如何在tomcat下安装solr

    1,下载apache-tomcat-7.0.47.tar.gz安装包,记住是linux版本

      tar zxvf apache-tomcat-7.0.47.tar.gz    解压tomcat

    2.将下载的solr-4.7.2.tgz在你本地解压

    3.在linux上创建solr根目录,例如/home/solr/solrhome,(solr是用户名,solrhome是我创建的根目录),在本地解压solr安装包目录下的 example 文件夹下找到名为 solr 的文件夹,将其整个复制到已经创建好的 solrHome 文件夹下。

    4.在solr安装包目录下的dist文件夹内找到名为solr-4.7.2.war的文件,将其也复制到solrHome文件夹下(此文件可根据自己的要求任意放置,本例是为了方便管理);

    例如:

    5.从这步开始,将 solr 部署到 tomcat 下 
       (1) 还是回到本地 solr 解压包目录下,按此目录结构依次打开文件夹(example/lib/ext),将 ext 文件夹下的所有 jar 包复制到 tomcat 根目下的 lib 文件夹下,

                         在此目录下(example/resources)将名为log4j.properties 的文件也复制到 lib 文件夹下,打开 log4j.properties 文件,并修改属性

                         log4j.appender.file.File 的值,例如:/home/solr/solrhome/solr.log

                 
        (2) 回到tomcat根目录下,在此目录下(conf/Catalina/localhost)新建一个solr.xml文件,名字可任意,其内容格式为 
                  <?xml version="1.0" encoding="UTF-8"?>
                        <Context path="" docBase="/home/solr/solrhome/solr-4.7.2.war" debug="0" crossContext="true">
                        <Environment name="solr/home" value="/home/solr/solrhome" type="java.lang.String" override="false"/>
                 </Context>
            注:路径分隔符必须为"/",override 的值必须为 false
     (3) 启动tomcat,在浏览器中键入地址http://localhost:8080/solr(与定义的solr.xml文件名对应)即可访问.     记住:每台自己都是这样子操作的

    四.多台 zookeeper 服务器,多台 solr 服务器的安装

    1.更改192.168.0.15服务器:更改 /home/solr/solrHome/目录下的 solr.xml 文件,主要是修改host地址和端口号        

    <solr>
      <solrcloud>
        <str name="host">${host:192.168.0.15}</str>
        <int name="hostPort">${jetty.port:8080}</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
      </solrcloud>
       <shardHandlerFactory name="shardHandlerFactory"
        class="HttpShardHandlerFactory">
        <int name="socketTimeout">${socketTimeout:30000}</int>
        <int name="connTimeout">${connTimeout:30000}</int>
      </shardHandlerFactory>
    
    </solr>

    更改 /home/solr/solrHome/目录下的 zoo.cfg 文件,这个是配置zookeeper文件

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/solr/solrHome/data
    clientPort=2181
    server.1=192.168.0.15:2888:3888
    server.2=192.168.0.16:2888:3888
    server.3=192.168.0.17:2888:3888

    注意:创建dataDir参数指定的目录,创建data文件夹,在这个文件夹下,还要创建一个文本myid

    cd  /home/solr/solrHome   进入到solrHome 目录

    mkdir  data     创建data文件夹

    cd  /home/solr/solrHome/data     进入data文件夹下

    touch  myid   创建文本myid,在这个文本内写入1,因为server.1=192.168.0.15:2888:3888  server指定的是1,所以myid写入的是1.如果一会在从机配置,192.168.0.16下面的myid是2,192.168.0.17下面myid是3。

    2.更改192.168.0.16服务器:更改 /home/solr/solrHome/目录下的 solr.xml 文件

    <solr>
        <solrcloud>
        <str name="host">${host:192.168.0.16}</str>
        <int name="hostPort">${jetty.port:8080}</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
      </solrcloud>
     <shardHandlerFactory name="shardHandlerFactory"
        class="HttpShardHandlerFactory">
        <int name="socketTimeout">${socketTimeout:30000}</int>
        <int name="connTimeout">${connTimeout:30000}</int>
      </shardHandlerFactory>
    </solr>

    更改 /home/solr/solrHome/目录下的 zoo.cfg 文件,这个是配置zookeeper文件

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/solr/solrHome/data
    clientPort=2181
    server.1=192.168.0.15:2888:3888
    server.2=192.168.0.16:2888:3888
    server.3=192.168.0.17:2888:3888

    记住:在/home/solr/solrHome/目录下要创建data文件,myid为2

    3.更改192.168.0.17服务器:更改 /home/solr/solrHome/目录下的 solr.xml 文件

    <solr>
     <solrcloud>
        <str name="host">${host:192.168.0.17}</str>
        <int name="hostPort">${jetty.port:8080}</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
      </solrcloud>
      <shardHandlerFactory name="shardHandlerFactory"
        class="HttpShardHandlerFactory">
        <int name="socketTimeout">${socketTimeout:30000}</int>
        <int name="connTimeout">${connTimeout:30000}</int>
      </shardHandlerFactory>
    </solr>

    更改 /home/solr/solrHome/目录下的 zoo.cfg 文件,这个是配置zookeeper文件

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/solr/solrHome/data
    clientPort=2181
    server.1=192.168.0.15:2888:3888
    server.2=192.168.0.16:2888:3888
    server.3=192.168.0.17:2888:3888

    记住:在/home/solr/solrHome/目录下要创建data文件,myid为3

    4.在192.168.0.15服务器上,到/home/solr/apache-tomcat-7.0.47/bin目录下,编辑 catalina.sh 文件,在文件#!/bin/sh的下面,添加
    JAVA_OPTS="-Dbootstrap_confdir=/home/solr/solrHome/collection1/conf -Dcollection.configName=cluster -DzkRun -DzkHost=192.168.0.15:2181,192.168.0.16:2181,192.168.0.17:2181 -DnumShards=1"

    5.在192.168.0.16服务器上,也到/home/solr/apache-tomcat-7.0.47/bin目录下,编辑 catalina.sh 文件,在文件#!/bin/sh的下面,添加

    JAVA_OPTS="-DzkRun -DzkHost=192.168.0.15:2181,192.168.0.16:2181,192.168.0.17:2181"

    6.在192.168.0.17服务器上,也到/home/solr/apache-tomcat-7.0.47/bin目录下,编辑 catalina.sh 文件,在文件#!/bin/sh的下面,添加

    JAVA_OPTS="-DzkRun -DzkHost=192.168.0.15:2181,192.168.0.16:2181,192.168.0.17:2181"

    这样子配置就完成了,在每台机子上都启动tomcat

    bin/startup.sh

    输入:192.168.0.15:8080/solr     ,下面是我以前的图,搭建2台机子的

    记住:  重启时,必须清理之前运行时 zookeeper 生成的节点信息内容。删除下各个/home/solr/solrHome/下的
    data 文件中的 version-2 文件夹即可。

  • 相关阅读:
    (一)RabbitMQ安装与基本配置
    一文搞懂网络层
    分布式锁的实现之 redis 篇
    浅谈synchronized和volatitle实现线程安全的策略
    JUC包的线程池详解
    Curling 2.0 POJ
    第三章处理机调度与死锁
    Java异常学习笔记
    Java对象学习笔记-下
    Java对象学习笔记-上
  • 原文地址:https://www.cnblogs.com/junrong624/p/4111019.html
Copyright © 2011-2022 走看看