虚拟主机可以做视频网站嘛,安徽六安有什么特产,长沙工作室网站建设,如何把网站放在主机上目录 1 SolrCloud结构说明2 环境的安装2.1 环境说明2.2 部署并启动ZooKeeper集群2.3 部署Solr单机服务2.4 添加Solr的索引库3 部署Solr集群服务(SolrCloud)3.1 启动ZooKeeper3.2 ZooKeeper管理配置文件3.3 修改SolrCloud监听端口3.4 关联Solr与ZooKeeper3.5 分发SolrCloud服务3… 目录 1 SolrCloud结构说明2 环境的安装2.1 环境说明2.2 部署并启动ZooKeeper集群2.3 部署Solr单机服务2.4 添加Solr的索引库3 部署Solr集群服务(SolrCloud)3.1 启动ZooKeeper3.2 ZooKeeper管理配置文件3.3 修改SolrCloud监听端口3.4 关联Solr与ZooKeeper3.5 分发SolrCloud服务3.6 启动所有Solr服务3.7 访问SolrCloud 1 SolrCloud结构说明 1) ZooKeeper集群: a) ZooKeeper需要保证高可用, 需要搭建集群; b) ZooKeeper需要进行投票和选举机制, 最少需要三个节点; c) ZooKeeper的三个节点, 注意修改端口号不一样 2) Solr集群: a) 需要四个节点(Solr应用服务器); b) 四台Tomcat部署4个 solr应用服务器; c) 整个Collection分为两个分片: 每个分片均由两个副本组成. 2 环境的安装 2.1 环境说明 OS: CentOS 7.0JDK: HotSpot(TM) 1.8.0_162Tomcat: 8.0.53ZooKeeper: 3.4.10Solr: 4.10.4 2.2 部署并启动ZooKeeper集群 ZooKeeper集群的安装部署, 详细文档参见 ZooKeeper 01 - 什么是ZooKeeper 部署ZooKeeper集群. 2.3 部署Solr单机服务 参考Solr04 - 在Jetty和Tomcat上部署Solr单机服务, 这里通过Tomcat的虚拟环境发布Solr项目. (1) 创建SolrCloud的发布路径: 创建 /data/solr-cloud作为项目发布路径, 并赋予读写权限: mkdir -p /data/solr-cloud cd /data
chmod 644 solr-cloud (2) 将apache-tomcat-8.0.53.tar.gz拷贝到/data/solr-cloud/tomcat下并解压: mkdir -p /data/solr-cloud/tomcat cd /data/solr-cloud/tomcat
tar -zxf apache-tomcat-8.0.53.tar.gz (3) 解压solr.4.10.4.tgz: 将solr.4.10.4.tgz拷贝到任意一台服务器的/data/solr-cloud下, 解压 tar -zxf solr-4.10.4.tgz (4) 找到Solr安装包example/webapps下的solr.war包, 解压缩: cd /data/solr-cloud/solr-4.10.4/example/webapps
# 使用jar命令解压缩
jar -xvf solr.war solr
# 解压缩之后, 删除solr.war包, 防止Tomcat自动解压缩此包, 导致配置被覆盖
rm -rf solr.war (5) 部署Solr项目: 创建存放Solr应用的目录, 并将解压后的solr.war拷贝至此目录下: cd /data/solr-cloud
mkdir -p tomcat/display/solr
# 将所有文件拷贝至solr目录下
cp -r solr-4.10.4/example/webapps tomcat/display/solr (6) 使用Tomcat的虚拟目录安装: 这里没有将Solr服务添加到Tomcat的webapps目录下, 所以需要修改Tomcat的 $TOMCAT_HOME/conf/server.xml文件, 添加Solr的服务路径: 说明: 这里将Solr服务部署在 /data/solr-cloud/tomcat/display/solr路径下. Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue!-- 配置访问路径, 效果为: http://ip:port/solr --Context path/solr privilegedtruedocBase/data/solr-cloud/tomcat/display/solr Environment namesolr/home typejava.lang.String overridetruevalue/data/solr-cloud/tomcat/solrhome/ /Context !-- ... ... --
/Host 参数说明: ① path: 指定访问该Web应用的名称, 即 http://ip:8080/solr 中端口号之后的部分; ② docBase: 指定Web应用的文件路径, 如果是war包, 必须加上后缀; ③ Environment节点就是设置solr/home的目录, 用来存放各个Collection的索引文件. (7) 配置其他文件: a. 拷贝Solr解压包下的log4j.properties文件至Solr服务的WEB-INF/classes下: cd /data/solr-cloud
mkdir -p tomcat/display/solr/WEB-INF/classes
cp solr-4.10.4/example/resources/log4j.properties tomcat/display/solr/WEB-INF/classes b. 拷贝Solr解压包下example/lib/ext中的所有jar包拷贝到Solr服务的WEB-INF/lib下: cd /data/solr-cloud
cp -r solr-4.10.4/example/lib/ext/* tomcat/display/solr/WEB-INF/lib c. 拷贝Solr解压包下example/solr下的solr.xml至solrhome下(必须存在, 否则Solr服务将不能正常启动): cd /data/solr-cloud mkdir -p tomcat/solrhome
cp -r solr-4.10.4/example/solr/solr.xml tomcat/solrhome d. 拷贝Solr解压包下的example/solr/collection1至tomcat目录下的solrhome中, 用作SolrCore的配置文件: cd /data/solr-cloud
cp -r solr-4.10.4/examplesolr/collection1 tomcat/solrhome 启动Tomcat后, 访问 http://ip:port/solr, 如果出现Solr Web管理页面, 说明单机版Solr部署完成. 2.4 添加Solr的索引库 (1) 在Solr的管理界面点击[Core Admin], 再点击[Add Core]这项, 系统提示instanceDir和dataDir必须存在, 否则将抛出如下错误: new_core: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core new_core: Error loading solr config from /data/solr-cloud/tomcat/solrhome/new_core/conf/solrconfig.xml (2) 映射solrhome的位置: vim /data/solr-cloud/tomcat/display/solr/WEB-INF/web.xml
# 删除40行和46行的注释, 如下:
env-entryenv-entry-namesolr/home/env-entry-nameenv-entry-value/data/solr-cloud/tomcat/solrhome/env-entry-valueenv-entry-typejava.lang.String/env-entry-type
/env-entry (3) 重新启动Tomcat, 发现名为collection1的SolrCore已经加载上了: 其他注意事项: a) 如果删除rm –rf /data/solr-cloud/tomcat/solrhome/collection1/core.properties文件, 集群启动后就没有collection; b) 以后再次创建SolrCore时, 可以直接复制collection1目录, 修改core.properties文件中的name即可. 3 部署Solr集群服务(SolrCloud) 3.1 启动ZooKeeper SolrCloud的部署需要依赖ZooKeeper, 需要先启动所有ZooKeeper服务器. 3.2 ZooKeeper管理配置文件 在分布式服务中, 多采用ZooKeeper统一管理配置文件, 这里Solr使用到的配置文件主要有schema.xml、solrconfig.xml等, SolrCloud各个节点使用ZooKeeper统一管理的文件即可. (1) 将Solr单机服务的配置文件交由ZooKeeper管理: 执行下述命令将Solr单机conf下的配置文件上传到ZooKeeper(此命令为一条命令) cd /data/solr-cloud/solr-4.10.4/example/scripts/cloud-scripts# 注意: 下面一长串只是一条命令, 不要太早回车哦~
sh zkcli.sh -zkhost 10.0.20.50:2181,10.0.20.51:2181,10.0.20.52:2181 -cmd upconfig -confdir /data/solr-cloud/tomcat/solrhome/collection1/conf -confname myconf 命令说明: ① zkhost: 指定ZooKeeper集群的ip及端口号, 多个之间以半角逗号隔开; ② cmd: 表示使用某个内部命令, 这里使用upconfig, 即更新配置信息; ③ confdir: 需要上传的配置文件所在的位置; ④ confname: 自定义上传后ZooKeeper管理的配置文件的名称. (2) 使用ZooKeeper的服务器查询配置文件 cd /data/zookeeper/zookeeper-3.4.10/bin/
sh zkCli.sh# 信息如下:
......
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[configs, zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /configs
[myconf]
[zk: localhost:2181(CONNECTED) 2] ls /configs/myconf
[currency.xml, mapping-FoldToASCII.txt, protwords.txt, scripts.conf, synonyms.txt, stopwords.txt, _schema_analysis_synonyms_english.json, velocity, admin-extra.html, update-script.js, _schema_analysis_stopwords_english.json, solrconfig.xml, admin-extra.menu-top.html, elevate.xml, schema.xml, clustering, mapping-ISOLatin1Accent.txt, _rest_managed.json, xslt, spellings.txt, lang, admin-extra.menu-bottom.html]
[zk: localhost:2181(CONNECTED) 3] quit
Quitting...
2018-10-25 21:27:08,122 [myid:] - INFO [main:ZooKeeper684] - Session: 0x166a788acfd0001 closed
2018-10-25 21:27:08,126 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread519] - EventThread shut down for session: 0x166a788acfd0001 3.3 修改SolrCloud监听端口 修改每个Solr服务的/usr/local/solr-cloud/solr.xml文件中的hostPort(此端口默认为Jetty容器的访问端口8983). 如果在catalina.sh中指定, 此处的设置将被覆盖. solrcloud str namehost${host:}/str int namehostPort${jetty.port:8080}/int str namehostContext${hostContext:solr}/str int namezkClientTimeout${zkClientTimeout:30000}/int bool namegenericCoreNodeNames${genericCoreNodeNames:true}/bool
/solrcloud 3.4 关联Solr与ZooKeeper 即关联Tomcat与ZooKeeper, 修改每一台Solr服务所属的tomcat/bin/catalina.sh, 指定ZooKeeper服务的地址: vim /data/solr-cloud/tomcat/apache-tomcat-8.0.53/bin/catalina.sh
# 在cygwinfalse(大约109行)之前, 通过-DzkHost参数指定ZooKeeper的IP和端口号:
JAVA_OPTS$JAVA_OPTS -DzkHostzoo1:2181,zoo2:2181,zoo3:2181 可以使用vim的查找功能查找JAVA_OPTS的定义的位置: 按[Esc], 在命令模式下输入:/cygwin, 然后回车, 按字母[n]查找下一个. 3.5 分发SolrCloud服务 cd /data
scp -r solr-cloud/ 10.0.20.51:/data
scp –r solr-cloud/ 10.0.21.52:/data 3.6 启动所有Solr服务 在启动ZooKeeper集群后, 依次启动所有Solr服务 --- 即Tomcat. 3.7 访问SolrCloud 访问任意一台Solr, 左侧菜单将出现[Cloud]功能按钮, 点击查看, 出现下图中的信息, 说明SolrCloud部署成功. 参考资料 solr7.3.1在CentOS7上的安装 solrCloudtomcatzookeeper集群配置 版权声明 作者: 马瘦风 出处: 博客园 马瘦风的博客 您的支持是对博主的极大鼓励, 感谢您的阅读. 本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利. 转载于:https://www.cnblogs.com/shoufeng/p/9881362.html