虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

时间:2022-12-18 10:42:55

准备工作:

vmware workstation 12,OS使用的是ubuntu16.04,三台虚拟机搭建一个solr集群,zookeeper共用这三台虚拟机组成zookeeper集群。

zookeeper的版本为3.4.10,solr版本为7.1,不使用tomcat,使用solr自带的jetty。jdk版本为1.8.0_151。

第一步:虚拟机的建立

选择默认配置即可,内存我配置的2G一台,1CPU,网络采用NAT,DHCP自动分配。建好一台虚拟机后,我们可以去配置一些基本环境,如Jdk等,然后使用克隆的方式,减少一些不必要的操作。

基本配置也就是安装openssh-server,jdk等常用环境即可。

安装完成的结果如下。

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

图1 安装完成后xshell下远程连接的界面

第二步:zookeeper集群环境搭建

下载zookeeper3.4.10,我把zookeeper解压到了登录用户(我的用户是solr)的根目录下(我的是/home/solr/zookeeper-3.4.10),实际可根据需求自行放置在相应的目录下即可。

随后我们进入zookeeper下conf目录,复制一份cfg文件,并进行配置。

cd /zookeeper-3.4./conf       # 进入zookeeper config目录
cp zoo_sample.cfg zoo.cfg # 复制一份配置文件,并修改内容

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)图2 zoo.cfg配置文件

对上述1.2.3.4进行说明:

  1. zookeeper的数据存放的地方(我的理解),我这里为了方便配置在Home目录下,实际可根据需求进行配置
  2. zookeeper的端口
  3. zookeeper集群的设置,2888和3888分别是监听和投票选举端口,server.1 server.2 server.3后续进行说明
  4. 是一些配置参数,比如触发事件什么,请自行百度了解相关意思。

server.1 server.2 server.3 说明的是集群中其他zookeeper的"代号",server.后的数字的范围为1~255

这个数字在刚才配置文件目录(如上述的/home/solr/zookeeper)下新建一个myid文件,里面填写这些数字来标识身份即可,比如server.1所在的服务器的zookeeper目录下就应该有一个myid文件,内容为1。

./zkServer.sh start   # 启动zookeeper

启动zookeeper查看状态可以看到如下内容,说明zookeeper集群搭建成功。

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

图3 zookeeper follwer 状态

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

图4 zookeeper leader 状态

第三步 solr集群的搭建(按照官方按照脚本来进行配置)

在这里,我们先用官方的文档中的脚本来进行安装,将solr安装为系统中的一个服务。

tar xzf solr-7.1..tgz solr-7.1./bin/install_solr_service.sh --strip-components=    # 将脚本文件从包中解压出来

sudo bash ./install_solr_service.sh solr-7.1..tgz  # 进行安装solr

在这种情况下,solr会默认安装在/opt/solr-7.1.0/下,同时会自动建立一个/opt/solr 去链接/opt/solr-7.1.0,这是为了方便后续更新solr版本是,只要更换/opt/solr-7.1.0文件即可。

同时,默认情况下,会将一些配置文件放置在/var/solr中,后续我们会用到该文件夹。

同时,如果不存在用户solr,会自动新建一个solr用户,最后,该脚本会自动启动solr。

上述的命令采用的是默认安装的情况,实际条件我们可以进行一些自己的配置。

  1. -d solr的一些参数和可写的文件存放的位置,默认为/var/solr
  2. -i solr的解压位置,默认为/opt/下
  3. -p solr绑定的端口,默认为8983
  4. -s service的名称
  5. -u 对应的用户的名称,默认为solr
  6. -n 这个参数说明执行完成后不启动solr

在执行完脚本后,我们就可以用 sudo service solr [start|restart|stop|status] 等命令来控制solr。

但是在上述情况下,我们并没有配置solr和zookeeper之间的关系,所以启动后不会是cloud模式,随后,我们来配置solr。

首先,进入/var/solr/data 目录,修改solr.xml文件。

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

图5 solr.xml 配置文件

在这里,我们主要配置host这个参数,将host:后面填入虚拟机对应的IP,否则搭建集群的时候,cloud会显示localhost,会引发错误。

随后,安装脚本在默认情况下,会在/etc/default/下生成一个solr.in.sh文件,我们要修改这个文件,配置zk_Host参数(也就是zookeeper的参数)。

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

图6 solr.in.sh 配置文件

这个配置文件还有其他很多的参数,读者可以自行去查看是如何意思,我在这里只配置了zk_host,其他都采用默认设置

zk_host 说明了zookeeper集群的位置,可以看出来,这就是我们第一步配置的zookeeper的集群中所以节点的地址。

配置完成后,我们就可以启动solr。

第四步,基础操作

首先我们应该用zookeeper上传一份我们自己的配置文件,放置在我们的zookeeper集群中。

root@ubuntu:/opt/solr-7.1./bin# ./solr zk upconfig -d [要上传的配置文件目录] -n [zookeeper上保存的配置文件名称] -z [zookeeper的集群地址]

