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

Centos7:solr伪集群(SolrCloud)搭建的更多相关文章

  1. zookeeper伪集群的搭建

    由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上. 准备工作: 1,一台服务器,我们这里用 ...

  2. ZooKeeper伪集群环境搭建

    1.从官网下载程序包. 2.解压. [dev@localhost software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper文件夹后创建data文 ...

  3. STORM_0004_windows下zookeeper的伪集群的搭建

    -----------------------------------------------------START------------------------------------------ ...

  4. Redis Cluster 伪集群的搭建

    简介 为何要搭建Redis集群?Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB ...

  5. 分享知识-快乐自己:solr 伪集群搭建

    前言:在你搭建集群之前先去搭建一个单机版的 跳转 Solr 集群构建图: 1):部署(4个)Tomcat 下载 更改每一个 tomcat 启动端口号: [root@VMSolr tomcat_clus ...

  6. ZooKeeper伪集群的搭建(Windows)

    首先下载 zookeeper 地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 1.下载完成解压后修改文件夹名字为zookeeper1,然后删除c ...

  7. hadoop2.4的伪集群的搭建

    1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=itcast ### ...

  8. Hadoop 学习之路(四)—— Hadoop单机伪集群环境搭建

    一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...

  9. centos7:storm集群环境搭建

    1.安装storm 下载storm安装包 在线下载 wget http://apache.fayea.com/storm/apache-storm-1.1.1/apache-storm-1.1.1.t ...

随机推荐

  1. Android自定义权限与使用

    1. 如何自定义权限 Android允许我们使用permission标签,在Manifest文件中定义属于自己的权限,一个例子如下, <?xml version="1.0" ...

  2. ViedoUtil获取视频的缩略图

    package com.jcf.utilsdemo; import android.graphics.Bitmap; import android.media.ThumbnailUtils; publ ...

  3. html提交表单,php在后台获取表单内容的方法_例1

    html代码:   <html>   <head>   <meta http-equiv="Content-Type" content="t ...

  4. hutool-all 包把实体Bean转化成字符串,以及把字符串转化成Bean对象

    GxyJobEntity gxyJobEntity1 = new GxyJobEntity(); gxyJobEntity1.setUserId("user001"); gxyJo ...

  5. setMaxActive和setMaxWait方法

    在dbcp2中,setMaxActive和setMaxWait这两个方法已经改为其他名称,具体如下: setMaxActive -> setMaxTotal void org.apache.co ...

  6. [Python]最长公共子序列 VS 最长公共子串[动态规划]

    前言 由于原微软开源的基于古老的perl语言的Rouge依赖环境实在难以搭建,遂跟着Rouge论文的描述自行实现. Rouge存在N.L.S.W.SU等几大子评估指标.在复现Rouge-L的函数时,便 ...

  7. DISCUZ论坛各大功能模块入口文件介绍

    index.php 首页入口文件,这个文件相信大家都不陌生,小编就不具体介绍了. forum.php 论坛入口文件 portal.php 门户入口文件 group.php 群组入口文件 home.ph ...

  8. vue-cli的项目中关于axios的全局配置,结合element UI,配置全局loading,header中做token传输

    在src目录中建立plugins文件夹,在文件夹内建立axios.js文件 "use strict"; import Vue from 'vue'; import axios fr ...

  9. Android OKHttp 可能你从来没用过的拦截器 【实用推荐】

    前言 在平时开发中,你有没有下面这样的困扰呢? 场景一 明明是服务端的接口数据错误,而QA(测试)第一个找到的可能是客户端开发的你,为什么这个页面出现错误了? 而作为客户端开发的你,可能要拿出测试机连 ...

  10. 如果Mysql插入字符始终乱码怎么办?

    1.找到my.cnf [root@Sliver-Code ~]# vi /etc/my.cnf 加入下面三行语句 [client] default-character-set=utf8 [mysqld ...