Ubuntu下Solrcloud配置(solr7.3.1+zookeeper+tomcat9)

零、环境准备与所需的软件

ubuntu16.04的三台电脑(搭建solr集群需要奇数台电脑,这样好决策),apachezookeeper3.4.12,apache solr7.3.1apache tomcat9.0(这些从官网下载即可)

其中电脑还需要先装JDK

下载好上面三个软件后:三台电脑都执行如下操作

1、将三个软件全部解压(sudotar -xzvf xxxxxx.tar.gz)

2、并修改权限(建议全部改为最高权限chmod777 -R 文件夹的名字)

3、在/opt文件夹下创建目录/solrcolud

4、并将上面的几个软件移动到solrcloud目录下(solrhome文件夹先不用管,以后配置中会说到):

Ubuntu下Solrcloud配置(solr7.3.1+zookeeper+tomcat9)_第1张图片


本次使用的三台电脑ip分别为:

192.168.199.141()

192.168.199.168

192.168.199.155


一、Zookeeper的配置

1、进入主电脑的zookeeper3.4.12的根目录,新创建空文件夹data,并在data文件夹下创建文本myid,并在里面写上1。另外两台电脑执行一样的操作,分别在myid写入23。三台主机对应的id分别为:

192.168.199.141id:1

192.168.199.168id:2

192.168.199.155id:3

2、进入opt/solrcloud/zookeeper-3.4.12/conf文件夹,将zoo_sample.cfg文件名改为zoo.cfg,并且编辑修改里面的内容。


dataDir改为/opt/solrcloud/zookeeper-3.4.12/data(刚才新建的文件夹)

Ubuntu下Solrcloud配置(solr7.3.1+zookeeper+tomcat9)_第2张图片

并在最后加上:

server.1=192.168.199.141:2881:3881

server.2=192.168.199.168:2881:3881

server.3=192.168.199.155:2881:3881

其中28813881为访问端口。因为在三台机器上分别配置,所以无需更改端口

Ubuntu下Solrcloud配置(solr7.3.1+zookeeper+tomcat9)_第3张图片

cdbin目录下,通过如下指令启动solrcloud服务:

./zkServer.shstart

还有如下指令:

./zkServer.shrestart重启服务./zkServer.shstop 停止服务

二、solr的配置

1、进入/opt/solrcloud/solr-7.3.1目录:

bin目录下打开命令行,输入运行命令:solrstart,然后浏览器中输入http://localhost:8983/solr即可访问,结束时的命令:solrstop -all

2、添加solrcore

core文件存放的位置在server/solr文件夹下,以新建一个名为mycorecore为例,首先需要在该文件夹下新建文件夹,命名为mycore,在mycore文件夹里面构建两个文件夹confdata,同时拷贝solr-7.3.1/server/solr/configsets/basic_configs/conf文件夹下的内容到mycore/conf文件夹中。

操作后回到http://localhost:8983/solr/,点击coreadmin ,选择addcore,在name处和instanceDir处填入mycore即可,结果如下所示:(此图为其他版本做的,看到类似界面即可)


Ubuntu下Solrcloud配置(solr7.3.1+zookeeper+tomcat9)_第4张图片

3、将solr配置到tomcat下面:


3.1 /opt/solrcloud/solr-7.3.1/server/solr-webapp下面的webapp复制

/opt/solrcloud/apache-tomcat-9.0.8/webapps文件夹下面并且改名为solr;


3.2solr-7.3.1/server/lib/ext目录下的所有jar包、和solr-7.3.1/dist下的solr-dataimporthandler-7.3.1.jarsolr-dataimporthandler-extras-7.3.1.jar粘贴复制到tomcat下的solr项目的WEB-INF/lib目录下;把solr-7.3.1/server/lib下的metrics-core-3.2.2.jarmetrics-ganglia-3.2.2.jar,metrics-graphite-3.2.2.jar,metrics-jetty9-3.2.2.jar,metrics-jvm-3.2.2.jar5jar包放到tomcat下的solr项目的WEB-INF/lib目录下;


3.3server目录下的solr文件夹粘贴复制到其他目录,此处将其粘贴到/opt/solrcloud目录下然后重命名为:solrhome,这是solr核心文件夹;


3.4  修改tomcat下的solr项目的WEB-INF/web.xml,这一步用来指定默认的solrhome。在web.xml开头附近找到:

solr/home

/opt/solrcloud/solrhome

java.lang.String

然后取消注释,把填第三步solrhome文件夹的地址;


3.5按下图所示,将tomcat下的solr项目的web.xml文件中这些语句注释掉,这段配置限制了对solr资源的访问。


此时启动tomcat/bin下的服务:

./startup.sh就可以启动tomcat服务,输入

http://localhost:8080/solr/index.html就可以通过看到结果


现在先将tomcatzookeeper的服务先停止,进行下面的配置。


四、其它的配置

4.1更改tomcatcatalina.sh

主机器(192.168.199.141)上加入如下

JAVA_OPTS="$JAVA_OPTS-Dbootstrap_confdir=/opt/solrcloud/solrhome/mycore/conf-Dcollection.configName=myconf-DzkHost=192.168.199.141:2181,192.168.199.168:2181,192.168.199.155:2181"


注意这里的myconf只是定义的conf文件的名字,可以随意取名


从机器(192.168.199.155,192.168.199.168tomcatcatalina.sh加入如下:

JAVA_OPTS="-DzkHost=192.168.199.141:2181,192.168.199.168:2181,192.168.199.155:2181"




4.2修改每个solrhome下的solr.xml,指定对应solr服务的tomcatip和端口。




${host:192.168.199.141}

${jetty.port:8080}

${hostContext:solr}


${genericCoreNodeNames:true}


${zkClientTimeout:30000}

4.3solr的配置文件传到zookeeper中,只要在主机上执行该操作就可以。

注意,此命令执行之前先开启三台电脑的zookeeper服务。


/opt/solrcloud/solr-7.3.1/server/scripts/cloud-scripts目录下,执行如下命令:

./zkcli.sh-zkhost 192.168.25.141:2181,192.168.199.168:2181,192.168.199.155:2181-cmd upconfig -confdir /opt/solrcloud/solrhome/mycore/conf -confnamemyconf

此处的myconf4.1中的一样。


如果这条命令没有报错,说明conf文件上传成功。


此时,依次启动三台电脑的tomcat服务。


登录http://localhost:8080/solr/index.html










你可能感兴趣的:(solr)