solrCloud 集群搭建

来源:互联网 发布:java web开发实战 编辑:程序博客网 时间:2024/05/30 23:55

工具:zookeeper-3.4.6.tar.gz
zookeeper用来管理solr服务器
由于其的投票机制因此集群至少需要3台zookeeper服务器
至少 4 台solr服务器 2主 2从
两个分片
这里就来模拟这种情形

首先将zookeeper的安装包上传至服务器解压,然后复制出三份
分别命名为zookeeper01,zookeeper02,zookeeper03
这里写图片描述
并且在每个zookeeper的目录下新建一个data目录。
在data目录下创建一个叫myid的文件(解压的新文件中没有data目录需要手动创建)
touch zookeeper01/data/myid
这里写图片描述

编辑这个文件,这个文件中的值是该节点的id不能与其他节点重复(可以是1,2,3,4…依次编号)
这里写图片描述

将zoo_sample.cfg更名或者复制一份改名为zoo.cfg并对其进行配置
这里写图片描述
因为是一台机器所以端口不能冲突 端口号分别是2191, 2192 ,1293
为每一台服务器配置ip及端口号
这里写图片描述
server.1=192.168.119.130:2180:2171
server.2=192.168.119.130:2280:2172
server.3=192.168.119.130:2380:2173
其中.1表示zookeeper中节点的id 即上面myid中配置的id,ip后面的两个端口号第一个是通信端口,第二个是投票端口。可以任意但是不能冲突(上面配置的Clientport是用户访问端口这里的端口号也不能与其冲突),

echo 命令
echo xxx > data/myid 将xxx写入到data下的myid文件中去

这里占用的6个端口(三组)分别是 2180:2171;2280:2172;2380:2173

启动服务
./zookeeper01/bin/zkServer.sh start
./zookeeper02/bin/zkServer.sh start
./zookeeper03/bin/zkServer.sh start

授权
chmod u+x start-zookeeper-cluster.sh
这里写图片描述
启动
这里写图片描述
查看状态
./zookeeper01/bin/zkServer.sh status
./zookeeper02/bin/zkServer.sh status
./zookeeper03/bin/zkServer.sh status
这里写图片描述

Solr集群

将单机版的solr复制4份到集群版solr目录下
更改端口号
分别:
8105:8180:8443:8109
8205:8280:8443:8209
8305:8380:8443:8309
8405:8480:8443:8409
将sorlhome复制到集群版目录下
关联slorhome
修改tomcat中solr下的web.xml文件
关联solr与solrhome之间的联系
这里写图片描述
这里写图片描述

SolrCloud相关配置
修改solrhome下的solr.xml文件
这里写图片描述
这里写图片描述

上传solrhome/conf/ 下的两个文件到zookeeper上
此时需要一个工具
工具位于solr解压目录下的example/scripts/cloud-scripts/中
名为 zkcli.sh
任选一个solrhome文件夹下的文件进行上传
命令为(上传配置文件至zookeeper)
./zkcli.sh -zkhost 192.168.119.130:2191,192.168.119.130:2192,192.168.119.130:2193 -cmd upconfig -confdir /usr/local/solr-cluster/solrhome01/collection1/conf -confname my_solr_cluster_conf

连接zookeeper的命令
./zkCli.sh -server 192.168.119.130:2191
执行完成后查看是否上传成功

这里写图片描述

关联solr与zookeeper

修改tomcat下面的catalina.sh文件
添加如下代码。
JAVA_OPTS=”-DzkHost=192.168.119.130:2191,192.168.119.130:2192,192.168.119.130:2193”
这里写图片描述

这里写图片描述
开放所有相关端口

/sbin/iptables -I INPUT -p tcp –dport 2180 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2171 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2280 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2172 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2380 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2173 -j ACCEPT

/sbin/iptables -I INPUT -p tcp –dport 8105 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8205 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8305 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8405 -j ACCEPT

/sbin/iptables -I INPUT -p tcp –dport 8180 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8280 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8380 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8480 -j ACCEPT

/sbin/iptables -I INPUT -p tcp –dport 8553 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8653 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8753 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8853 -j ACCEPT

/sbin/iptables -I INPUT -p tcp –dport 8109 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8209 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8309 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8409 -j ACCEPT

/sbin/iptables -I INPUT -p tcp –dport 2191 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2192 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 2193 -j ACCEPT

将该设置添加到防火墙的规则中
/etc/rc.d/init.d/iptables save
source /etc/rc.d/init.d/iptables

启动tomcat
这里写图片描述
创建分片
创建solrCloud 创建Collection的命令
http://192.168.119.130:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
删除Collection的命令
http://192.168.119.130:8180/solr/admin/collections?action=DELETE&name=collection1

原创粉丝点击