很多教程中用的是cloud_scripts/下的zkcli.sh。实际上都是一样的,看自己的喜好,这个文件在zookeeper下也有,可以用help来看看参数说明。

上传之后,我们在新建一个集合,用我们刚才上传的配置文件,如果不指定,就会使用默认的配置文件

root@ubuntu:/opt/solr-7.1./bin# ./solr create-collection -c [新建集合的名字] -n [zookeeper上配置文件的名称,上一步设置的那个n] -shards  [分两块] -replicationFactor  [replic数量]

我们进入solr-cloud,就可以看到我们新建的集合,也可以看到我们solr-cloud集群已经搭载成功。

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

图7 solr-cloud

第五步 直接解压solr的配置说明

其他配置和官方脚本安装都一样,核心问题就是配置文件的位置不一样,需要特别说明。

solr.xml在解压后根目录下server/solr 下

solr.in.sh 在根目录下的bin/下

启动命令要使用 -cloud -z 参数,具体请参考官方文档。

 

虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)的更多相关文章

  1. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  2. MySQL集群搭建详解

    概述 MySQL Cluster 是MySQL 适合于分布式计算环境的高实用.可拓展.高性能.高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达 ...

  3. centos下hadoop2.6.0集群搭建详细过程

    一 .centos集群环境配置 1.创建一个namenode节点,5个datanode节点 主机名 IP namenodezsw 192.168.129.158 datanode1zsw 192.16 ...

  4. (2)虚拟机下hadoop1.1.2集群环境搭建

    hadoop集群环境的搭建和单机版的搭建差点儿相同,就是多了一些文件的配置操作. 一.3台主机的hostname改动和IP地址绑定 注意:以下的操作我都是使用root权限进行! (1)3太主机的基本网 ...

  5. vmware10上三台虚拟机的Hadoop2.5.1集群搭建

    由于官方版本的Hadoop是32位,若在64位Linux上安装,则必须先重新在64位环境下编译Hadoop源代码.本环境采用编译后的hadoop2.5.1 . 安装参考博客: 1 http://www ...

  6. Linux下MySQL/MariaDB Galera集群搭建过程

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  7. Ubuntu 12.04下spark1.0.0 集群搭建(原创)

    spark1.0.0新版本的于2014-05-30正式发布啦,新的spark版本带来了很多新的特性,提供了更好的API支持,spark1.0.0增加了Spark SQL组件,增强了标准库(ML.str ...

  8. Debian下Hadoop 3.12 集群搭建

    Debian系统配置 我这里在Vmware里面虚拟4个Debian系统,一个master,三个solver.hostname分别是master.solver1.solver2.solver3.对了,下 ...

  9. Flume NG高可用集群搭建详解

    .Flume NG简述 Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...

随机推荐

  1. pycharm快捷键、配置virtualenv环境,配置django调试,配置远程调试

    pycharm安装和首次使用 http://blog.csdn.net/chenggong2dm/article/details/9365437 快捷键: 找文件.代码.引用相关 1.双击shift ...

  2. SessionState

    SqlServer方式:1.创建数据库的方法:C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regsql -ssadd -sstype ...

  3. Android笔记——活动的生命周期

    一.活动的重要性 掌握活动的生命周期对任何 Android 开发者来说都非常重要,当你深入理解活动的生命周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的游刃有余.你的应 ...

  4. sanBox部署简介

    参考资料:1  http://www.kaaproject.org/getting-started/  此链接告诉我们部署sandbox的两种方法. 2   http://docs.kaaprojec ...

  5. 第三天:DOM EventListener 句柄的添加和移除

    1.事件句柄的包含如下两个方法: ps:使用句柄的好处是,修改方法的名称时,不需要改变多处 1.添加一个句柄, 2.添加多个句柄不会覆盖,运行结果:点击“按钮”,弹出框hello,确定后,自动弹出框w ...

  6. hdu1016 Prime Ring Problem

    dfs,用全局数组和变量保存并更新当前状态. 答案可以直接在搜索结束时打印,n为奇数时方案数为0. acm.hdu.edu.cn/showproblem.php?pid=1016 #include & ...

  7. mysql基础知识(3)--创建

    创建表: 基本形式 create  table  [if not  exists] 表名(字段列表, [约束或索引列表]) [表选项列表]; 说明:列表都是表示“多个”,相互之间用逗号分开. 字段基本 ...

  8. Regularized Linear Regression with scikit-learn

    Regularized Linear Regression with scikit-learn Earlier we covered Ordinary Least Squares regression ...

  9. All about Div内显示滚动桥

    Div内显示滚动桥看似是一个简单的前端问题,然而实际会发现还是有挺多需要注意的, 本文尝试对div内显示滚动桥的各种主要实现及一些难题进行研究. 横向滚动桥 横向滚动桥比较简单,无需设置宽度,直接ov ...

  10. setenforce: SELinux is disabled解决办法

    如果在使用setenforce命令设置selinux状态的时候出现这个提示:setenforce: SELinux is disabled 那么说明selinux已经被彻底的关闭了 如果需要重新开启s ...