`
ssxxjjii
  • 浏览: 948293 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solrCloud 4.9 分布式集群部署及注意事项

    博客分类:
  • solr
 
阅读更多

http://www.cnblogs.com/huangfox/p/3920315.html

环境搭建

一.zookeeper

参考:http://blog.chinaunix.net/uid-25135004-id-4214399.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
现有4台机器 10.14.2.201 10.14.2.202 10.14.2.203 10.14.2.204
安装zookeeper集群
  
在所有机器上进行
1、下载安装包解压
 tar xvf zookeeper-3.4.5.tar.gz  -C /export/
 cd /export/
 ln -s zookeeper-3.4.5 zookeeper
 
2、设置环境变量
 vim /etc/profile
#Set ZooKeeper Enviroment
export ZOOKEEPER_HOME=/export/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
 
3、加载环境变量
 source   /etc/profile
4、配置zookeeper
cd /export/zookeeper/conf
cp zoo_sample.cfg  zoo.cfg
vim zoo.cfg
 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/zookeeper/data
dataLogDir=/export/zookeeper/log
clientPort=2181
server.1=10.14.2.201:2888:3888
server.2=10.14.2.202:2888:3888
server.3=10.14.2.203:2888:3888
server.4=10.14.2.204:2888:3888
 
5、dataDir和日志目录dataLogDir
mkdir -p /export/zookeeper/data
mkdir -p /export/zookeeper/log
 
6、在10.14.2.201上
在dataDir目录下创建myid文件
echo 1 > /export/zookeeper/data/myid
 
myid中的数字与zoo.cfg中的"server.数字=ip或者域名:port1:port2"相对应,
配置文件中10.14.2.201对应的server.数字是1 所以myid的数字应为1
 
7、在10.14.2.202上
在dataDir目录下创建myid文件
echo 2 > /export/zookeeper/data/myid
 
8、在10.14.2.203上
在dataDir目录下创建myid文件
echo 3 > /export/zookeeper/data/myid
 
9、在10.14.2.204上
在dataDir目录下创建myid文件
echo 4 > /export/zookeeper/data/myid
 
在所用机器上执行
10、修改权限
chown hadoop.hadoop -R /export/zookeeper/
chown hadoop.hadoop -R /export/zookeeper
 
11、启动zookeeper
/export/zookeeper/bin/zkServer.sh start
 
12、观察zookeeper状态
   1> 10.14.2.201
   # /export/zookeeper/bin/zkServer.sh status
   JMX enabled by default
   Using config: /export/zookeeper/bin/../conf/zoo.cfg
   Mode: follower
 
   2> 10.14.2.202
   # /export/zookeeper/bin/zkServer.sh status
   JMX enabled by default
   Using config: /export/zookeeper/bin/../conf/zoo.cfg
   Mode: follower
  
   3> 10.14.2.203
   # /export/zookeeper/bin/zkServer.sh status
  JMX enabled by default
  Using config: /export/zookeeper/bin/../conf/zoo.cfg
  Mode: leader
  
   4> 10.14.2.204
   # /export/zookeeper/bin/zkServer.sh status
   JMX enabled by default
   Using config: /export/zookeeper/bin/../conf/zoo.cfg
   Mode: follower
    
13、此时zookeeper已安装并启动完毕

  

二.solrCloud

参考:http://lucien-zzy.iteye.com/blog/2002463

1.安装tomcat,配置端口。部署solr.war,将solr\example\lib\ext下的jar拷贝到solr\WEB-INF\lib下。

2.创建

/home/solr/solrcloud

/home/solr/solrcloud/config-files (放置solr\example\solr\collection1\conf 下的所有文件)

/home/solr/solrcloud/solr-lib (放置solr\WEB-INF\lib下的所有jar包)

3.配置中文分词器

4.创建solr数据目录

/home/solr/solr-cores

生成solr.xml,如下:

复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
<logging enabled="true">
<watcher size="100" threshold="INFO" />
</logging>
<cores defaultCoreName="collection1" adminPath="/admin/cores" host="${host:}" hostPort="8080" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
</cores>
</solr>
复制代码

5.创建

tomcat/conf/Catalina

tomcat/conf/Catalina/localhost

并创建solr.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/soft/apache-tomcat-7.0.37/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/home/solr/solr-cores" override="true"/>
</Context>

docBase根据实际情况配置;

solr/home为之前创建的目录:/home/solr/solr-cores

6.修改tomcat/bin/cataina.sh 文件,在最上方加入:JAVA_OPTS="-DzkHost=master:2181,slave1:2181,slave2:2181",或直接使用ip。

将以上配置发布到集群其他机器上。

7.SolrCloud是通过ZooKeeper集群来保证配置文件的变更及时同步到各个节点上,所以,需要将配置文件上传到ZooKeeper集群中。执行如下操作:

java -classpath .:/home/solr/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 192.168.91.128:2181,192.168.91.129:2181,192.168.91.130:2181 -confdir /home/solr/solrcloud/config-files/ -confname myconf  

-cmd upconfig:上传配置文件

-confdir:配置文件的目录

-confname:指定对应的名称

java -classpath .:/home/solr/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection1 -confname myconf -zkhost 192.168.91.128:2181,192.168.91.129:2181,192.168.91.130:2181

-cmd linkconfig:为指定collection"绑定"配置文件

-collection

-confname

8.检查zookeeper的配置信息

zkCli.sh -server ip:port

ls /configs/myconf

ls /live_nodes

9.启动tomcat,创建collection

curl 'http://192.168.91.128:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=3&replicationFactor=1'

action:CREATE

name:collection名称

numShards:分片数量

replicationFactor:副本集数量

也可以通过zk查询collection的情况:ls /collections/mycollection

 

-------------------------------

1.ZK CLI

ZooKeeper's Command Line Utility (CLI).

zkcli Parameters

Short

Parameter Usage

Meaning

 

-cmd <arg>

CLI Command to be executed: bootstrapupconfigdownconfiglinkconfigmakepathgetgetfileput,putfilelist or clear
This parameter is mandatory

-z

-zkhost <locations>

ZooKeeper host address. 
This parameter is mandatory for all CLI commands.

-c

-collection <name>

For linkconfig: name of the collection.

-d

-confdir <path>

For upconfig: a directory of configuration files.

-h

-help

Display help text.

-n

-confname <arg>

For upconfiglinkconfig: name of the configuration set.

-r

-runzk <port>

Run ZooKeeper internally by passing the Solr run port; only for clusters on one machine.

-s

-solrhome <path>

For bootstrap or when using -runzk: the mandatory solrhome location.

ZooKeeper CLI Examples

Below are some examples of using the zkcli CLI:
Uploading a Configuration Directory

java -classpath example/solr-webapp/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:9983
-confdir example/solr/collection1/conf -confname conf1 -solrhome example/solr

Put arbitrary data into a new ZK file

java -classpath example/solr-webapp/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI -zkhost 127.0.0.1:9983 -put /data.txt 'some data'

Put a local file into a new ZK file

java -classpath example/solr-webapp/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI -zkhost 127.0.0.1:9983 -putfile /data.txt /some/local/file.txt

Linking a Collection to a Configuration Set

java -classpath example/solr-webapp/webapp/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI -cmd linkconfig -zkhost 127.0.0.1:9983
-collection collection1 -confname conf1 -solrhome example/solr

Bootstrapping All the Configuration Directories in solr.xml

java -classpath example/solr-webapp/webapp/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI -cmd bootstrap -zkhost 127.0.0.1:9983
-solrhome example/solr

Scripts

There are scripts in example/cloud-scripts that handle the classpath and class name for you if you are using Solr out of the box with Jetty. Commands then become:

sh zkcli.sh -cmd linkconfig -zkhost 127.0.0.1:9983
-collection collection1 -confname conf1 -solrhome example/solr

 

 

2.Managing collections via the collections API

CREATE---

http://localhost:8983/solr/admin/collections?action=CREATE&name=mycollection&numShards=3&replicationFactor=4

name:collection的名称

numShards:指定分片数量(slices)

replicationFactor:副本数量

maxShardsPerNode:默认值为1,注意三个数值:numShards、replicationFactor、liveSolrNode,一个正常的solrCloud集群不容许同一个liveSolrNode上部署同一个shard的多个replic,因此当maxShardsPerNode=1时,numShards*replicationFactor>liveSolrNode时,报错。因此正确时因满足以下条件:
numShards*replicationFactor<liveSolrNode*maxShardsPerNode

createNodeSet:

collection.configName:指定该collection使用那份config,这份config必须存在于zk中。

DELETE---

http://localhost:8983/solr/admin/collections?action=DELETE&name=mycollection

RELOAD---

http://localhost:8983/solr/admin/collections?action=RELOAD&name=mycollection

SPLIT SHARD---

http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=<collection_name>&shard=shardId

 

3.Creating cores via CoreAdmin

curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=mycore&collection=collection1&shard=shard2'

 

 

-------------------------------

Q1:Multiple schemas in the same SolrCloud ?

java -classpath .:/home/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 10.200.51.190:2224,10.200.51.192:2224,10.200.51.194:2224 -confdir /home/solrcloud/fox-config-files/ -confname foxconf

指定配置文件,上传到zk。

curl 'http://10.200.51.194:2223/solr/admin/collections?action=CREATE&name=fox4&numShards=1&replicationFactor=5&collection.configName=foxconf'

为创建的collection指定collection.configName。

分享到:
评论

相关推荐

    solr4.9+tomcat+zookeeper集群

    在这个集群环境中,Tomcat作为Servlet容器运行Solr,而Zookeeper则作为分布式协调服务,管理整个集群的状态和配置。 一、Solr 4.9 集群的核心概念 1. **Sharding**: Solr集群通过分片技术将大量数据分散到多个节点...

    SANGFOR_aDesk_V4.9_VDC集群配置指南.pdf

    - 该文档的版本为1.0,发布于2016年12月,主要介绍了VDC集群的配置步骤和注意事项。 - 审核修订记录显示文档在发布后可能有更新和改进,但此处仅提供1.0版内容。 2. **读者对象** - 本指南的目标读者主要是IT...

    Dotfuscator Professional Edition 4.9完美破解版及使用教程

    Dotfuscator Professional Edition 4.9完全破解,永久免费 亲测可用完美破解无时间限制。 包括使用教程文档。 直接安装即可使用,不用打任何破解补丁,没有任何限制,已经完全破解。 1.无时间限制 2. 去除混淆后...

    移植linux-4.9的相关文件及结果

    在本文中,我们将深入探讨如何移植Linux内核4.9版本到特定硬件平台,并了解这一过程中涉及的关键步骤、目标及结果。移植Linux内核是一项复杂的工作,它涉及到将内核源代码修改以适应新的硬件架构,确保操作系统能够...

    DotfuscatorProfessionalEdition 4.9完美破解版及使用教程

    Dotfuscator Professional Edition 4.9完全破解版永久免费 NET 混淆加密工具+使用教程文档 直接安装即可使用,不用打任何破解补丁,没有任何限制,已经完全破解。 1.无时间限制. 2. 去除混淆后的程序集类型名称中...

    solr4.9开发所需jar包

    6. **分布式搜索**:Solr4.9支持多节点部署,了解如何配置和管理分布式环境,以提高搜索性能和容错性。 7. **JAR依赖**:理解Solr4.9的依赖结构,知道哪些jar包是必要的,以及它们在项目中的作用。 8. **日志和...

    DGUSV4.9_DGUS_dgusv4.9_

    《迪文屏DGUS V4.9深度解析与应用指南》 迪文屏DGUS(Dewin User Screen)是一款高效、易用的图形化用户界面解决方案,特别适用于各种嵌入式设备。DGUS V4.9是其一个重要版本,为用户提供了更强大的功能和优化的...

    moto 最新刷机工具 RSD4.9

    下面我们将详细介绍这款工具的主要功能、使用步骤以及注意事项。 **主要功能:** 1. **固件升级**:RSD4.9 支持对摩托罗拉设备的系统固件进行在线或离线升级,确保手机始终保持最新的软件版本,以获取更好的性能...

    gcc 4.9

    4. **Fortran语言增强**:GCC 4.9 对Fortran语言的支持也得到了加强,增加了对Coarrays(分布式数组)的支持,这是Fortran 2008标准的一个重要特性,用于并行计算。 5. **Ada语言增强**:此版本的GCC对Ada语言也...

    linux内核版本4.9.37

    mv linux-4.9.37 linux-4.9.y cd linux-4.9.y patch -p1 &lt; ../linux-4.9.37.patch cd ../ tar -czf linux-4.9.y.tgz linux-4.9.y cd ../../ 或 1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/...

    junit4.9.zip

    《JUnit 4.9:Java单元测试框架的增强与实践》 JUnit 4.9,作为Java编程语言中广泛使用的单元测试框架,是开发者进行软件质量保障的重要工具。这个压缩包“junit4.9.zip”包含了该版本的两个关键组成部分,即junit-...

    dotNET_Reactor4.9

    9. **兼容性**: dotNET_Reactor4.9应与多个.NET Framework版本兼容,包括.NET 2.0到.NET 4.8及以上,可能也支持.NET Core和.NET 5及更高版本。 10. **易用性**: 软件界面直观,提供了多种配置选项,使得开发者可以...

    RSDLite4.9刷机软件

    **四、注意事项** 1. **风险提示**:刷机会清除手机上的所有数据,务必提前备份重要资料。 2. **适配性**:确保使用的RSDLite4.9版本和刷机包与你的手机型号兼容,否则可能导致设备无法正常使用。 3. **电源管理*...

    WordPress 4.9 Beta 1 发布,解析更新

    WordPress 4.9 预计将在2017年11月14日公布。几天前发布了 WordPress 4.9 Beta 1,让我们一起来看下 WordPress 4.9 的具体更新内容吧! 改进外观定制器(Customizer) 外观 – 自定义 界面,允许你将设置选项保存...

    宽域氧传感器LSU4.9接线说明书

    ### 安装与运行注意事项 - **安装位置**:传感器应安装在车辆排气系统中能够直接接触尾气的位置,通常是靠近发动机的排气歧管附近。 - **预热时间**:启动车辆后,传感器需要一定时间预热至工作温度,才能开始...

    中文UI框架H+4.9

    【H+4.9中文UI框架详解】 H+4.9是一款专为中文用户设计的全响应式UI框架,基于Bootstrap3的最新稳定版本构建。它不仅提供了丰富的组件和样式,还强调了扁平化设计的理念,使得网页设计更加简洁、直观且易于使用。H+...

    gradle-4.9-all.zip

    `gradle-4.9-all.zip` 是Gradle的4.9版本的完整发行包,包含了运行和构建项目所需的所有组件。这个版本可能发布于2018年左右,因为Gradle通常每年会有多个小版本更新。 在Gradle 4.9中,有几个关键知识点值得一提:...

    linux-4.9.37.zip

    【标题】"Linux 4.9.37 内核版本" 【描述】"这篇文章详细介绍了Linux内核版本4.9.37在嵌入式系统中的应用与更新内容。作者通过CSDN博客分享了关于这个特定内核版本的重要特性、改进以及它对嵌入式开发的影响。Linux...

    Apk_Manager_4.9

    Apk_Manager_4.9 支持APK的编译,意味着用户可以快速地将Java源代码及资源文件打包成可用于安装的APK格式。这一功能对于调试和发布应用程序至关重要,特别是在快速迭代开发或进行个性化定制时。 反编译是Apk_...

Global site tag (gtag.js) - Google Analytics