SolrCloud4.7.1分布式部署

一.环境

软件:


  • apache-tomcat-7.0.53.tar.gz

  • solr-4.7.1.tgz

  • zookeeper-3.4.6.tar.gz

规划:


三个节点IP:

  • 192.168.50.9

  • 192.168.50.227

  • 192.168.20.32

请配置每台机器上hosts文件,使每个节点都能通过机器名访问














SolrCloud数据集

primary

Zookeeper集群

3

索引分片

3

复制因子

2

手动将3个索引分片(Shard)的复本(Replica)分布在3个SolrCloud节点上

说明:部署修改配置操作都在Window系统上完成,最后打成包放到Linux上解压运行

二.安装Zookeeper集群

1.解压zookeeper-3.4.6.tar.gz到本地

2.复制zookeeper-3.4.6\conf下zoo_sample.cfg为zoo.cfg并修改内容




tickTime=2000

initLimit=10

syncLimit=5

dataDir=/data/zookeeper-3.4.6

clientPort=1181

server.1=192.168.50.9:1888:2888

server.2=192.168.20.32:1888:2888

server.3=192.168.50.227:1888:2888

这里我修改了端口号,也可根据情况调整.

需要注意的是Server.1中1为下面对应机器的myid编号

3.在zookeeper-3.4.6的根目录打包成zookeeper-3.4.6.zip

4.在liunx中建立solrCloud4.7目录将zookeeper-3.4.6.zip上传并解压




mkdir
solrCloud4.7

unzip
zookeeper-3.4.6.zip

5.新建/data/zookeeper-3.4.6,初始化myid,三个节点编号依次为1,2,3,在其余节点上分别执行命令(注意修改编号)。




mkdir
/data/zookeeper-3.4.6 -p

echo
"1">/data/zookeeper-3.4.6/myid

注意1的节点IP为192.168.50.9

6.在其他三个节点上执行上述操作后,启动Zookeeper集群




sh
zookeeper-3.4.6/bin/zkServer.sh start

sh
zookeeper-3.4.6/bin/zkServer.sh
status

查看Zookeeper集群状态

三.Tomcat和Solr的配置

1.解压apache-tomcat-7.0.53.tar.gz与solr-4.7.1.tgz到本地

2.修改apache-tomcat-7.0.53\bin中的catalina.sh文件,配置JAVA_OPTS




JAVA_OPTS="-Djetty.port=8585

-Dsolr.solr.home=/solrCloud4.7/solrhome

-Dbootstrap_confdir=/solrCloud4.7/solrhome/primary/conf

-Dcollection.configName=primary

-DzkHost=192.168.50.227:1181,192.168.20.32:1181,192.168.50.9:1181"

注意之后要建立solrhome

3.修改apache-tomcat-7.0.53\conf下的server.xml文件中端口号




<Connector
port="8585" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443"
/>

4.拷贝solr-4.7.1\example\resources下log4j.properties到apache-tomcat-7.0.53\lib中

5.建立solrhome文件夹,将solr-4.7.1\example\solr文件夹中的全部内容拷贝到solrhome中

a.修改solr.xml




<solr>

<solrcloud>

<str name="host">${host:}</str>

<str
name="zkHost">192.168.50.9:1181,192.168.20.32:1181,192.168.50.227:1181</str>

<int name="hostPort">${jetty.port:8585}</int>

<str name="hostContext">${hostContext:solr}</str>

<int name="zkClientTimeout">${zkClientTimeout:30000}</int>

<bool
name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

</solrcloud>

<shardHandlerFactory name="shardHandlerFactory"

class="HttpShardHandlerFactory">

<int name="socketTimeout">${socketTimeout:15000}</int>

<int name="connTimeout">${connTimeout:15000}</int>

</shardHandlerFactory>

</solr>

b.重命名collection1为primary,修改primary中core.properties文件中name=primary

6.解压solr-4.7.1\example\webapps\solr.war到本地(/solr)

a.拷贝solr-4.7.1\example\lib\ext下所有文件到solr\WEB-INF\lib中

b.修改solr-4.7.1\example\webapps\solr\WEB-INF中web.xml文件




<!--

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>/put/your/solr/home/here</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

-->

放开上面注释,替换为




<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>/solrCloud4.7/solrhome</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

7.拷贝之前配置的solr-4.7.1\example\webapps\solr文件夹到tomcat中

apache-tomcat-7.0.53\webapps文件夹下

8.在根目录打包solrhome和apache-tomcat-7.0.53,上传到solrCloud4.7下

四.Zookeeper集群的配置

1.通过bootstrap设置solrhome




java
-classpath .:/solrCloud4.7/apache-tomcat-7.0.53/webapps/solr/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI

-zkhost
192.168.50.9:1181,192.168.50.227:1181,192.168.20.32:1181

-cmd bootstrap

-solrhome
/solrCloud4.7/solrhome

SolrCloud集群的所有的配置存储在ZooKeeper上。一旦SolrCloud节点启动时配置了-Dbootstrap_confdir参数,

该节点的配置信息将发送到ZooKeeper上存储。其他节点启动时会应用ZooKeeper上的配置信息,这样当我们改动配置时就不用一个个机子去更改了。

2.SolrCloud是通过ZooKeeper集群来保证配置文件的变更及时同步到各个节点上,所以,需要将配置文件上传到ZooKeeper集群中




java
-classpath .:/solrCloud4.7/apache-tomcat-7.0.53/webapps/solr/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI

-zkhost
192.168.50.9:1181,192.168.50.227:1181,192.168.20.32:1181

