solr搜索框架
链接:https://pan.baidu.com/s/1kcpHmNTTEa74iffKJJdSXg 密码:783r
CentOS-6.4-x86_64-minimal.iso
jdk-6u45-linux-i586-rpm.bin
zookeeper-3.4.5.tar
solr-4.6.0.zip
服务器6台: 192.168.56.11- SolrCloud.Shard1.Leader
192.168.56.12-SolrCloud.Shard2.Leader
192.168.56.13-SolrCloud.Shard3.Leader
192.168.56.14-SolrCloud.Shard1.Replica
192.168.56.15-SolrCloud.Shard2.Replica
192.168.56.16-SolrCloud.Shard3.Replica
安装完后配制用户solrcloud 密码: solrcloud
[root@localhost ~]# useradd solrcloud
[root@ localhost ~]# passwd solrcloud
vi etc/sysconfig/network
HOSTNAME=SolrCloud.Shard1.Leader
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:5C:8C:BD
TYPE=Ethernet
UUID=4fc0a398-f82b-49e5-8657-27bf5b260444
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.56.11
NETMASK=255.255.255.0
重启服务 service network restart
创建文件夹 mkdir /solrcloud
赋写权限 chmod 777 /solrcloud
上传所需安装软件包到/solrcloud
默认jdk安装会报错,64位系统安装32位jdk报的错
需要安装glic , yum install glibc.i686
安装完后再安装jdk 进入/solrcloud目录
./jdk-6u45-linux-i586-rpm.bin
(集群安装测试时以ip为例说明,正式上线后可以配主机名称)
tar -zxvf zookeeper-3.4.5.tar.gz
创建目录并赋于写权限
指定zookeeper的数据存放目录和日志目录
拷贝zookeeper配制文件zoo_sample.cfg并重命名zoo.cfg
cp /solrcloud/zookeeper-3.4.5/conf/zoo_sample.cfg /solrcloud/zookerper-3.4.5/conf/zoo.cfg
加入 dataDir=/solrcloud/zookeeper-3.4.5/data
dataLogDir=/solrcloud/zookeeper-3.4.5/log
server.1=192.168.56.11:2888:3888
server.2=192.168.56.12:2888:3888
server.3=192.168.56.13:2888:3888
server.4=192.168.56.14:2888:3888
server.5=192.168.56.15:2888:3888
server.6=192.168.56.16:2888:3888
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.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/solrcloud/zookeeper-3.4.5/data
dataLogDir=/solrcloud/zookeeper-3.4.5/log
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.56.11:2888:3888
server.2=192.168.56.12:2888:3888
server.3=192.168.56.13:2888:3888
server.1=192.168.56.11:2888:3888
server.2=192.168.56.12:2888:3888
server.3=192.168.56.13:2888:3888
server.4=192.168.56.14:2888:3888
server.5=192.168.56.15:2888:3888
server.6=192.168.56.16:2888:3888
例如server.1=192.168.56.11 data文件夹下的myid文件内容为1
/sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT --顺便启用tomcat 8080端口
/etc/rc.d/init.d/iptables save #将更改进行保存
/etc/init.d/iptables restart #重启防火墙以便改动生效
进入bin
./zkServer.sh start
查看集群状态
./zkServer.sh status 刚启动可能会有错误,集群中其他节点一并起来后就正常了
tar -zxvf solr-4.6.0.tgz
cp /solrcloud/solr-4.6.0/dist/solr-4.6.0.war /solrcloud/solrhome/solr.war
tar -zxvf apache-tomcat-6.0.29.tar.gz
cd /solrcloud/apache-tomcat-6.0.29/bin 进入bin目录
./startup.sh 启动tomcat 此时会在tomcat下的conf文件夹下多出一个目录Catalina
cd /solrcloud/apache-tomcat-6.0.29/conf/Catalina/localhost
新建solr.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="/solrcloud/solrhome/solr.war" debug="0" crossContext="false" >
<Environment name="solr/home"
type="java.lang.String"
value="/solrcloud/solrhome"
override="true" />
</Context>
docBase="/solrcloud/solrhome/solr.war" 指定为solrcloud/solrhome下复制出来solr的war包
进入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>/solrcloud/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
cp -r /solrcloud/solr-4.6.0/example/solr/* /solrcloud/solrhome
cp /solrcloud/solr-4.6.0/example/lib/ext/* /solrcloud/apache-tomcat-6.0.29/lib/
复制 solr-4.6.0/example/resources/log4j.properties 到solr/WEB-INF/class
如果没有class先创建class文件夹,并赋于写权限
cp /solrcloud/solr-4.6.0/example/resources/log4j.properties /solrcloud/apache-tomcat-6.0.29/webapps/solr/WEB-INF/class/
将zookeeper和tomcat关联
192.168.56.11台机修改tomcat 的 bin目录下catalina.sh文件在第二行加入
JAVA_OPTS="-Dbootstrap_confdir=/solrcloud/solrhome/collection1/conf -Dcollection.configName=myconf -DzkHost=192.168.56.11:2181,192.168.56.12:2181,192.168.56.13:2181,192.168.56.14:2181,192.168.56.15:2181,192.168.56.16:2181 -DnumShards=3"
192.168.56.12-16 , 5台机都修改tomcat 的 bin目录下catalina.sh文件在第二行加入
JAVA_OPTS="-DzkHost=192.168.56.11:2181,192.168.56.12:2181,192.168.56.13:2181,192.168.56.14:2181,192.168.56.15:2181,192.168.56.16:2181"
至此集群配制完毕
创建集合
http://192.168.56.11:8080/solr/admin/collections?action=CREATE&name=guangzhou&numShards=3&replicationFactor=3
任何一个ip均可访问
http://192.168.56.11:8080/solr/#/~cloud
solr集群安装 jdk安装 zookeeper集群安装 centos6.4安装
原文:https://www.cnblogs.com/lovetl/p/11946911.html