准备工作:
vmware workstation 12,OS使用的是ubuntu16.04,三台虚拟机搭建一个solr集群,zookeeper共用这三台虚拟机组成zookeeper集群。
zookeeper的版本为3.4.10,solr版本为7.1,不使用tomcat,使用solr自带的jetty。jdk版本为1.8.0_151。
第一步:虚拟机的建立
选择默认配置即可,内存我配置的2G一台,1CPU,网络采用NAT,DHCP自动分配。建好一台虚拟机后,我们可以去配置一些基本环境,如Jdk等,然后使用克隆的方式,减少一些不必要的操作。
基本配置也就是安装openssh-server,jdk等常用环境即可。
安装完成的结果如下。
图1 安装完成后xshell下远程连接的界面
第二步:zookeeper集群环境搭建
下载zookeeper3.4.10,我把zookeeper解压到了登录用户(我的用户是solr)的根目录下(我的是/home/solr/zookeeper-3.4.10),实际可根据需求自行放置在相应的目录下即可。
随后我们进入zookeeper下conf目录,复制一份cfg文件,并进行配置。
cd /zookeeper-3.4.10/conf # 进入zookeeper config目录cpzoo_sample.cfg zoo.cfg # 复制一份配置文件,并修改内容
图2 zoo.cfg配置文件
对上述1.2.3.4进行说明:
zookeeper的数据存放的地方(我的理解),我这里为了方便配置在Home目录下,实际可根据需求进行配置
zookeeper的端口
zookeeper集群的设置,2888和3888分别是监听和投票选举端口,server.1 server.2 server.3后续进行说明
是一些配置参数,比如触发事件什么,请自行百度了解相关意思。
server.1 server.2 server.3 说明的是集群中其他zookeeper的"代号",server.后的数字的范围为1~255
这个数字在刚才配置文件目录(如上述的/home/solr/zookeeper)下新建一个myid文件,里面填写这些数字来标识身份即可,比如server.1所在的服务器的zookeeper目录下就应该有一个myid文件,内容为1。
./zkServer.shstart # 启动zookeeper
启动zookeeper查看状态可以看到如下内容,说明zookeeper集群搭建成功。
图3 zookeeper follwer 状态
图4 zookeeper leader 状态
第三步 solr集群的搭建(按照官方按照脚本来进行配置)
在这里,我们先用官方的文档中的脚本来进行安装,将solr安装为系统中的一个服务。
tarxzf solr-7.1.0.tgz solr-7.1.0/bin/install_solr_service.sh--strip-components=2# 将脚本文件从包中解压出来sudobash ./install_solr_service.shsolr-7.1.0.tgz # 进行安装solr
在这种情况下,solr会默认安装在/opt/solr-7.1.0/下,同时会自动建立一个/opt/solr 去链接/opt/solr-7.1.0,这是为了方便后续更新solr版本是,只要更换/opt/solr-7.1.0文件即可。
同时,默认情况下,会将一些配置文件放置在/var/solr中,后续我们会用到该文件夹。
同时,如果不存在用户solr,会自动新建一个solr用户,最后,该脚本会自动启动solr。
上述的命令采用的是默认安装的情况,实际条件我们可以进行一些自己的配置。
-d solr的一些参数和可写的文件存放的位置,默认为/var/solr
-i solr的解压位置,默认为/opt/下