-cmd upconfig

-confdir
/solrCloud4.7/solrhome/primary/conf

-confname
primaryconf

zkhost指定ZooKeeper地址,逗号分割,/solrhome/primary/conf为配置文件目录。primaryconf为在ZooKeeper上的配置文件名称。

3.把配置文件和目标collection联系起来




java
-classpath .:/solrCloud4.7/apache-tomcat-7.0.53/webapps/solr/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI

-zkhost
192.168.50.9:1181,192.168.50.227:1181,192.168.20.32:1181

-cmd
linkconfig

-collection
primary -confname primaryconf

创建的collection叫做primary,并指定和primaryconf连接

4.查看Zookeeper集群状态




sh
zookeeper-3.4.6/bin/zkCli.sh -server
localhost:1181

五.启动Tomcat

1.给tomcat中sh文件授权




chmod
+x
apache-tomcat-7.0.53/bin/*.sh

2.启动三台机子的tomcat




sh
apache-tomcat-7.0.53/bin/startup.sh

这个版本没有配好,solrCloud也不会报错

3.创建collection,初始化shard




curl
‘http://192.168.50.9:8585/solr/admin/collections?action=CREATE&name=primary&numShards=3&replicationFactor=1‘

返回内容




<?xml
version="1.0" encoding="UTF-8"?>

<response>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">4228</int>

</lst>

<lst name="success">

<lst>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">3606</int>

</lst>

<str name="core">primary_shard2_replica1</str>

</lst>

<lst>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">3661</int>

</lst>

<str name="core">primary_shard3_replica1</str>

</lst>

<lst>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">3820</int>

</lst>

<str name="core">primary_shard1_replica1</str>

</lst>

</lst>

</response>


SolrCloud4.7.1分布式部署,码迷,mamicode.com

时间: 2024-11-07 05:38:41

SolrCloud4.7.1分布式部署的相关文章

Zabbix基于Proxy分布式部署实现Web监控

前言 在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能.但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情.目前比较流行的开源监控工具有Cacti.Nagios(Icinga).Zabbix等.本文带来的是Zabbix基于Proxy分布式部署实现Web监控. Zabbix 简介 Zabbix是一个基于Web界面提供分布式系统

Apache/nginx转发设置-分布式部署(转)

转自http://blog.csdn.net/fujianianhua/article/details/8062234 Apache转发设置 1.  Weblogic安装 Weblogic8和Weblogic10默认安装,选择完全安装即可,如果是Weblogic9则选择自定义安装,勾选WebService plugin 2.apache服务器安装 安装说明详见文档<Apache服务器搭建说明.doc> 版本对应关系: Weblogic版本   Apache版本 weblogic8     Ap

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 分析目前项目结构 眼前出现这么一坨坨的文件夹,相信很多人已经看不下去了.是的,首先就是要把它给做掉. 按照这个项目文件夹的命名意图,大概可以划分如下: 1.Business:业务代码 2.Data:数据访问 3.Helpers:辅助类(通用类库之类的) 4.Models:各种模型(包括视图模型) 5.theme:皮肤

Hadoop2经典分布式部署模式

Hadoop2经典分布式部署模式 基于QJN的HA模式的分布式部署,不含Federation模块的实践是一个经典的Hadoop2的高可用的分布式部署模式. 1.准备测试环境 准备4台PC服务器做Hadoop2部署 ip hostname namenode fc datanode rm nodemanage QJN 10.71.84.237 hadoop201 Y Y Y Y Y Y 10.71.84.223 hadoop202 Y Y Y Y Y Y 10.71.84.222 hadoop203

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比

EF之MSSQL分布式部署一:EFContext自定义数据库链接

不废话,上代码: 来源:http://bbs.csdn.net/topics/390823046 原文地址:EF之MSSQL分布式部署一:EFContext自定义数据库链接 /// <summary> /// 得到Entity的连接字符串 /// </summary> /// <param name="edmxFullName">Edmx的包括命名空间的全名称</param> /// <param name="server

分布式部署网站---文件系统的存储--ftp上传图片到指定文件服务器

问:通常一个网站程序发布在一个iis服务器上,但是如果要分布式部署网站.文件系统该如何存储呢? 答:通常的就是给网站文件系统一个子域名.比如 https://images.web.com. 网站程序内部通过代码调用ftp服务器-每次用户上传文件直接上传到相应imags域名对应的目录. 问:如果网站的图片,文件部署在子域名 网站该如何调用呢? 答:在视图模板里面 直接读取配置的images 域名  程序如下... public class AppConfig { /// <summary> //

【G】开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析

G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 [G]开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析 抱歉 首先我先说声抱歉,因为上一篇结尾预告第三篇本该是“部署项目管理”,那为什么变成本篇呢? 请容我解释一下,在预告篇到现在为止,经常会有人问我这个项目到底是干什么的.或许之前写的比较粗糙.那我相信目前定稿后的功能概览图应该会给大家一个比较清晰的认识.

windows下hadoop的集群分布式部署

下面我们进行说明一下hadoop集群的搭建配置. 本文假设读者具有hadoop单机配置的基础,相同的部分不在重述. 以三台测试机为例搭建一个小集群,三台机器的ip分别为 192.168.200.1;192.168.200.2;192.168.200.3 cygwin,jdk的安装同windows下hadoop的单机伪分布式部署(1),这里略过. 1.配置 hosts 在三台机子的hosts文件中加入如下记录: 192.168.200.1 hadoop1  #master namenode 192