solr+zookeeper搭建

一.zookeeper搭建

1.创建data目录以及myid文件

在与bin目录同级的地方创建data目录。里面创建myid

myid分别编写1 2 3 对下zoo.cfg里的配置

2.配置zoo.cfg文件

# 数据存放目录指向上一步创建的data目录
dataDir=/home/wjw/zookeeper/zookeeper-12181/data/
# 配置端口号 对cline端提供服务  ,伪集群3个端口号一定不一样  
clientPort=12181

//集群下方配置一样

//server.1  这个'1'对应 data中myid文件里的数字     12287 为选举端口   12387为集群通讯端口    
server.1=172.17.9.140:12287:12387
server.2=172.17.9.140:12288:12388
server.3=172.17.9.140:12289:12389

3.编写启动脚本

1.启动脚本
./zookeeper-12181/bin/zkServer.sh start
./zookeeper-12182/bin/zkServer.sh start
./zookeeper-12183/bin/zkServer.sh start
2.查看状态脚本
./zookeeper-12181/bin/zkServer.sh status
./zookeeper-12182/bin/zkServer.sh status
./zookeeper-12183/bin/zkServer.sh status

二、solr的搭建

1.下载solr压缩包

这边下载的是8.2版本的

2.解压后3份压缩包

分别命名为 solr-1 solr-2 solr-3

3.编写启动脚本

#切换到各个solrbin目录下执行启动命令

cd /home/wjw/solr/solr-1/bin
./solr start -p 8983 -z 172.17.9.140:12181,172.17.9.140:12182,172.17.9.140:12183 -force

cd /home/wjw/solr/solr-2/bin
./solr start -p 8984 -z 172.17.9.140:12181,172.17.9.140:12182,172.17.9.140:12183 -force

cd /home/wjw/solr/solr-3/bin
./solr start -p 8985 -z 172.17.9.140:12181,172.17.9.140:12182,172.17.9.140:12183 -force

4.配置ik分词器

网上搜索配置过程大同小异

1.下载ikjar包

将下载的ik分词器jar包添加到

/solr-1/server/solr-webapp/webapp/WEB-INF/lib/

2.配置managed-schema 文件

添加text_ik字段

<fieldType name="text_ik" class="solr.TextField">   
  <analyzer type="index">
    <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" />
  </analyzer>
  <analyzer type="query">
    <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
  </analyzer>
</fieldType>

上传配置文件到zookeeper

solr bin 目录下执行
./solr zk cp -r file:本地文件地址  zk:保存在服务器哪个位置  -z localhost地址:2181端口号      #-z后填写一台服务器即可

从zookeeper下载配置文件到本地

solr bin 目录下执行
./solr zk cp -r zk:服务器文件名地址 -z localhost:2181 file:本地存储位置

进入zookeeper客户端

 zookeeper  bin目录下执行
 ./zkCli.sh -server localhost:12182

3.配置classes下的文件

1.打开solr目录
/solr-1/server/solr-webapp/webapp/WEB-INF/classes
没有classes文件自行创建
2.配置分词器文件 IKAnalyzer.cfg
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典   当前目录的mydict.dic--> 
	<entry key="ext_dict">mydict.dic</entry> 
	 
	 <!--用户可以在这里配置自己的扩展停止词字典 当前目录的ext_stopword.dic-->
	<entry key="ext_stopwords">ext_stopword.dic</entry> 
</properties>
3.配置日志文件

log4j.properties

#  Logging level
solr.log=logs
log4j.rootLogger=INFO, file, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
#- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=4MB
log4j.appender.file.MaxBackupIndex=9
#- File to log to and log format 日志保存在/solr-1/server/logs/
log4j.appender.file.File=${solr.log}/solr.log
log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN
# set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF

三、错误记录

1.solr连接集群启动时

response:: org.apache.zookeeper.MultiResponse

SolrCore null:org.apache.solr.common.cloud

zookeeper中配置地址不要用 localhost

KeeperErrorCode = ConnectionLoss for /autoscaling/events/.scheduled_maintena

solr Connected to an old server; r-o mode will be unavailable

检查solr lib目录下的连接zookeeper的jar包 与zookeeper服务端版本是否一致。更换为一致的版本,老板的jar包找不到,就更换zookeeper的服务端版本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值