Apache SolrCloud安装
1.介绍
SolrCloud通过ZooKeeper集群来进行协调,使一个索引进行分片,各个分片可以分布在不同的物理节点上,多个物理分片组成一个完成的索引Collection。SolrCloud自动支持Solr Replication,可以同时对分片进行复制,冗余存储。下面,我们基于Solr最新的4.4.0版本进行安装配置SolrCloud集群。
2. 安装环境
我使用的安装程序各版本如下:
- Solr: Apache Solr-4.4.0
- Tomcat: Apache Tomcat 7.0.47
- ZooKeeper: Apache ZooKeeper 3.3.6
各个目录说明:
- 所有的程序安装在/opt目录下,你可以依照你的实际情况下修改安装目录。
- ZooKeeper的数据目录在/data/zookeeper/data
- solr/home设置在/usr/local/solrhome
3. 规划SolrCloud
- 单一SolrCloud数据集合:product
- ZooKeeper集群:3台
- SolrCloud实例:3节点
- 索引分片:3
- 复制因子:2
手动将3个索引分片(Shard)的复本(Replica)分布在3个SolrCloud节点上
三个节点:
- 192.168.137.101
- 192.168.137.102
- 192.168.137.103
4. 安装ZooKeeper集群
由于需要用到ZooKeeper,故我们先安装好ZooKeeper集群
首先,再第一个节点上将zookeeper-3.3.6.zip解压到/opt目录:
unzip zookeeper-3.3.6 -d /opt/
创建zookeeper配置文件zookeeper-3.3.6/conf/zoo.cfg内容如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
server.1=192.168.137.101:2888:3888
server.2=192.168.137.102:2888:3888
server.3=192.168.137.103:2888:3888
zookeeper的数据目录指定在/data/zookeeper/data
,日志文件指定目录/data/zookeeper/logs你也可以使用其他目录,通过下面命令进行创建该目录
mkdir /data/zookeeper/data -p
初始化myid,三个节点编号依次为1,2,3
,在其余节点上分别执行命令
echo
"1"
>/data/zookeeper/data/myid
在第二个和第三个节点上依次重复上面的操作。这样第一个节点中myid内容为1,第二个节点为2,第三个节点为3。
启动ZooKeeper集群,在每个节点上分别启动ZooKeeper服务:
sh /opt/zookeeper-3.3.6/bin/zkServer.sh start
可以查看ZooKeeper集群的状态,保证集群启动没有问题:
[root@localhost ~]# sh /opt/zookeeper-3.3.6/bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper-3.3.6/bin/../conf/zoo.cfg
Mode: follower
5. 安装Solr
执行以下命令:
tar zxvf apache-tomcat-7.0.47.tar.gz
-C /opt/
unzip solr-
4.4
.
0
.zip -d /opt
cd /opt
chmod +x apache-tomcat-
6.0
.
36
/bin/*.sh
cp solr-
4.4
.
0
/example/webapps/solr.war apache-tomcat-
6.0
.
36
/webapps/
解压solr.war
unzip solr.war -d solr
cp solr-
4.4
.
0
/example/lib/ext/* apache-tomcat-
6.0
.
36
/webapps/solr/WEB-INF/lib/
cp solr-
4.4
.
0
/example/resources/log4j.properties apache-tomcat-
6.0
.
36
/lib/
6. ZooKeeper管理配置文件
先将附件中的配置文件解压,然后拷贝到/usr/local/solrhome/core0/conf目录下(每个节点)
1、 创建一个SolrCloud目录,并将solr的lib文件拷贝到这个目录:
mkdir -p /usr/local/SolrCloud/solr-lib/
cp apache-tomcat-7
.0
.47
/webapps/solr/WEB-INF/lib/* /usr/local/SolrCloud/solr-lib/
说明:
- zkhost指定ZooKeeper地址,逗号分割
/usr/local/solrhome/core0/conf
目录下存在schema.xml和solrconfig.xml两个配置文件,你可以修改为你自己的目录。- productconf为在ZooKeeper上的配置文件名称。
4、把配置文件和目标collection联系起来:
java -classpath .:/usr/local/SolrCloud/solr-lib/* org.apache.solr.cloud.ZkCLI -zkhost 192.168.137.101:2181,192.168.137.102:2181,192.168.137.103:2181 -cmd linkconfig -collection product -confname productconf
说明:
- 创建的collection叫做product,并指定和productconf连接
5、查看ZooKeeper上状态
在任意一个节点的/opt目录下执行如下命令:
[root
@localhost
opt]# zookeeper-
3.3
.6
/bin/zkCli.sh
[zk: localhost:
2181
(CONNECTED)
0
] ls /
[configs, zookeeper, clusterstate.json, aliases.json, live_nodes, overseer, collections, overseer_elect]
[zk: localhost:
2181
(CONNECTED)
1
] ls /configs
[productconf]
[zk: localhost:
2181
(CONNECTED)
1
] ls /collections
[product]
/configs
和/collections
目录均有值,说明配置文件已经上传到ZooKeeper上了,接下来启动solr
7. Tomcat配置与启动
1、修改每个节点上的tomcat配置文件,在环境变量中添加zkHost变量
编辑apache-tomcat-6.0.36/bin/catalina.sh
,添加如下代码:
JAVA_OPTS='-Dsolr.solr.home=/usr/local/solrhome -DzkHost=192.168.137.101:2181,192.168.137.102:2181,192.168.137.103:2181'
在/usr/local/solrhome/
目录创建solr.xml:
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<solr persistent=
"true"
sharedLib=
"lib"
>
<cores adminPath=
"/admin/cores"
zkClientTimeout=
"20000"
hostPort=
"${jetty.port:8080}"
hostContext=
"${hostContext:solr}"
></cores>
</solr>
说明:
- hostPort值应该和tomcat的端口保持一致
- solr默认使用jetty服务器,端口默认为8983
最后,在/opt目录下启动tomcat:
sh apache-tomcat-7.0.47/bin/startup.sh
通过http://192.168.56.121:8080/solr/进行访问,界面提示There are no SolrCores running.
,这是因为配置文件尚未配置solrcore。
8. 创建Collection、Shard和Replication
创建Collection及初始Shard
直接通过REST接口来创建Collection,你也可以通过浏览器访问下面地址,如下所示:
curl
'http://192.168.137.101:8080/solr/admin/collections?action=CREATE&name=product&numShards=3&replicationFactor=1'
如果成功,会输出如下响应内容如图:
上面链接中的几个参数的含义,说明如下:
- name 待创建Collection的名称
- numShards 分片的数量
- replicationFactor 复制副本的数量
可以通过Web管理页面,访问http://192.168.137.101:8080/solr/#/~cloud
,查看SolrCloud集群的分片信息:
实际上,我们从192.168.137.101节点可以看到,SOLR的配置文件内容,已经发生了变化,如下所示:
同时,你还可以看另外两个节点上的solr.xml文件的变化。
手动创建Replication
下面对已经创建的初始分片进行复制。 shard1已经在192.168.137.102上,我们复制分片到192.168.56.101和192.168.56.103上,执行如下命令:
curl
'http://192.168.137.101:8080/solr/admin/cores?action=CREATE&collection=product&name=product_shard1_replica_2&shard=shard1'
curl
'http://192.168.137.103:8080/solr/admin/cores?action=CREATE&collection=product&name=product_shard1_replica_3&shard=shard1'
product_shard1_replica_2
,在192.168.137.103节点上有一个副本,名称为product_shard1_replica_3
。也可以通过查看192.168.137.102和192.168.137.103上的目录变化,如下所示:
你还可以对shard2和shard3添加副本。
再次从192.168.137.101节点可以看到,SOLR的配置文件内容,又发生了变化,如下所示:
到此为止,我们已经基于3个节点,配置完成了SolrCloud集群。
转载于:https://www.cnblogs.com/cora/p/4008313.html
Apache SolrCloud安装相关推荐
- Solrcloud安装与使用
准备 JDK 1.8.0.181 solr 7.5.0 zookeeper 3.4.13 安装步骤 zookeeper集群安装 下载zookeeper http://mirror.bit.edu.cn ...
- Apache Maven 安装与配置-修改源
Maven配置,强大的Java包管理器 Maven介绍 Apache Maven 下载 Apache Maven 安装 要求 启动 解压到适当的文件夹 添加环境变量 修改配置 启动测试 Maven介绍 ...
- RHEL5+PXE+DHCP+Apache+Kickstart安装RHCE5.1 i386实验室环境
此博文出自:http://andrewyu.blog.51cto.com/1604432/1100567 使用RHEL5+PXE+DHCP+Apache+Kickstart安装RHCE5.1 i386 ...
- apache 源代码安装
1.下载源代码<?XML:NAMESPACE PREFIX = O /> 去官网http://www.apache.org/下载最新稳定版的源代码 本案例中下载的是httpd-2.2. ...
- linux apache 手动安装教程,linux下手动安装apache
下面是官方文档的要求,必须安装APR.APR-Util.PCRE,gcc-c++等包,文档URL地址http://httpd.apache.org/docs/2.4/install.html. 所以, ...
- (转)Apache的安装与配置
转自:http://www.dreamdu.com/webbuild/apache/ 5.2. Apache的安装与配置 5.2.1. Apache安装与配置视频教程 下面将介绍如何在WinXP下安装 ...
- apache 编译安装php mysql_编译安装APACHE+PHP+MYSQL
adminjun qq:279872 网络技术研究会群:8070045 中国linux公社论坛群:4478487 其实这是我用RouterOS和redhat linux进行pppoe服务器的配置及在r ...
- Apache Bench安装与使用
转载:ApacheBench(ab)使用详解 一.Apache Bench简介 ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab.ab又是一个命令行工具,对发起负 ...
- linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解
这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...
最新文章
- 一个 .net 程序员的梦想!大哥们帮帮我好吗?
- 成功解决from scipy.linalg import _fblas ImportError: DLL load failed: 找不到指定的模块。
- 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二)
- TS对象类型 -- 接口(interface)
- 理解Shadow DOM
- VS 调用外部DLL时提示“无法嵌入互操作类型”
- python求解简单加密问题,实现对输入的密文加密
- 最全微信小程序源码项目开发代码合集
- 资源分享·病毒样本下载资源分享
- 原码一位乘的数值运算
- 常用的网络进行广告推广的落实措施都有哪些渠道呢
- win2003系统的序列号
- excel学习-日期计算函数DATEDIF函数(计算相隔年数、月数、天数)
- MAXIMO部分AppBean类操作经验
- 三星打印机SCX-4824HN全套驱动(打印/扫描)
- 硬核万字总结:看完这 20 道 Redis 面试题,女朋友都面上阿里了
- 用日志构建坚固的数据基础设施/为什么双写不好
- 抖音python真的那么好吗_python看抖音用户画像,摩羯天蝎居然刷得最多?
- AMA(Ask Me Anything)新型问答社区模式研究
- ff7重制版青魔法_FFV最终幻想7PC重制版攻略 第五十一章:大空洞
热门文章
- 总奖金100万!2021SEED江苏大数据开发与应用大赛(华录杯)正式开赛!
- 简洁的架构还能高效和准确?清华华为提出新型残差循环超分模型:RRN!
- 模型压缩+编译器优化,使AI算法在移动端性能超越专用硬件
- 文档分析与识别技术回顾与反思
- 一个Python爬虫案例让你看清Python2和3之间的区别
- java stack 类 效率_Java中ArrayList、LinkedList、Vector、Stack的比较
- 智能机器人热点技术大揭秘!
- 哈佛开源 | 从零开始教你计算机图形学
- 重读经典:完全解析特征学习大杀器 ResNet
- CMU | 深度学习模型中集成优化、约束和控制