Centos7上搭建solrcloud(solr7.3.1+内置jetty+zookeeper3.4.12)

一、准备工作

      1.系统及软件版本

    系统版本:centos7.5、zookeeper版本:zookeeper-3.4.12、solr版本:solr-7.3.1

  2.安装3台虚拟机

         虚拟机ip    192.168.0.242,192.168.0.243

  3.给每台机器安装jdk

二、zookeeper集群安装

  1.解压zookeeper

    tar -zxvf zookeeper-3.4.8.tar.gz

  2.创建 data和log目录用于存放数据

    mkdir  /tmp/zdatadir

    mkdir  /tmp/zlogdir

  3.拷贝zookeeper配制文件zoo_sample.cfg

    cp conf/zoo_sample.cfg  conf/zoo.cfg

  4.修改配置文件 zoo.cfg

    vi conf/zoo.cfg

    加入如下如内容:

dataDir=/tmp/zdatadir
dataLogDir=/tmp/zlogdir

# zookeeper集群
server.1=192.168.0.242:2888:3888
server.2=192.168.0.243:2888:3888

        5.在/tmp/zdatadir/下创建myid文件 并写入对应的数字

    注意:myid文件内容中的数字要对应,在192.168.0.242服务器上的myid 数字为1,在192.168.0.243服务器上的myid 数字为2。这些数字可以任意 但要和zoo.cfg中的servder.数字中的数字一致。

        6.开启zookeeper端口

[root@solr bin]# firewall-cmd --add-port=2181/tcp --zone=public --permanent
success
[root@solr bin]# firewall-cmd --add-port=2888/tcp --zone=public --permanent
success
[root@solr bin]# firewall-cmd --add-port=3888/tcp --zone=public --permanent
success

        7.重启防火墙以使改动生效     

[root@solr bin]# firewall-cmd --reload
success

    8.启动zookeeper集群

      进入 zookeeper中的bin目录   

      ./zkServer.sh start

      查看集群状态

      ./zkServer.sh status   刚启动可能会有错误,集群中其他节点一并起来后就正常了

      ./zkServer.sh stop  停止

      ./zkServer.sh restart  重启

      ./zkCli.sh  连接zookeeper集群

    9.安装成功的结果如下   1个 leader   1个follower(如果是三台机器,则为1个leader,2个follower)

[root@solr bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@solr bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: leader
[root@solr bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@solr bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower

三、solr集群的搭建

1.在 /usr/local/ 下新建文件夹solrcloud,然后解压 solr-7.3.1.tgz 到 /usr/local/solrcloud目录下

[root@solr ~]# ls
anaconda-ks.cfg  solr-7.3.1.tgz  zookeeper-3.4.12.tar.gz
[root@solr ~]# mkdir /usr/local/solrcloud
[root@solr ~]# tar -xvf solr-7.3.1.tgz -C /usr/local/solrcloud

2.进入solr解压文件夹,修改solr bin目录下的solr.in.sh文件 

[root@solr ~]# cd /usr/local/solrcloud/solr-7.3.1/bin
[root@solr bin]# ls
init.d  install_solr_service.sh  oom_solr.sh  post  solr  solr.cmd  solr.in.cmd  solr.in.sh

 

修改bin下solr.in.sh文件

  ZK_HOST="192.168.0.242:2181,192.168.0.243:2181"

    去掉 ZK_CLIENT_TIMEOUT 的注释

# Set the ZooKeeper connection string if using an external ZooKeeper ensemble
# e.g. host1:2181,host2:2181/chroot
# Leave empty if not using SolrCloud
#ZK_HOST=""

# Set the ZooKeeper client timeout (for SolrCloud mode)
#ZK_CLIENT_TIMEOUT="15000"

改为:

# Set the ZooKeeper connection string if using an external ZooKeeper ensemble
# e.g. host1:2181,host2:2181/chroot
# Leave empty if not using SolrCloud
ZK_HOST="192.168.0.242:2181,192.168.0.243:2181"

# Set the ZooKeeper client timeout (for SolrCloud mode)
ZK_CLIENT_TIMEOUT="15000"

3.启动组成solrcloud的各个solr(不能再用 ./solr start -force 命令了,另外在启动solrcloud之前一定要先启动zookeeper,否则报500)

进入/usr/local/solrcloud/solr-7.3.1/bin 后:

[root@solr bin]# ./solr start -cloud -force

[root@solr bin]# ./solr restart -cloud -force

4.solr默认不支持中文分词

4.1 添加中文分词插件:

solr7.3中自带中文分词插件,将solr-7.3.1\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-7.3.1.jar 复制到 solr-7.3.1\server\solr-webapp\webapp\WEB-INF\lib 目录中

[root@solr solrcloud]# cp solr-7.3.1/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.3.1.jar solr-7.3.1/server/solr-webapp/webapp/WEB-INF/lib/

  

猜你喜欢

转载自blog.csdn.net/wudinaniya/article/details/81180336