Solr7.3 Cloud On HDFS搭建

一、概要

SolrCloud实际上是依托zk实现中心化配置管理的solr集群。具有容错、横向扩展和高可用等特性,能够对查询进行自动负载均衡和fail-over处理,适用于大规模的分布式索引和搜索。本文主要介绍最新版本solr on hdfs的搭建过程。

二、环境

  • Centos7
  • JDK8
  • ZooKeeper
  • Hadoop 2.7

三、Solr安装

通过将solr安装到以下四个节点,使用外部的zk构建solr cloud。

emr-worker-1
emr-worker-2
emr-worker-3
emr-worker-4

emr-worker-1节点[下载安装包]。(http://www.apache.org/dyn/closer.lua/lucene/solr/7.3.1)

解压service安装脚本。

tar xzf solr-7.3.1.tgz solr-7.3.1/bin/install_solr_service.sh --strip-components=2

安装solr service。 默认的solr目录安装在/opt下, 启动配置文件solr.in.sh安装在/etc/default下,数据配置solr.xml文件和日志默认安装在/var/solr。以上安装目录可以在执行install_solr_service.sh时进行参数配置,具体可以通过-help查看。

bash ./install_solr_service.sh solr-7.3.1.tgz -n

配置solr.in.sh文件

SOLR_JAVA_MEM="-Xms4g -Xmx4g"

GC_LOG_OPTS="-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails \
  -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime"

ZK_HOST="emr-header-1:2181,emr-header-2:2181,emr-header-3:2181/solr"

SOLR_HOST="emr-worker-1"

SOLR_TIMEZONE="UTC+8"

SOLR_OPTS="$SOLR_OPTS -Dsolr.directoryFactory=HdfsDirectoryFactory \
-Dsolr.lock.type=hdfs \
-Dsolr.hdfs.home=hdfs://emr-header-1:8020/solr"

注意:SOLR_HOST需要配置每个节点自己的HOST NAME

配置solr.xml文件

<str name="host">${host:emr-worker-1}</str>

注意:配置每个节点自己的HOST NAME

然后,依次在其它节点上安装并配置。最后在zk上创建solr目录

[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper, hadoop-ha, hbase]
[zk: localhost:2181(CONNECTED) 1] create /solr ''
Created /solr
[zk: localhost:2181(CONNECTED) 2] ls /
[zookeeper, hadoop-ha, hbase, solr]

启动solr服务

for h in "emr-worker-1" "emr-worker-2" "emr-worker-3" "emr-worker-4"
do
  ssh $h service solr start 
done

检查状态solr cloud状态,执行bin/solr status:

Found 1 Solr nodes:

Solr process 21527 running on port 8983
{
  "solr_home":"/var/solr/data",
  "version":"7.3.1 ae0705edb59eaa567fe13ed3a222fdadc7153680 - caomanhdat - 2018-05-09 09:30:57",
  "startTime":"2018-05-17T08:06:10.296Z",
  "uptime":"0 days, 0 hours, 1 minutes, 46 seconds",
  "memory":"112.8 MB (%2.9) of 3.8 GB",
  "cloud":{
    "ZooKeeper":"emr-header-1:2181,emr-header-2:2181,emr-header-3:2181/solr",
    "liveNodes":"4",
    "collections":"1"}
}

四、Collection操作

切换到solr用户

su solr

创建集合

bin/solr create_collection -c collection1 -shards 4 -replicationFactor 2

集合健康状态检查

bin/solr healthcheck -c test_collection

删除集合

bin/solr delete -c collection1
上一篇:Web服务器的配置与管理(4) 配置访问权限和安全


下一篇:当云HBase2.0被赋能了search