1.物理结构:
2台centos6.3 x64
solr1 172.18.85.155 安装服务ZooKeeper端口9080和solr(tomcat) 端口8080
solr2 172.18.85.134 安装服务solr(tomcat) 端口8080
2.要达到的目的图:
3.在solr1上安装ZooKeeper:
去官网下载最新版本:http://zookeeper.apache.org/releases.html#download
下载并解压:
[[email protected] local]# pwd
/usr/local
[[email protected] local]# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
[[email protected] local]# tar zxvf zookeeper-3.4.5.tar.gz
修改配置文件,进入到zookeeper下的conf文件夹,复制zoo_sample.cfg为zoo.cfg
[[email protected] conf]# pwd
/usr/local/zookeeper-3.4.5/conf
[[email protected] conf]# cp zoo_sample.cfg zoo.cfg
[[email protected] conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
编辑文件:
[[email protected] conf]# vim 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=/usr/local/zookeeper-3.4.5/data #这里是zookeeper数据路径
# the port at which the clients will connect
clientPort=9080 #zookeeper运行端口号
#
# 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
~
建立zookeeper数据路径:
[[email protected] zookeeper-3.4.5]# pwd
/usr/local/zookeeper-3.4.5
[[email protected] zookeeper-3.4.5]# mkdir data
启动zoopkeeper服务:
[[email protected] conf]# cd ..
[[email protected] zookeeper-3.4.5]# cd bin/
[[email protected] bin]# sh zkServer.sh start
zoopkeeper配置完毕。
4.在solr1上面配置solr服务,由于solr是在tomcat上面运行的所以首先部署安装jdk环境,
去jdk官网下载安装包:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
解压jdk压缩包
[[email protected] jdk]# pwd
/usr/local/jdk
[[email protected] jdk]# ls
bin COPYRIGHT db demo include jre lib LICENSE man README.html register.html register_ja.html register_zh_CN.html sample src.zip THIRDPARTYLICENSEREADME.txt
配置环境变量,在/etc/profile文件下面添加以下参数:
[[email protected] jdk]# vim /etc/profile
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
使环境变量生效:
[[email protected] jdk]# source /etc/profile
测试jdk环境量是否配置成功:
[[email protected] jdk]# java -version
java version "1.6.0_30" #这里显示的版本是您下载的版本就说明配置成功。
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)
5.配置solr1,下载tomcat和solr
[[email protected] solr4.3]# ls
apache-tomcat-6.0.37-solr4.3_20130906.zip apache-tomcat-7.0.42.tar.gz
分别解压文件:
[[email protected] solr4.3]# ls
apache-tomcat-6.0.37-solr4.3_20130906.zip apache-tomcat-7.0.42.tar.gz mmseg4j-1.9.1 solr-4.3.0 tomcat-7.0.42 tomcat-solr
在tomcat下面建立solr家目录
[[email protected] tomcat-7.0.42]# mkdir solrhome/
把solr-4.3.0/example/solr 复制到solr的家目录tomcat-7.0.42/solrhome/
[[email protected] solr4.3]# cp solr-4.3.0/example/solr tomcat-7.0.42/solrhome/
记住我们建立的solrhome路径等会我们用得着:
[[email protected] solr]# pwd
/usr/local/tomcat-7.0.42/solrhome/solr
编辑tomcat下solr家目录配置文件:
[[email protected] solr]# pwd
/usr/local/tomcat-7.0.42/solrhome/solr
[[email protected] solr]# vim solr.xml
<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:172.18.85.155}" hostPort="${jetty.port:8080}" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" />
</cores>
修改ip和端口
复制solr-4.3.0/dist/solr-4.3.0.war 到 tomcat-7.0.42/webapps/下面并更名为
[[email protected] solr4.3]# cp -rf solr-4.3.0/dist/solr-4.3.0.war tomcat-7.0.42/webapps/solr.war
此时我们的tomcat-7.0.42/webapps/目录下是这样的
[[email protected] webapps]# ls
docs examples host-manager manager ROOT solr.war
我们需要重启一下tomcat使solr.war自动生成solr文件夹:
[[email protected] bin]# pwd
/usr/local/tomcat-7.0.42/bin
[[email protected] bin]# sh startup.sh
[[email protected] bin]# sh shutdown.sh
重启后我们再次进入tomcat-7.0.42/webapps/文件夹下面:
[[email protected] tomcat-7.0.42]# cd webapps/
[[email protected] webapps]# ls
docs examples host-manager manager ROOT solr solr.war
此时已经生成了solr文件夹,我们需要把solr.war删除
[[email protected] webapps]# rm -rf solr.war
下面编辑solr下面的web.xml文件
[[email protected] WEB-INF]# pwd
/usr/local/tomcat-7.0.42/webapps/solr/WEB-INF
[[email protected] WEB-INF]# ls
lib mmseg4j-1.9.1.zip weblogic.xml web.xml
[[email protected] WEB-INF]# vim web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/tomcat-7.0.42/solrhome/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
这里<env-entry-value>/usr/local/tomcat-7.0.42/solrhome/solr</env-entry-value>更改成我们刚刚建立的solrhome路径,上面我已特别提醒。
ok solr1基本上配置完毕,下面我们测试一下效果,启动tomcat,打开solr管理界面:http://172.18.85.155:8080/solr/#/
能显示上面的图就说明没问题。
我们要把solr1(172.18.85.155)配置好的tomcat复制到solr2(172.18.85.134),文件不用修改直接启动tomcat即可。
当然solr2也要同样配置jdk环境,环境的配置就不多说了。solr1配置好的tomcat复制到solr2以后启动一下tomcat看是否能打开管理界面,能打开就没有问题。
6.下面我们来配置zookeeper集群。
在solr1(172.18.85.155)tomcat上面修改catalina.sh
[[email protected] bin]# pwd
/usr/local/tomcat-7.0.42/bin
[[email protected] bin]# vim catalina.sh
在文件最上面添加,记住是最上面:
JAVA_OPTS="-Dbootstrap_confdir=/usr/local/solr4.3/tomcat-7.0.42/solrhome/solr/collection1/conf -Dcollection.configName=clusterconf -Djetty.port=8080 -Dhost=172.18.85.155 -DzkRun -DzkHost=localhost:9080 -DnumShards=1"
备注:
-Dbootstrap_confdir=/usr/local/solr4.3/tomcat-7.0.42/solrhome/solr/collection1/conf #solrhome配置文件的路径,没有的话手动创建一下
-Djetty.port=8080 #本机tomcat端口
-Dhost=172.18.85.155 #本机ip
-DzkHost=localhost:9080 #zookeeper运行端口
在solr2(172.18.85.134)tomcat上面修改catalina.sh
[[email protected] bin]# pwd
/usr/local/tomcat-7.0.42/bin
[[email protected] bin]# vim catalina.sh
在文件最上面添加,记住是最上面:
JAVA_OPTS="-Djetty.port=8080 -DzkHost=172.18.85.155:9080"
备注:
-Djetty.port=8080 #本机tomcat端口
-DzkHost=172.18.85.155:9080 #安装zookeeper服务主机的ip和端口
修改完毕后重启两台tomcat,打开测试地址看看是否成功:
http://172.18.85.155:8080/solr/#/~cloud
显示上面的图就说明配置成功,ok,所有的配置到此结束,有什么不懂的地方可以咨询我。