Centos7:solr伪集群(SolrCloud)搭建
2024-09-05 07:50:58
JDK,tocmat环境搭建
zookeeper集群安装
- 解压缩zookeeper的压缩包
- 创建data目录
- 复制zoo_sample.cfg为zoo.cfg
- 修改confg/zoo.cfg中
dataDir=**/data
clientPort=218X
- 在zoo.cfg末位添加
server.1=192.168.25.128:2881:3881
server.2=192.168.25.128:2882:3882
server.3=192.168.25.128:2883:3883
- data目录下创建一个myid文件,自定义设置zookeeper实例id
- 复制zookeeper文件夹三份,分别修改zoo.cfg配置,和myid
启动zookeeper集群
- 启动脚本
cd /usr/local/src/solr-cloud/zookeeper2281/bin
./zkServer.sh start
cd /usr/local/src/solr-cloud/zookeeper2282/bin
./zkServer.sh start
cd /usr/local/src/solr-cloud/zookeeper2283/bin
./zkServer.sh start
cd /usr/local/src
- 查看状态
cd /usr/local/src/solr-cloud/zookeeper2281/bin
./zkServer.sh status
cd /usr/local/src/solr-cloud/zookeeper2282/bin
./zkServer.sh status
cd /usr/local/src/solr-cloud/zookeeper2283/bin
./zkServer.sh status
cd /usr/local/src
- 暂停脚本
cd /usr/local/src/solr-cloud/zookeeper2281/bin
./zkServer.sh stop
cd /usr/local/src/solr-cloud/zookeeper2282/bin
./zkServer.sh stop
cd /usr/local/src/solr-cloud/zookeeper2283/bin
./zkServer.sh stop
cd /usr/local/src
tomcat集群安装
- 解压安装包
- 复制4个tomcat
- 分别配置不同tomcat web.xml三个端口,防止端口冲突
部署solr集群
- 将solr分别部署到每一个tomcat中
- 创建4个目录,分别存放每一个solr对应的solrhome
配置zookeeper管理solr配置文件
上传配置文件到zookeeper
命令路径:solr源码/example/scripts/cloud-scripts/
/zkcli.sh -zkhost zookeeper1ip:端口号,zookeeper2ip:端口号,zookeeper3ip:端口号 -cmd upconfig -confdir conf路径 -confname myconf
登陆zookeeper服务器查询配置文件
zookeeper路径/bin
./zkCli.sh
/configs/myconf
./zkCli.sh -server ip:端口
//连接指定ip端口
配置SolrHome
修改每个solrhome的solr.xml文件
<solrcloud>
<str name="host">对应solr ip</str>
<int name="hostPort">对应端口</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
关联Solr和zookeeper
修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址:
JAVA_OPTS="-DzkHost=zookeeper1ip:端口号,zookeeper2ip:端口号,zookeeper3ip:端口号"
启动solr集群
访问任意一台solr,菜单出现cloud
配置集群
- 添加集群
如果集群中有四个solr节点,创建新集群collection2,将集群分为两片,每片两个副本。
http://ip地址/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
附录:
solr集群启动脚本
cd /usr/local/src/solr-cloud/tomcat8180/bin
./startup.sh
cd /usr/local/src/solr-cloud/tomcat8280/bin
./startup.sh
cd /usr/local/src/solr-cloud/tomcat8380/bin
./startup.sh
cd /usr/local/src/solr-cloud/tomcat8480/bin
./startup.sh
cd /usr/local/src
solr集群关闭脚本
cd /usr/local/src/solr-cloud/tomcat8180/bin
./shutdown.sh
cd /usr/local/src/solr-cloud/tomcat8280/bin
./shutdown.sh
cd /usr/local/src/solr-cloud/tomcat8380/bin
./shutdown.sh
cd /usr/local/src/solr-cloud/tomcat8480/bin
./shutdown.sh
cd /usr/local/src
最新文章
- Androidstudio预览时出现错误java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
- 安装Entity Framework【Setup Entity Framework Environment】(EF基础系列篇4)
- 【代码笔记】iOS-时间选择框
- C#的Invoke和BeginInvoke
- 通过方法名(字符串)执行Objective-C方法
- iOS 自定义UITabBarController的tabBar
- Eclipse Ctrl+Tab Alt+/ 快捷键
- 项目中logger、message错误信息的配置
- 我的接口框架---框架函数文件common.php
- 使用 Cordova+Visual Studio 创建跨平台移动应用(3)
- 获取Storyboard中的视图控制器
- 直接调用VS.net2005中的配置界面
- AMD,CMD,UMD,CommonJS
- EasyUI的Datagrid鼠标悬停显示单元格内容
- leetcode198
- Python知识点整理,基础5 - 文件操作
- call指令
- java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器
- MATLAB中 histogram 和 imhist 的区别
- 用jar包运行带GUI的java游戏
热门文章
- ios-Realm数据库的使用
- 客户端连接虚拟机上的MYSQL报错
- Kotlin中单例Singleton模式
- Linux环境下warning: no newline at end of file
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-1.单机和分布式应用的登录检验讲解
- 根据规则去掉List 对象数组中的重复元素
- [CDH] Redis: Remote Dictionary Server
- Jenkins+Ansible+Gitlab自动化部署三剑客
- three.js效果之热力图和轨迹线
- DevOps - 构建本地开发环境