一、 说明 本次分布式部署solr是在两台服务器(10.21.16.31和10.21.16.34)上部署5个结点,10.21.16.31服务器部署3个结点,10.21.16.34服务器部署2个结点 二、 下载需要的工具包 zookeeper-3.4.5.tar.gz,tomcat-7.0.50.tar.gz,solr-4.10.1.tgz(jdk必须是7,可以使用系统自带的openJDK) 三、 添加用户 分别在两台服务器上添加solr用户 useradd solr passwd solr 四、 安装Zookeeper 1.切换到solr用户 su solr 2进入zookeeper的tar包目录:cd /home 2.解压tar包到指定目录:tar -zxvf zookeeper-3.4.5.tar.gz 3.进入zookeeper的conf目录:cd /home/zookeeper-3.4.5/conf 4.修改配置文件zoo_sample.cfg为zoo.cfg:mv zoo_sample.cfg zoo1.cfg 5.修改配置文件zoo_sample.cfg为zoo.cfg:mv zoo_sample.cfg zoo2.cfg 6.修改配置文件zoo_sample.cfg为zoo.cfg:mv zoo_sample.cfg zoo3.cfg 5.修改zoo1.cfg配置文件内容:dataDir=/home/zookeeper-3.4.5/zk1ClientPort=2181,同时在zookeeper-3.4.5目录下新建zk1目录 6. 修改zoo2.cfg配置文件内容:dataDir=/home/zookeeper-3.4.5/zk2,ClientPort=2182,同时在zookeeper-3.4.5目录下新建zk2目录 7. 修改zoo3.cfg配置文件内容:dataDir=/home/zookeeper-3.4.5/zk3,ClientPort=2183,同时在zookeeper-3.4.5目录下新建zk3目录
6.在zoo1.cfg、zoo2.cfg、zoo3.cfg最后添加如下内容: server.1=10.21.16.31:2888:3888 server.2=10.21.16.31:2889:3889 server.3=10.21.16.31:2890:3890 server.4=10.21.16.34:2888:3888 server.5=10.21.16.34:2889:3889 说明:server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 7.分别在zk1,zk2,zk3新建文件myid,zk1/myid文件值为1,zk2/myid文件值为2,zk3/myid文件值为3 8.将配置到的zookeeper-3.4.5拷贝到10.21.16.34服务器主机上 9.切换到10.21.6.34服务器的solr用户下 10..进入zookeeper的conf目录:cd /home/ zookeeper-3.4.5/conf 11.修改配置文件zoo1.cfg为zoo4.cfg:mv zoo1.cfg zoo4.cfg 12.修改配置文件zoo2.cfg为zoo5.cfg:mv zoo2.cfg zoo5.cfg 13.删除zoo3.cfg: rm zoo3.cfg 14. 修改zoo4.cfg配置文件内容:dataDir=/home/zookeeper-3.4.5/zk4ClientPort=2184,同时在zookeeper-3.4.5目录下新建zk4目录 15. 修改zoo2.cfg配置文件内容:dataDir=/home/zookeeper-3.4.5/zk5ClientPort=2185,同时在zookeeper-3.4.5目录下新建zk5目录 16.修改zk4/myid文件值为4,zk5/myid文件值为5
17.分别在31和34上启动zookeeper,切换到bin目录下: cd /home/zookeeper-3.4.5/bin 18.在1上先后执行./zkServer.sh start zoo1.cfg ./zkServer.sh start zoo2cfg ./zkServer.sh start zoo3.cfg 19. 在34上先后执行./zkServer.sh start zoo4.cfg ./zkServer.sh start zoo5.cfg 由于启动时,每个节点都会试图去连接其它节点,因此先启动的刚开始会连接不上其它的,导致日志中会包含错误信息,在未全启动之前,这个属正常现象。可以用./zkServer.sh status zoo1.cfg查看状态。至此zookeeper安装结束! 五、 安装Solr 1. 进入tomcat、solr的tar包目录:cd /home/solr 2. 解压tomcattar包: tar -zxvf tomcat-7.0.50.tar.gz 3. 重命名tomcat解压后文件名mvtomcat-7.0.50 apache-tomcat-7.0.50_1 4. 解压solr tar包:tar –zxvf solr-4.10.1.tgz 5. 将solr-4.10.1/example/webapps/solr.war 到 apache-tomcat-8.0.12/webapps/目录中 直接解压 solr.war 或者启动tomcat 解压 solr.war 6. 新建data1目录:mkdir data1 7. 将solr-4.10.1/example/solr文件夹移到data1中: mv /home/solr/solr-4.10.1/example/solr /home/solr/data1 8. 复制solr-4.10.1/example/lib/ext下的jar包到/home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF/lib:cp -av /home/solr/solr-4.10.1/example/lib/ext/*.jar /home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF/lib 9. 在/home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF下新建classes文件夹:mkdir classes 10. 将solr-4.10.1/example/resources/log4j.properties复制到/home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF/classes:mv /home/solr/solr-4.10.1/example/resources/log4j.properties /home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF/classes 11. 修改/home/solr/data1/solr/collection1/conf/solr/solrconfig.xml:vi /home/solr/data1/solr/collection1/conf/solr/solrconfig.xml 12. 修改内容如下:(1)<dataDir>${solr.data.dir:/home/solr/data1/solr/collection1/data}</dataDir> (2)<lockType>simple</lockType> (3)<unlockonStartup>启用,并修改为<unlockonStartup>true</unlockonStartup> 13. 修改/home/solr/data1/solr/solr.xml:vi /home/solr/data1/solr/solr.xml 14. 修改内容如下:<intname="hostPort">${jetty.port:8081}</int> 15. 修改/home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF/web.xml:vi /home/solr/apache-tomcat-7.0.50_1/webapps/solr/WEB-INF/web.xml 16. <env-entry>标签启用,同时修改为 <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/home/solr/data1/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> 17. 修改/home/solr/apache-tomcat-7.0.50_1/conf/server.xml:vi /home/solr/apache-tomcat-7.0.50_1/conf/server.xml 18. 将8080端口改为8081 19. 修改/home/solr/apache-tomcat-7.0.50_1/bin/catalina.sh:vi /home/solr/apache-tomcat-7.0.50_1/bin/catalina.sh 20. JAVA_OPTS属性启用,同时修改为JAVA_OPTS="$JAVA_OPTS-Dbootstrap_confdir=/home/solr/data1/solr/collection1/conf-Dcollection.configName=myconf -Dbootstrap_config=true -DzkHost=10.21.16.31:2181,10.21.16.31:2182,10.21.16.31:2183,10.21.16.34:2184-DnumShards=2" 21. 复制apache-tomcat-7.0.50_1得到apache-tomcat-7.0.50_2、apache-tomcat-7.0.50_3 22. 分别修改apache-tomcat-7.0.50_2、apache-tomcat-7.0.50_3中webapps/solr/WEB-INF/web.xml、conf/server.xml、bin/catalina.sh相对应的值,注意:其中bin/catalina.sh应为JAVA_OPTS="$JAVA_OPTS-Dbootstrap_confdir=/home/solr/data2/solr/collection1/conf-DzkHost=10.21.16.31:2181,10.21.16.31:2182,10.21.16.31:2183,10.21.16.34:2184,如果是apache-tomcat-7.0.50_3中,则为JAVA_OPTS="$JAVA_OPTS -Dbootstrap_confdir=/home/solr/data3/solr/collection1/conf-DzkHost=10.21.16.31:2181,10.21.16.31:2182,10.21.16.31:2183,10.21.16.34:2184 23. 复制data1得到data2、data3 24. 分别修改data2、data3中solr/collection1/conf/solr/solrconfig.xml、solr/solr.xml 25. 将apache-tomcat-7.0.50_2、apache-tomcat-7.0.50_3、data2、data3复制到34服务器上,分别修改为apache-tomcat-7.0.50_4、apache-tomcat-7.0.50_5、data4、data5,并做相应对应的更改,至此所有的配置都结束,启动5个结点的tomcat,访问任一结点下的solr,选择主界面上的cloud即可看见solr分布式部署情况!
|
|