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

最新文章

  1. Androidstudio预览时出现错误java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
  2. 安装Entity Framework【Setup Entity Framework Environment】(EF基础系列篇4)
  3. 【代码笔记】iOS-时间选择框
  4. C#的Invoke和BeginInvoke
  5. 通过方法名(字符串)执行Objective-C方法
  6. iOS 自定义UITabBarController的tabBar
  7. Eclipse Ctrl+Tab Alt+/ 快捷键
  8. 项目中logger、message错误信息的配置
  9. 我的接口框架---框架函数文件common.php
  10. 使用 Cordova+Visual Studio 创建跨平台移动应用(3)
  11. 获取Storyboard中的视图控制器
  12. 直接调用VS.net2005中的配置界面
  13. AMD,CMD,UMD,CommonJS
  14. EasyUI的Datagrid鼠标悬停显示单元格内容
  15. leetcode198
  16. Python知识点整理,基础5 - 文件操作
  17. call指令
  18. java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器
  19. MATLAB中 histogram 和 imhist 的区别
  20. 用jar包运行带GUI的java游戏

热门文章

  1. ios-Realm数据库的使用
  2. 客户端连接虚拟机上的MYSQL报错
  3. Kotlin中单例Singleton模式
  4. Linux环境下warning: no newline at end of file
  5. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-1.单机和分布式应用的登录检验讲解
  6. 根据规则去掉List 对象数组中的重复元素
  7. [CDH] Redis: Remote Dictionary Server
  8. Jenkins+Ansible+Gitlab自动化部署三剑客
  9. three.js效果之热力图和轨迹线
  10. DevOps - 构建本地开发环境