Acfe 发表于 2017-12-20 06:18:30

Solr6.2.0 + zookeeper 集群配置

  zookeeper1 : 192.168.1.103
  zookeeper2 : 192.168.1.104
  zookeeper3 : 192.168.1.105
  solr1 : 192.168.1.106
  solr2 : 192.168.1.107
  solr3 : 192.168.1.108
  JDK安装目录:/data/jdk
  Solr安装目录:/data/SolrCloud/Solr/solr
  Solr配置文件目录:/data/SolrCloud/Solr/solr-config
  Solr数据文件目录:/data/SolrCloud/solr-cores
  Tomcat安装目录:/data/tomcat
  除了安装JDK的目录不需要创建,其它目录都需要进行创建
  mkdir -p /data/SolrCloud/Solr/solr
  mkdir -p /data/SolrCloud/Solr/solr-config
  mkdir -p /data/SolrCloud/solr-cores
  mkdir -p /data/tomcat
  6台集群全部安装 基础环境配置 tomcat jdk,
  1. tomcat放置目录为 /data/tomcat
  2. jdk 放置目录为 /data/jdk
  solr集群安装:
  192.168.1.106 solr1服务器上操作
  解压 solr-6.2.0.tgz ,并把solr.war解压到/data/SolrCloud/Solr/solr 目录下。
  tar -zxvf solr-6.2.0.tgz
  mv /data/solr-6.2.0/server/solr-webapp/webapp /data/SolrCloud/Solr/solr
  将 solr-6.2.0/server/lib/ext/ 目录下的jar包拷贝到 /data/SolrCloud/Solr/solr/WEB-INF/lib/ 目录下。
  cp /data/solr-6.2.0/server/lib/ext/*.jar /data/SolrCloud/Solr/solr/WEB-INF/lib/
  将 solr-6.2.0/server/solr/configsets/basic_configs/conf/ 目录下的文件拷贝到 /data/SolrCloud/Solr/solr-config/
  cp /data/solr-6.2.0/server/solr/configsets/basic_configs/conf/* /data/SolrCloud/Solr/solr-config/
  将 solr-6.2.0/example/files/conf/ 目录下的文件夹拷贝到 /data/SolrCloud/Solr/solr-config/
  cp -r /data/solr-6.2.0/example/files/conf/lang /data/SolrCloud/Solr/solr-config/
  将 /data/SolrCloud/Solr/solr 目录拷贝到 /data/SolrCloud/Tomcat/apache-tomcat-7.0.62/webapps/ 目录下。
  cp -r /data/SolrCloud/Solr/solr /data/tomcat/webapps/
  将 solr-6.2.0/server/solr/ 目录下的solr.xml文件拷贝到 /data/SolrCloud/solr-cores 目录下,这是solr的核心配置文件。
  cp /data/solr-6.2.0/server/solr/solr.xml /data/SolrCloud/solr-cores
  修改 /data/SolrCloud/solr-cores 目录下的solr.xml,修改hostPort和Tomcat端口一致:
  <solr>
  <solrcloud>
  <str name="host">${host:}</str>
  <int name="hostPort">8080</int>
  <str name="hostContext">${hostContext:solr}</str>
  <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
  <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
  <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
  <str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
  <str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>
  在 /data/tomcat/conf/ 目录下创建Catalina/localhost目录。
  mkdir -p /data/tomcat/conf/Catalina/localhost
  在 /data/tomcat/conf/Catalina/localhost/ 目录下创建solr.xml,此为Solr/home的配置文件。
  <?xml version="1.0" encoding="UTF-8"?>
  <Context docBase="/data/tomcat/webapps/solr" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="/data/SolrCloud/solr-cores/" override="true"/>
  </Context>
  ~
  ~
  修改 /data/tomcat/bin/catalina.sh 加入以下内容:
  JAVA_OPTS='-DzkHost=cdh1:2181,cdh2:2181,cdh3:2181'
  将以上配置同步到其它服务器
  scp -r /data/{SolrCloud,tomcat} root@cdh2:/data/
  scp -r /data/{SolrCloud,tomcat} root@cdh3:/data/
  上传配置到Zookeeper:
  SolrCloud是通过Zookeeper集群来保证配置文件的变更及时同步到各个节点上,所以,需要将配置文件上传到Zookeeper集群。
  solr配置文件目录:/data/SolrCloud/Solr/solr-config/
  执行以下操作:
  java -classpath .:/data/tomcat/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost cdh1:2181,cdh2:2181,cdh3:2181 -confdir /data/SolrCloud/Solr/solr-config/ -confname solrconfig
  在192.168.1.103 zookeeper1上执行
  校验Zookeeper配置文件
  cd /data/Zookeeper/bin/
  ./zkCli.sh -server cdh1:2181
# ./zkCli.sh -server cdh1:2181
ls /

ls /configs

ls /configs/solrconfig

  启动Tomcat,先启动solr1 192.168.1.106机器上的tomcat:
  /data/tomcat/bin/startup.sh
  启动solr2 192.168.1.107和192.168.1.108机器上的Tomcat。
  访问http://cdh2:8080/solr/index.html
  创建Collection及初始化Shard
  curl 'http://cdh2:8080/solr/admin/collections?action=CREATE&name=collection_&numShards=3&replicationFactor=1'
  查看 /data/SolrCloud/solr-cores/ 目录:
# ls /data/SolrCloud/solr-cores/
  collection__shard1_replica1 solr.xml
页: [1]
查看完整版本: Solr6.2.0 + zookeeper 集群配置