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.在solr上安装ZooKeeper: 去官网下载最新版本:http://zookeeper.apache.org/releases.html#download 下载并解压: [root@sky local]# pwd
/usr/local
[iyunv@sky local]# wget http://mirrors.cnnic.cn/apache/z ... keeper-3.4.5.tar.gz [iyunv@sky local]# tar zxvf zookeeper-3.4.5.tar.gz 修改配置文件,进入到zookeeper下的conf文件夹,复制zoo_sample.cfg为zoo.cfg [iyunv@sky conf]# pwd
/usr/local/zookeeper-3.4.5/conf [iyunv@sky conf]# cp zoo_sample.cfg zoo.cfg
[iyunv@sky conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg 编辑文件: [iyunv@sky 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/ ... 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数据路径: [iyunv@sky zookeeper-3.4.5]# pwd
/usr/local/zookeeper-3.4.5
[iyunv@sky zookeeper-3.4.5]# mkdir data
启动zoopkeeper服务: [iyunv@sky conf]# cd ..
[iyunv@sky zookeeper-3.4.5]# cd bin/
[iyunv@sky 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压缩包 [iyunv@sky jdk]# pwd
/usr/local/jdk [iyunv@sky 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文件下面添加以下参数:
[iyunv@sky 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
使环境变量生效: [iyunv@sky jdk]# source /etc/profile 测试jdk环境量是否配置成功: [iyunv@sky 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 [iyunv@sky solr4.3]# ls
apache-tomcat-6.0.37-solr4.3_20130906.zip apache-tomcat-7.0.42.tar.gz 分别解压文件: [iyunv@sky 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家目录 [iyunv@sky tomcat-7.0.42]# mkdir solrhome/ 把solr-4.3.0/example/solr 复制到solr的家目录tomcat-7.0.42/solrhome/ [iyunv@sky solr4.3]# cp solr-4.3.0/example/solr tomcat-7.0.42/solrhome/ 记住我们建立的solrhome路径等会我们用得着: [iyunv@sky solr]# pwd
/usr/local/tomcat-7.0.42/solrhome/solr 编辑tomcat下solr家目录配置文件: [iyunv@sky solr]# pwd
/usr/local/tomcat-7.0.42/solrhome/solr [iyunv@sky 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/下面并更名为 [iyunv@sky 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/目录下是这样的 [iyunv@sky webapps]# ls
docs examples host-manager manager ROOT solr.war
我们需要重启一下tomcat使solr.war自动生成solr文件夹: [iyunv@sky bin]# pwd
/usr/local/tomcat-7.0.42/bin
[iyunv@sky bin]# sh startup.sh
[iyunv@sky bin]# sh shutdown.sh 重启后我们再次进入tomcat-7.0.42/webapps/文件夹下面: [iyunv@sky tomcat-7.0.42]# cd webapps/
[iyunv@sky webapps]# ls
docs examples host-manager manager ROOT solr solr.war 此时已经生成了solr文件夹,我们需要把solr.war删除 [iyunv@sky webapps]# rm -rf solr.war 下面编辑solr下面的web.xml文件 [iyunv@sky WEB-INF]# pwd
/usr/local/tomcat-7.0.42/webapps/solr/WEB-INF
[iyunv@sky WEB-INF]# ls
lib mmseg4j-1.9.1.zip weblogic.xml web.xml [iyunv@sky 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>
这里/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 [iyunv@sky bin]# pwd
/usr/local/tomcat-7.0.42/bin
[iyunv@sky 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 [iyunv@bak bin]# pwd
/usr/local/tomcat-7.0.42/bin
[iyunv@bak 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,所有的配置到此结束,有什么不懂的地方可以咨询我。
|