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文件夹先不用管,以后配置中会说到):



本次使用的三台电脑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(刚才新建的文件夹)

并在最后加上:

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为访问端口。因为在三台机器上分别配置,所以无需更改端口


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即可,结果如下所示:(此图为其他版本做的,看到类似界面即可)


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开头附近找到:

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>/opt/solrcloud/solrhome</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

然后取消注释,把<env-entry-value>填第三步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和端口。


<solr>


<solrcloud>


<strname="host">${host:192.168.199.141}</str>

<intname="hostPort">${jetty.port:8080}</int>

<strname="hostContext">${hostContext:solr}</str>


<boolname="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>


<intname="zkClientTimeout">${zkClientTimeout:30000}</int>

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










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值