1. 3台Linux 物理机或者虚拟机
IP : hostname : 系统:
192.168.1.106 master RedHat5.0
192.168.1.107 dnode1 RedHat5.0
192.168.1.108 dnode2 RedHat5.0
2. 安装介质
JDK jdk-6u45-linux-i586-rpm.bin
Solr solr-4.6.0.zip
zookeeper zookeeper-3.4.5.tar.gz
二. 安装JDK
在/etc/profile 配置JAVA_HOME
三. zookeeper集群安装
1)解压zookeeper 安装
tar -zxvfzookeeper-3.4.5.tar.gz
2)进入zookeeper-3.4.5文件夹,创建data 和log
mkdir /home/grid/data/zookeeper/log -p
指定zookeeper的数据存放目录和日志目录
3)拷贝zookeeper配制文件zoo_sample.cfg
拷贝zookeeper配制文件zoo_sample.cfg并重命名zoo.cfg
cp /home/grid/zookeeper-3.4.5/conf/zoo_sample.cfg /home/grid
/zookerper-3.4.5/conf/zoo.cfg
修改zoo.cfg为以下内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/grid/data/zookeeper
clientPort=2181
dataLogDir=/home/grid/data/zookeeper/log/
server.1=master:2888:3888
server.2=dnode1:2888:3888
server.3=dnode2:2888:3888
4)进入data文件夹建立对应的myid文件
例如server.1 在192.168.56.11 data文件夹下的myid文件内容为1
其它节点按后缀数字替换myid中的内容
进入bin # ./zkServer.sh start
查看集群状态 ./zkServer.shstatus
看到以下内容则认为集群启动成功
四. Solr集群安装
1)在/home/grid 新建mysolrhome,并赋于读写权限
zip-zxvf solr-4.6.0.zip
3)将solr.4.6.0/dist/solr-4.6.0.war复制到/home/grid/mysolrhome 并重命为solr.war
cp /home/grid/solr-4.6.0/dist/solr-4.6.0.war/home/grid/mysolrhome/solr.war
tar-zxvf apache-tomcat-6.0.32.tar.gz
5)进入tomcat bin目录,启动tomcat
cd /home/grid/apache-tomcat-6.0.32/bin 进入bin目录
./startup.sh 启动tomcat 此时会在tomcat下的conf文件夹下多出一个目录Catalina
cd/home/grid/apache-tomcat-6.0.32/conf/Catalina/localhost
新建solr.xml文件内容如下:
<?xmlversion="1.0" encoding="UTF-8" ?>
<Context docBase="/home/grid/mysolrhome/solr.war"debug="0" crossContext="false" >
<Environment name="solr/home"
type="java.lang.String"
value="/home/grid/mysolrhome"
override="true" />
</Context>
docBase="/home/grid/mysolrhome/solr.war"指定为solrcloud/solrhome下复制出来solr的war包
6)停tomcat 再次启动tomcat, webapps 下边多了解压出来的solr文件夹
进入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>/home/grid/mysolrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
7)将/home/grid/solr-4.6.0/example/solr文件夹下所有东西复制到 /home/grid/mysolrhome
cp -r/home/grid/solr-4.6.0/example/solr/* /home/grid/mysolrhome
8)复制solr-4.6.0/example/lib/ext下所有jar包到tomcat 的lib下
cp/home/grid/solr-4.6.0/example/lib/ext/* /home/grid/apache-tomcat-6.0.32/lib/
复制 solr-4.6.0/example/resources/log4j.properties 到solr/WEB-INF/class
如果没有class先创建class文件夹,并赋于写权限
cp
/home/grid/solr-4.6.0/example/resources/log4j.properties/home/grid/apache- tomcat-6.0.32/webapps/solr/WEB-INF/class/
9)启动tomcat 访问 http://localhost:8080/solr 如图,至此单机版solr配制完成
10)配制集群
将zookeeper和tomcat关联
192.168.1.106台机修改tomcat 的 bin目录下catalina.sh文件在第二行加入
JAVA_OPTS="-Dbootstrap_confdir=/home/grid/mysolrhome/collection1/conf -Dcollection.configName=myconf -DzkHost=master:2181,dnode1:2181,dnode2:2181 -DnumShards=3"
其它节点修改tomcat 的 bin目录下catalina.sh文件在第二行加入
JAVA_OPTS="-DzkHost=master:2181,dnode1:2181,dnode2:2181"
现在整个solr集群配置完成
创建集合
http://192.168.1.106:8080/solr/admin/collections?action=CREATE&name=mycollections&numShards=3&replicationFactor=3
任何一个ip均可访问
http://192.168.1.106:8080/solr/#/~cloud
OK如果顺利的话你会看到以上页面!
五.集群测试
向集群导入测试文件对其进行索引:
大功告成!