Solr 集群搭建

本贴最后更新于 2827 天前,其中的信息可能已经渤澥桑田

Solr 集群搭建

一:SolrCloud

需要用到 solr+zookeeper

二:Zookeeper

1、集群管理

主从的管理、负载均衡、高可用的管理。集群的入口。Zookeeper 必须是集群才能保证高可用。Zookeeper 有选举和投票的机制。集群中至少应该有三个节点。

2、配置文件的集中管理

搭建 solr 集群时,需要把 Solr 的配置文件上传 zookeeper,让 zookeeper 统一管理。每个节点都到 zookeeper 上取配置文件。

3、分布式锁

4、忘了

三:集群需要的服务器

Zookeeper:3 台
Solr:4 台

伪分布式,zookeeper 三个实例、tomcat(solr)需要四个实例。

Zookeeper 需要安装 jdk。

四:集群搭建步骤

一:Zookeeper 集群搭建

第一步:需要把 zookeeper 的安装包上传到服务器

第二步:把 zookeeper 解压

[root@localhost ~]# tar -zxf zookeeper-3.4.6.tar.gz

第三步:把 zookeeper 向/usr/local/solr-cloud 目录下复制三份

[root@localhost ~]# mkdir /usr/local/solr-cloud
[root@localhost ~]# cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01 -r
[root@localhost ~]# cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02 -r
[root@localhost ~]# cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03 -r
[root@localhost solr-cloud]# cd /usr/local/solr-cloud/
[root@localhost solr-cloud]# ll
total 12
drwxr-xr-x. 10 root root 4096 Mar 26 20:01 zookeeper01
drwxr-xr-x. 10 root root 4096 Mar 26 20:01 zookeeper02
drwxr-xr-x. 10 root root 4096 Mar 26 20:01 zookeeper03

第四步:配置 zookeeper

1、在 zookeeper01 目录下创建一个 data 文件夹。
[root@localhost zookeeper01]# cd zookeeper01
[root@localhost zookeeper01]# mkdir data
2、在 data 目录下创建一个 myid 的文件
3、Myid 的内容为 1(02 对应“2”,03 对应“3”)
[root@localhost zookeeper01]# echo 1 >> data/myid
4、Zookeeper02、03 以此类推。
[root@localhost solr-cloud]# mkdir zookeeper02/data
[root@localhost solr-cloud]# echo 2 >> zookeeper02/data/myid;
[root@localhost solr-cloud]# mkdir zookeeper03/data;
[root@localhost solr-cloud]# echo 3 >> zookeeper03/data/myid;
5、进入 conf 文件,把 zoo_sample.cfg 文件改名为 zoo.cfg
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
6、修改 zoo.cfg,把 dataDir=属性指定为刚创建的 data 文件夹。
[root@localhost conf]# vim zoo.cfg


# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/solr-cloud/zookeeper01/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#在最后添加 ip为你的服务的IP地址
server.1=192.168.136.135:2881:3881
server.2=192.168.136.135:2882:3882
server.3=192.168.136.135:2883:3883


[root@localhost solr-cloud]# cp zookeeper02/conf/zoo_sample.cfg  zookeeper02/conf/zoo.cfg
[root@localhost solr-cloud]# vim zookeeper02/conf/zoo.cfg 

dataDir=/usr/local/solr-cloud/zookeeper02/data
# the port at which the clients will connect
clientPort=2182
#在最后添加
server.1=192.168.136.135:2881:3881
server.2=192.168.136.135:2882:3882
server.3=192.168.136.135:2883:3883

[root@localhost solr-cloud]# cp zookeeper03/conf/zoo_sample.cfg  zookeeper03/conf/zoo.cfg
[root@localhost solr-cloud]# vim zookeeper03/conf/zoo.cfg 

dataDir=/usr/local/solr-cloud/zookeeper03/data
# the port at which the clients will connect
clientPort=2183

#在最后添加
server.1=192.168.136.135:2881:3881
server.2=192.168.136.135:2882:3882
server.3=192.168.136.135:2883:3883
7、修改 zoo.cfg,把 clientPort 指定为不冲突的端口号(01:2181、02:2182、03:2183)
8、在 zoo.cfg 中添加如下内容:

第五步:启动 zookeeper。

Zookeeper 的目录下有一个 bin 目录。使用 zkServer.sh 启动 zookeeper 服务。

启动:./zkServer.sh start
关闭:./zkServer.sh stop
查看服务状态:./zkServer.sh status

二:搭建 solr 集群

第一步:安装四个 tomcat,修改其端口号不能冲突。8080~8083

第二步:向 tomcat 下部署 solr。把单机版的 solr 工程复制到 tomcat 下即可。

第三步:为每个 solr 实例创建一 solrhome。

第四步:为每个 solr 实例关联对应的 solrhome。修改 web.xml

第五步:修改每个 solrhome 下的 solr.xml 文件。修改 host、hostPort 两个属性。分别是对应的 ip 及端口号。

  • Solr
    16 引用 • 22 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    946 引用 • 943 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone

    这样真的好吗