Solr集群配置

一个人想着一个人 提交于 2019-11-30 08:03:40

一、Zookeeper安装配置

1、  mkdir solrclound

2、  拷贝zookeeper

3、  解压 tar –zxvf zookeeper-3.4.6.tar.gz

4、  重命名mv zookeeper-3.4.6 zookeeper1

5、  复制cp -r zookeeper1 zookeeper2

6、  复制cp -r zookeeper1 zookeeper3

7、  配置zookeeper

a)       zookeeper1下创建data目录,mkdir data

b)       创建一个myid的文件内容为1, echo 1 >> data/myid

c)       cat(显示文件的内容) myid

d)       在conf下有一个zoo_sample.cfg文件,复制命名为zoo.cfg

e)       vim zoo.cfg

1、  修改路径dataDir=/home/dev/solrcloud/zookeeper1/data

2、  修改端口clientPort=2181

3、  加入云

server.1=192.168.36.130:2881:3881

server.2=192.168.36.130:2882:3882

server.3=192.168.36.130:2883:3883

f)        重复设置zookeeper2,zookeeper3

g)       制作启动文件

1、  vim start-zookeeper.sh

2、  启动内容

/home/dev/solrcloud/zookeeper1/bin/zkServer.sh start

/home/dev/solrcloud/zookeeper2/bin/zkServer.sh start

/home/dev/solrcloud/zookeeper3/bin/zkServer.sh start

3、  加上可以执行chmod +x start-zookeeper.sh

4、  启动 [dev@node1 solrcloud]$ ./start-zookeeper.sh

5、  查看启动状态

/home/dev/solrcloud/zookeeper1/bin/zkServer.sh status

/home/dev/solrcloud/zookeeper2/bin/zkServer.sh status

/home/dev/solrcloud/zookeeper3/bin/zkServer.sh status

 

二、安装tomcat

1、  解压tomcat :tar -zxf apache-tomcat-7.0.68.tar.gz

2、  重命名 :mv apache-tomcat-7.0.68 tomcat1

3、  拷贝  cp -r tomcat1/ tomcat2

4、  修改tomcat端口

5、  启动tomcat

tomcat1/bin/startup.sh

6、  停止tomcat

7、  查询日志

tail -f catalina.out

ctrl c 退出

8、  批处理启动tomcat

Vim start-tomcat.sh

/home/dev/solrcloud/tomcat1/bin/startup.sh

/home/dev/solrcloud/tomcat2/bin/startup.sh

/home/dev/solrcloud/tomcat3/bin/startup.sh

/home/dev/solrcloud/tomcat4/bin/startup.sh

修改运行文件 chmod +x start-tomcat.sh

9、  批处理关闭tomcat

vim shutdown-tomcat.sh

/home/dev/solrcloud/tomcat1/bin/shutdown.sh

/home/dev/solrcloud/tomcat2/bin/shutdown.sh

/home/dev/solrcloud/tomcat3/bin/shutdown.sh

/home/dev/solrcloud/tomcat4/bin/shutdown.sh

chmod +x shutdown-tomcat.sh

 

10、              关闭tomcat进程

ps -ef |grep tomcat

kill -9 22942

11、              关闭防火墙

Su 到 root用户

centos 7:

systemctl stop firewalld.service #停止

systemctl disable firewalld.service #禁用

之前的版本:

service iptables stop #停止

chkconfig iptables off #禁用

 

三、Solr集群安装

1、  拷贝solr到tomcat

2、  修改web.xml文件的路径

<env-entry>

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>/home/dev/solrcloud/solrhome4</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

    </env-entry>

 

3、  拷贝solrhome

4、  修改solr.xml的solrcloud配置

5、  设置mysql的配置文件,让外网访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用root帐户  和密码(root)来访问这个MySQL Server   

6、  启动zookeeper

查看启动

7、  上传solr-5.3.0 到/home/dev/solrcloud

8、  使用zookeeper统一管理配置文件,需要把solrhome下的new_core的conf文件夹上传到zookeeper。

solr-5.3.0/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.36.130:2181,192.168.36.130:2182,192.168.36.130:2183 -cmd upconfig -confdir /home/dev/solrcloud/solrhome1/new_core/conf -confname myconf

-zkhost(zookeeper实例列表)- Ip加端口列表

-cmd 上传命令- Upconfig 上传配置信息

-confdir 上传文件夹

-confname 上传名称

solr-5.3.0/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.36.130:2181,192.168.36.130:2182,192.168.36.130:2183 -cmd upconfig -confdir /home/dev/solrcloud/solrhome1/att_core/conf -confname attconf

9、  查看是否上传到zookeeper服务器

. /zookeeper1/bin/zkCli.sh

查看目录:ls /

查看目录:ls /configs

 

10、              关联solr和zookeeper

a)       修改vim solrcloud/tomcat1/bin/catalina.sh

命令模式下,按‘/’,然后输入要查找的字符,Enter。?和/的区别是,一个向前(下)找,一个向后(上)。要搜索的其他匹配,请按   n   或   N: n,继续朝同一方向搜索。 N,反方向进行搜索。 

 

b)       加入:

JAVA_OPTS="-DzkHost=192.168.36.130:2181,192.168.36.130:2182,192.168.36.130:2183"

c)       修改4个tomcat

d)       启动tomcat

查看日志

tail -f solrcloud/tomcat2/logs/catalina.out

11、启动solrcloud: http://192.168.36.130:8080/solr/#/~cloud

四、分片

1、  分片

http://192.168.36.130:8081/solr/admin/collections?action=CREATE&name=new_core2&numShards=2&replicationFactor=2

name:将被创建的集合的名字
numShards:集合创建时需要创建逻辑碎片的个数
replicationFactor:每个文档副本数。replicationFactor(复制因子) 3 意思是每个逻辑碎片将有 3 份副本。注:Solr4.0 中,replicationFactor additional * 副本数 ,而不是副本总数
maxShardsPerNode:一个创建操作将展开创建 numShards*replicationFactor 碎片副本遍布在你的 Solr 节点上,公平分布,同一个碎片的两个副本不会在同一个 Solr 节点上。如果创建操作完成时 Solr 损坏,该操作不会创建出新集合的任何部分。该参数用来防止在同一个 Solr 节点创建太多副本,默认参数 1.如果它的值与整体集合中 numShards*replicationFactor 副本数分布到正常活跃的Solr 节点的数不符,将不能创建任何东西
createNodeSet:如果不提供该参数,创建操作将创建碎片副本展开分布到所有活跃的 Solr 节点上。提供该参数改变用于创建碎片副本的节点集合。参数值的格式是:"<node-name1>,<node-name2>,...,<node-nameN>"
例如:createNodeSet=localhost:8983_solr,localhost:8984_solr,localhost:8985_solr
collection.configName:用于新集合的配置文件的名称。如果不提供该参数将使用集合名称作为配置文件的名称。

Solr4.2
相关参数:
name:将被创建的集合别名的名字
collections:逗号分隔的一个或多个集合别名的列表

 

 

2、  多个solrcore搭建,加上collection.configName配置,值为zookeeper中配置的名称。

http://192.168.36.130:8081/solr/admin/collections?action=CREATE&name=att_core2&numShards=2&replicationFactor=2&collection.configName=attconf

3、  删除不分片的solrcore

http://192.168.36.130:8081/solr/admin/collections?action=DELETE&name=new_core

http://192.168.36.130:8081/solr/admin/collections?action=DELETE&name=att_core

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!