迅搜xunsearch全文搜索引擎在负载均衡集群中的配置方法

2021-03-15 10:55:50 浏览数 (1)

迅搜xunsearch全文搜索引擎在负载均衡集群中的配置方法

  近来在一个电商项目中需要对商品检索实现中文分词和全文搜索功能,,于是使用了国内做得比较好并且是开源的迅搜全文搜索引擎,对PHP支持良好并且简单易用好上手,安装和调用方法等就不详细介绍了,需要了解的朋友可以自行百度,这里主要是由于我们在这个项目中使用了负载均衡,但迅搜官方的文档里对这一块的配置说明不够详细,导致走我了一些弯路,所以写下来一个是分享给有需要的后来者,二是自己做个笔记吧。

  我需要实现的架构是这样的:

  看了迅搜官方的说明文档后,以为在启动迅搜服务的时候以允许局域网访问的模式启动就可以了,以bin/xs-ctl.sh -b inet start 命令启动,即监听到所有本地地址上,但发现这样做实际上是行不通的,经过尝试后得出实现的方法是这样的:

  以0号服务器作为搜索数据服务器为例,它的IP是192.168.2.210,则以监听这个IP的模式启动,启动命令是:bin/xs-ctl.sh -b 192.168.2.210 start,然后0号的项目配置文件中,server.search配置项要修改默认值,改为:server.search = 192.168.2.210:8384;127.0.0.1:8384(最后一项后面是不需要加分号的),按道理来说,我认为既然绑定的是自己的ip地址,在本地连接时就不需要再加一个127.0.0.1才对的,但实际上行不通,所以才加了上去;

  0号服务器启动后,1,2,3…等其它负载均衡组的服务器的迅搜服务配置文件统一增加配置:server.search=192.168.2.210:8384就可以了。   值得注意的是,有些centos 7的操作系统,在安装了迅搜服务器后,通过localhost连接时,会一直提示连接被拒绝,原来以为是防火墙的原因,后面折腾了很长时间,发现只要将迅搜服务器的主机名由localhost改为127.0.0.1就能连接成功,所以判断应该为域名解析的问题,进入/etc/hosts一看,里面有一行系统自带的记录:::1 localhost,查了一下,网上说是为了劫持ip v6增加的设置记录,具体原理还待探索,但这个问题,只要通过增加一行记录: 127.0.0.1 localhost就能解决了,或者把::1 localhost改为127.0.0.1 localhost就能解决这个问题。

0 人点赞