linux 下的solr6.6.1+zookeeper+tomcat的搭建

1、win下也有一个,不是特别详细,参考即可

https://blog.****.net/zh_9590/article/details/79913284

2、本文主要讲解linux下的搭建

先说说准备环境:

    linux 下的solr6.6.1+zookeeper+tomcat的搭建

系统是ubuntu,

java的jdk是 1.8

linux 下的solr6.6.1+zookeeper+tomcat的搭建

安装主要目录是: /app/solrcloud

先说说版本的选择问题:

    solr6的选择没有什么说法,tomcat的选择暂时没有说法的,但是还是建议选择8为好,

    主要说说zk的版本选择了,因为solr的版本比较高了,solr是有自带的zk的,所以原先自己学习搭建的时候,很少有说版本问题的,导致几次的尝试都是失败的,最明显的就是超时问题 ,time out ,查找了很多资料与教程也没有找到相关的,,最后看到了全英文的问题解析,才发现了问题,参考的网址:http://lucene.472066.n3.nabble.com/SolrCloud-Collection-creation-failed-due-to-timeout-td4292728.html    建议就是zk的选择要高于solr自带的。

开始搭建:

zookeeper的伪集群的搭建:

     先创建zk的目录:    /app/solrcloud/zookeeper

    拷贝zookeeper的文件进去,创建文件 zk1,并将压缩包拷贝进去。

    创建     /app/solrcloud/zookeeper/zk1/data   进入data文件夹下,执行 vi myid,添加内容 1

     回到上级目录,加压文件, tar -zxvf zookeeper-3.4.8.tar.gz

    进入zk配置文件修改:cd zookeeper-3.4.8/conf/

    复制    cp zoo_sample.cfg zoo.cfg

    编辑文件: vi zoo.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/app/solrcloud/zookeeper/zk1/data
    clientPort=2181
    server.1=192.168.1.125:2188:3188
    server.2=192.168.1.125:2288:3288
    server.3=192.168.1.125:2388:3388

    返回到目录: cd /app/solrcloud/zookeeper/    目录当前信息:

    linux 下的solr6.6.1+zookeeper+tomcat的搭建

    执行命令:  cp -r zk1 zk2  cp -r zk1 zk3

    修改:每份对应的修改为

    zk2:

    data文件下的myid内容为2

    dataDir=/app/solrcloud/zookeeper/zk2/data

    clientPort=2182

    zk3:

    data文件下的myid内容为3

    dataDir=/app/solrcloud/zookeeper/zk3/data
    clientPort=2183

    启动zk服务:

    一次进入每一个zk1~3下执行:    sh zookeeper-3.3.6/bin/zkServer.sh start

    查看状态一样,    sh zookeeper-3.3.6/bin/zkServer.sh status

    最终结果 ,一个leader,两个follower

solrcloud的集群搭建

    进入目录:/app/solrcloud

    解压solr6的压缩包和tomcat8的。

    tar -zxvf apache-tomcat-8.5.23.tar.gz

    tar -zxvf solr-6.6.1.tgz

    创建目录: mkdir solrconf (solr的配置文件)

    拷贝文件:   

    cp -r solr-6.6.1/server/solr/configsets/basic_configs/conf/* solrconf/

    创建目录:mkdir solrhome1

    拷贝文件:

    cp -r solr-6.6.1/server/solr/* solrhome1/

    复制文件:

    cp -r apache-tomcat-8.5.23 tomcat1

    将solr部署都tomcat,

    solr-6.6.1\server\solr-webapp ,拷贝到tomcat/webapp下,修改名称为solr
    拷贝jar包:(拷贝到solr\WEB-INF\lib)
solr-6.6.1\dist:solr-dataimporthandler开头的两个,
solr-6.6.1\server\lib\ext:所有的jar
solr-6.6.1\server\lib: metrics开头的jar

    用到的命令:      

        mkdir tomcat1/webapps/solr

        cp -r solr-6.6.1/server/solr-webapp/webapp/* tomcat1/webapps/solr/

        cp solr-6.6.1/dist/solr-dataimporthandler-* tomcat1/webapps/solr/WEB-INF/lib/

        cp solr-6.6.1/server/lib/metrics-* tomcat1/webapps/solr/WEB-INF/lib/

        cp solr-6.6.1/server/lib/ext/* tomcat1/webapps/solr/WEB-INF/lib/

    solr-6.6.1\server\solr-webapp\webapp\WEB-INF 修改web.xml文件

         vi tomcat1/webapps/solr/WEB-INF/web.xml

        配置solrhome的路径,

                linux 下的solr6.6.1+zookeeper+tomcat的搭建

                修改为:

                linux 下的solr6.6.1+zookeeper+tomcat的搭建

                 注释掉权限:

                linux 下的solr6.6.1+zookeeper+tomcat的搭建

 删除多余的压缩包和解压开的文件,将solrhome1复制两份,solrhome2、solrhome3,。tomcat也是一样,tomcat2、tomcat3。当前目录结构:

        linux 下的solr6.6.1+zookeeper+tomcat的搭建

端口号配置

tomcat1     8983

tomcat2     8984

tomcat3     8985

依次修改solrhome*中的solr.xml文件,对应tomcat的端口号  

依次修改tomcat*中的3个文件,

    tomcat*/webapps/solr/WEB-INF/web.xml       指定对应的solrhome*的位置

    tomcat1/conf/server.xml   修改端口号,这份文件需要修改端口号,争取三个tomcat的各个端口都是不一样的,一份文件5个地方

     tomcat1/bin/catalina.sh     加入   JAVA_OPTS='-DzkHost=192.168.1.125:2181,192.168.1.125:2182,192.168.1.125:2183'

依次启动tomcat。

    启动过程可能有点,需要等待会。

将solrconf的文件上传到zookeeper

    进入目录: cd solr-6.6.1/server/scripts/cloud-scripts/

    执行命令:

    sh zkcli.sh -zkhost 192.168.1.125:2181,192.168.1.125:2182,192.168.1.125:2183 -cmd upconfig -confdir /app/solrcloud/solrconf -confname solrconf

    访问界面:http://xx.xx.xx.xx:8983/solr/index.html

创建collection,通过请求创建:

    创建
http://xx.xx.xx.xx:8983/solr/admin/collections?action=CREATE&name=collection1&numShards=3&replicationFactor=2&maxShardsPerNode=2&collection.configName=solrconfig
    重新加载接口
http://xx.xx.xx.xx:8983/solr/admin/collections?action=RELOAD&name=collection1
    删除

http://xx.xx.xx.xx:8983/solr/admin/collections?action=DELETE&name=collection1

界面效果:

linux 下的solr6.6.1+zookeeper+tomcat的搭建

    

linux 下的solr6.6.1+zookeeper+tomcat的搭建

这就完事了,java调用可以参考  https://blog.****.net/zh_9590/article/details/79913284   最后的内容

有什么问题欢迎提出,

由于版本问题导致我搭建了好多次,最终告诫:

当完全操作正确还是有问题的时候,建议查看版本,升级版本或者降低版本。

如有转载,标出出处,谢谢合作!!!!