cheng029 发表于 2013-9-13 16:26:04

ZooKeeper实例 + Solr(tomcat)集群部署

1.物理结构:2台centos6.3 x64solr1    172.18.85.155   安装服务ZooKeeper端口9080和solr(tomcat) 端口8080solr2    172.18.85.134   安装服务solr(tomcat) 端口80802.要达到的目的图:3.在solr上安装ZooKeeper:去官网下载最新版本:http://zookeeper.apache.org/releases.html#download下载并解压:@sky local]# pwd
/usr/local
# wget http://mirrors.cnnic.cn/apache/z ... keeper-3.4.5.tar.gz# tar zxvf zookeeper-3.4.5.tar.gz 修改配置文件,进入到zookeeper下的conf文件夹,复制zoo_sample.cfg为zoo.cfg# pwd
/usr/local/zookeeper-3.4.5/conf# cp zoo_sample.cfg zoo.cfg
# ls
configuration.xsllog4j.propertieszoo.cfgzoo_sample.cfg编辑文件:# 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/ ... 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数据路径:# pwd
/usr/local/zookeeper-3.4.5
# mkdir data                        
启动zoopkeeper服务:# cd ..
# cd bin/
# sh zkServer.sh startzoopkeeper配置完毕。4.在solr1上面配置solr服务,由于solr是在tomcat上面运行的所以首先部署安装jdk环境,去jdk官网下载安装包:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html解压jdk压缩包# pwd
/usr/local/jdk# ls
binCOPYRIGHTdbdemoincludejrelibLICENSEmanREADME.htmlregister.htmlregister_ja.htmlregister_zh_CN.htmlsamplesrc.zipTHIRDPARTYLICENSEREADME.txt
配置环境变量,在/etc/profile文件下面添加以下参数:
# vim /etc/profileJAVA_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
使环境变量生效:# source /etc/profile测试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# ls
apache-tomcat-6.0.37-solr4.3_20130906.zipapache-tomcat-7.0.42.tar.gz分别解压文件:# ls
apache-tomcat-6.0.37-solr4.3_20130906.zipapache-tomcat-7.0.42.tar.gzmmseg4j-1.9.1solr-4.3.0tomcat-7.0.42tomcat-solr
在tomcat下面建立solr家目录# mkdir solrhome/把solr-4.3.0/example/solr 复制到solr的家目录tomcat-7.0.42/solrhome/# cp solr-4.3.0/example/solr tomcat-7.0.42/solrhome/记住我们建立的solrhome路径等会我们用得着:# pwd
/usr/local/tomcat-7.0.42/solrhome/solr编辑tomcat下solr家目录配置文件:# pwd
/usr/local/tomcat-7.0.42/solrhome/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/下面并更名为# cp -rf solr-4.3.0/dist/solr-4.3.0.wartomcat-7.0.42/webapps/solr.war此时我们的tomcat-7.0.42/webapps/目录下是这样的# ls
docsexampleshost-managermanagerROOTsolr.war
我们需要重启一下tomcat使solr.war自动生成solr文件夹:# pwd
/usr/local/tomcat-7.0.42/bin
# sh startup.sh
# sh shutdown.sh 重启后我们再次进入tomcat-7.0.42/webapps/文件夹下面:# cd webapps/
# ls
docsexampleshost-managermanagerROOTsolr solr.war此时已经生成了solr文件夹,我们需要把solr.war删除# rm -rf solr.war下面编辑solr下面的web.xml文件# pwd
/usr/local/tomcat-7.0.42/webapps/solr/WEB-INF
# ls
libmmseg4j-1.9.1.zipweblogic.xmlweb.xml# 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>
这里/usr/local/tomcat-7.0.42/solrhome/solr更改成我们刚刚建立的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# pwd
/usr/local/tomcat-7.0.42/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# pwd
/usr/local/tomcat-7.0.42/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,所有的配置到此结束,有什么不懂的地方可以咨询我。

eagleshi 发表于 2014-1-2 23:23:29

第一个我爱玓人成为了最后一个我恨的人。
页: [1]
查看完整版本: ZooKeeper实例 + Solr(tomcat)集群部署