solrcloud5.5+zk3.4.6+tomcat8(jdk7) 详细配置(3台服务器举例)
1.官网分别下载标题对应版本软件,并分别安装在3台服务器
2.ZooKeeper集群配置
安装ZooKeeper集群,在上面3节点上分别安装,使用的版本是zookeeper-3.4.6
在任意一台服务器上,更名 /zookeeper-3.4.6/conf/zoo.cfg
编辑内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E://work/solrcloud1/zookeeper-3.4.6/data #必须手动mkdir
dataLogDir=E://work/solrcloud1/zookeeper-3.4.6/logs #必须手动mkdir
clientPort=2181 #zk端口
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
然后,在data目录下创建myid文件,内容为1,对应server.1
然后在其他2台服务器相同的操作,注意clientPort是否占用,
并且创建对应的myid文件,内容分别是2、3
启动ZooKeeper集群,在每个节点上分别启动ZooKeeper服务:
bin/zkServer.sh start
(bin/zkServer.cmd)
可以查看ZooKeeper集群的状态,保证集群启动没有问题:
[hadoop@master zookeeper-3.4.5]$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/applications/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
[hadoop@slave1 zookeeper-3.4.5]$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/applications/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
[hadoop@slave4 zookeeper-3.4.5]$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/applications/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: leader
可以看到,slave4节点是ZooKeeper集群服务Leader
注意:zk最小安全集群服务器数量是3,如果出现一台宕机,出现1 leader 和 1 follower 正常工作,
如果集群剩下小于等于1台服务器,集群不能正常工作。
2.SolrCloud集群
任意一台添加tomcat关联solr-home配置:
把solr5.5目录 \solr-5.5.0\server\solr-webapp 下的webapp目录copy到
tomcat webapp目录下,更名solr;
目录:
\work\solrcloud1\tomcat8\webapps\solr
cp \solr-5.5.0\server\lib\* \work\solrcloud1\tomcat8\webapps\solr\WEB-INF\lib
cp \solr-5.5.0\server\resources\log4j.properties \work\solrcloud1\tomcat8\webapps\solr\WEB-INF\classes(没有自己手动创建)
添加solr_home
\work\solrcloud1\solr_home
里边包含一个文件:
solr.xml
主要修改内容:
<int name="hostPort">8081</int> #端口号必须和当前tomcat端口一致
继续修改tomcat
\work\solrcloud1\tomcat8\webapps\solr\WEB-INF\web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>\work\solrcloud1\solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
同上分别在其他2台服务器做相同的配置;
在以上步骤已经分别把zk集群管理搭建完毕、把tomcat服务solr搭建完成,接下来
怎样把tomcat服务加到zk管理中呢?
分别修改tomcat的catalina.sh or bat
文件在\work\solrcloud1\tomcat8\bin下
在第二行添加如下代码:
set JAVA_OPTS="-DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
启动三台tomcat服务器,到此为止,zk管理tomcat solr服务已经搭建完成。
但是,打开任意tomcat solr服务
http://127.0.0.1:8081/solr/index.html#/~cloud
看不到内容,因为这个时候只是搭建了关联关系,并没有实实在在做任何collection集群配置;
继续
核心ZooKeeper管理监控配置文件:
还在当前这个服务器上,创建2个文件夹
cp \work\solr-5.5.0\server\solr\configsets\sample_techproducts_configs\conf\* \work\solrcloud1\config-files
cp \work\solrcloud1\tomcat8\webapps\solr\WEB-INF\lib\* \work\solrcloud1\solr-lib
SolrCloud是通过ZooKeeper集群来保证配置文件的变更及时同步到各个节点上,所以,需要将配置文件上传到ZooKeeper集群中
上传solr collection配置给zk做集群统一保存
java -classpath /work/solrcloud1/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -confdir /work/solrcloud1/config-files/ -confname myconf
可以去zk下看看是否上传成功;
cd work\solrcloud1\zookeeper-3.4.6\bin
zkCli.sh -server ip:2181
ls /configs/myconf
ls /collections
....
这个时候
http://127.0.0.1:8081/solr/index.html#/~cloud 下依然没有什么内容
3.创建Collection、Shard和Replication
直接通过REST接口来创建Collection,如下所示:
curl 'http://127.0.0.1:8081/solr/admin/collections?action=CREATE&name=collection1&numShards=3&replicationFactor=1'
如果成功会得到类似如下内容:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">5546</int>
</lst>
<lst name="success">
<lst>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">4653</int>
</lst>
<str name="core">mycore4_shard1_replica3</str>
</lst>
<lst>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">4655</int>
</lst>
<str name="core">mycore4_shard1_replica1</str>
</lst>
<lst>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">5016</int>
</lst>
<str name="core">mycore4_shard1_replica2</str>
</lst>
</lst>
</response>
上面链接中的几个参数的含义,说明如下:
name 待创建Collection的名称
numShards 分片的数量
replicationFactor 复制副本的数量
现在,,,终于。。。。可以通过Web管理页面,访问http://127.0.0.1:8081/solr/index.html#/~cloud,查看SolrCloud集群的分片信息。
并且在 每台服务器 \work\solrcloudX\solr_home 下会多一个文件夹
类似:
mycore4_shard1_replica1
http://blog.csdn.net/shirdrn/article/details/9718387
http://my.oschina.net/zhzhenqin/blog/84995
http://shiyanjun.cn/archives/100.html
http://www.cnblogs.com/huangfox/p/3920315.html
分享到:
相关推荐
Win7 下面 安装solrCloud5.2.1 + tomcat7 + zookeeper3.4.6 集成。 有安装步骤,裁图和说明 1分物超所值 哈哈
SolrCloud5.2.1+tomcat7+zookeeper3.4.6搭建教程S
关于solr5.2.1+tomcat7+zookeeper3.4.6在windows下的部署,你值得一看
Centos7 安装linux.x64_11gR2_所需软件包,亲测是OK的,
详细描述solrCloud单机以及单机伪集群在windows下的部署安装并配图。
libstdc++ -3.4.6 linux版本下载,安装oracle必备,欢迎下载
libstdc++-3.4.6-8.i386.rpm 装oracle需要的包
libstdc++-3.4.6-9.x86_64.rpm ORACLE安装可能需要的依赖包
libstdc++-3.4.6-3.1.i386.rpm,liunx下安装oracle,
解决Linux下Oracle缺失 libstdc++-3.4.6-9.i386.rpm
详细描述solrCloud单机伪集群在windows下的安装与教程并附上步骤图解和相关软件的下载地址
Qt中用mingw编译的snmp++3.4.6的静态库,调用时,需在pro中添加LIBS+=lws2_32。包含头文件
libstdc++-3.4.6-11.i386.rpm
Hadoop2.6+HA+Zookeeper3.4.6+Hbase1.0.0 集群安装详细步骤
Spring4.3.12+mybatis3.4.6+Springmvc4.3.2整合(SSM整合) Spring4.3.12+mybatis3.4.6+Springmvc4.3.2整合(SSM整合) Spring4.3.12+mybatis3.4.6+Springmvc4.3.2整合(SSM整合)
windows10下,使用Qt的Mingw编译的snmp++3.4.6库文件,包含.a和.dll文件,下载后可直接使用。
Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6 搭建分布式集群环境详解。 详细介绍了如何搭建分布式集群环境。
libaio-0.3.105-2.i386.rpm、libaio-devel-0.3.105-2.i386.rpm libgcc-3.4.6-8.i386.rpm 、libstdc++-3.4.6-9.0.1.i386.rpm 、pdksh-5.2.14-8.i386.rpm