[Real] combate proveedor de electricidad - Tao Tao Mall - acumulación caché (el séptimo día)

  1. plan de la lección

Séptimo día:

  1. Configuración Solr Cluster
  2. Uso SolrJ Solr gestión de clusters
  3. La función de búsqueda se conmuta al Cluster Edition

 

  1. Lo que es SolrCloud

 

SolrCloud (nube Solr) se distribuye el programa de búsqueda Solr proporciona usando SolrCloud en caso de requerir a gran escala, tolerante a fallos, la indexación distribuida y capacidades de recuperación. Cuando una pequeña cantidad de datos de índice cuando no se requiere que el sistema utilice SolrCloud cuando el índice de un gran volumen de peticiones de búsqueda de alta concurrente, a continuación, la necesidad de utilizar SolrCloud para satisfacer esas necesidades.

 SolrCloud se distribuye el programa de búsqueda basadas en Solr y Zookeeper, su idea principal es utilizar Zookeeper como el centro de la información de configuración del clúster.

Tiene varias características:

1) la información de configuración centralizada

2) tolerancia a fallos automática

3) cercana a la búsqueda en tiempo real

4) consultas de equilibrio de carga automática

 

  1. arquitectura del sistema de clúster Solr

 

    1. estructura física

Solr tres ejemplos (ejemplos de los cuales incluyen cada uno dos Core), compuesto de una SolrCloud.

    1. estructura lógica

conjunto de índices comprende dos Shard (shard1 y shard2), shard1 shard2 respectivamente, y tres Core, en el que uno del líder de replicación de dos, es generado por zookeeper Leader Elección, ZOOKEEPER control consistente de los tres datos de índice Core para cada fragmento, resolver el problema de la disponibilidad.

Los iniciados por el usuario del índice están disponibles bajo petición y shard1 shard2, para hacer frente a los problemas de alta concurrencia.

 

      1. colección

Colección es una estructura de índice completo en un sentido lógico en el grupo SolrCloud. A menudo se divide en uno o más de fragmento (fragmentos), que utilizan la misma información de configuración.

Por ejemplo: puede crear una búsqueda de recogida de información del producto.

 colección = shard1 + shard2 + .... + shardX

 

      1. Núcleo

Cada Solr Core es una unidad independiente, la prestación de servicios de indexación y búsqueda. Un fragmento requerido por una o más composición de núcleo Core. Dado que la colección de una pluralidad de recogida de modo que el fragmento se compone generalmente de una pluralidad de componentes básicos.

      1. Maestro Esclavo 或

Maestro es el nodo maestro en la configuración maestro-esclavo (dijo típicamente servidor primario), el nodo esclavo de la estructura maestro-esclavo (típicamente desde un servidor o dicho servidor de copia de seguridad). mismos datos de fragmento en el maestro y el esclavo de almacenamiento es consistente, el propósito de los cuales es lograr una alta disponibilidad.

      1. Casco

Colección de fragmentación lógica. Cada fragmento es en una o más de replicación, que se determina por el líder electoral.

 

 

    1. La necesidad de lograr una arquitectura de cluster Solr

 

ZOOKEEPER como una herramienta de gestión de clusters.

  1. la gestión de clusters: tolerancia a fallos, equilibrio de carga.
  2. La gestión centralizada de los archivos de configuración
  3. cúmulo de entrada

 

Zookeeper necesidad de lograr una alta disponibilidad. Necesitamos construir clusters. La propuesta es nodo impar. Requiere tres servidores empleado del zoológico.

 

racimos Solr necesitan para construir siete servidores.

 

Construir un pseudo-distribuido:

Se requiere tres nodos zookeeper

Tomcat necesita cuatro nodos.

 

El contenido de la máquina virtual se recomienda más de 1G.

  1. Preparación del entorno

    CentOS-6.5-i386-bin-DVD1.iso

jdk-7u72-linux-i586.tar.gz

    apache-tomcat-7.0.47.tar.gz

    cuidador del zoológico-3.4.6.tar.gz

    Solr-4.10.3.tgz

  1. Pasos de la instalación
    1. Configuración Zookeeper Cluster

El primer paso: la necesidad de instalar el entorno de JDK.

Paso dos: el archivo del empleado del zoológico cargado en el servidor.

El tercer paso: descompresión.

Paso cuatro: tres copias del cuidador del zoológico.

[Root @ localhost ~] # mkdir / usr / local / Solr en la nube

[Root @ localhost ~] # cp -r empleado del zoológico-3.4.6 / usr / local / Solr en la nube / zookeeper01

[Root @ localhost ~] # cp -r empleado del zoológico-3.4.6 / usr / local / Solr en la nube / zookeeper02

[Root @ localhost ~] # cp -r empleado del zoológico-3.4.6 / usr / local / Solr en la nube / zookeeper03

Paso 5: Crear un directorio de datos para cada empleado del zoológico en el directorio.

Sexto paso: Crear un archivo myid en el directorio de datos, el nombre del archivo llamado "myid". El contenido es el id de cada instancia. Por ejemplo, 2, 3

[Root @ localhost datos] # echo 1 >> myid

[Root @ localhost datos] # ll

total de 4

-rw-r - r--. raíz 1 de encastrado 2 abr 7 18:23 myid

[Root @ localhost datos] myid # cat

1

Séptimo paso: modificar el archivo de configuración. Zoo_sample.cfg los archivos renombrados en el directorio conf zoo.cfg

 

server.1 = 192.168.25.154: 2881: 3881

server.2 = 192.168.25.154: 2882: 3882

server.3 = 192.168.25.154: 2883: 3883

 

Paso ocho: Inicio cada instancia empleado del zoológico.

bin arranque / inicio zkServer.sh

 

Ver cuidador del zoológico de estado:

estado bin / zkServer.sh

 

    1. Solr construido racimos

Paso 1: Crear cuatro instancia de Tomcat. Cada gato que se ejecutan en diferentes puertos. 8180,8280,8380,8480

Segundo paso: Implementación de Solr paquete de guerra. Copiar la versión independiente de Solr proyecto a agruparse en Tomcat.

Paso 3: Crear un Solr solrhome correspondiente para cada instancia. Para usar la única copia de solrhome cuatro.

Paso cuatro: Solr necesidad de modificar el archivo web.xml. solrhome asociado.

Quinto paso: Configurar relacionado solrCloud. Bajo cada solrhome tiene un solr.xml, a la que configura el número IP y el puerto.

 

Sexto paso: Deje que el archivo de configuración de gestión integrada empleado del zoológico. Necesidad de solrhome / collection1 / conf directorio para cargar en el cuidador del zoológico. Subir cualquier archivo de configuración solrhome.

Utilizar herramientas para cargar el archivo de configuración: /root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh

./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir / usr / local / Solr-nube / solrhome01 / collection1 / conf -confname myconf

Compruebe el archivo de configuración en el cuidador del zoológico:

Uso bin / zkCli.sh comando catálogo cuidador del zoológico en el archivo de configuración en el cuidador del zoológico:

[Root @ localhost bin] # ./zkCli.sh

[Zk: localhost: 2181 (conectado) 0] ls /

[Configuraciones, zookeeper]

[ZK: localhost: 2181 (conectado) 1] ls / configs

[Myconf]

[Zk: localhost: 2181 (conectado) 2] ls / configs / myconf

[Admin-extra.menu-top.html, currency.xml, protwords.txt, mapeo-FoldToASCII.txt, _schema_analysis_synonyms_english.json, _rest_managed.json, solrconfig.xml, _schema_analysis_stopwords_english.json, stopwords.txt, lang, spellings.txt , mapeo-ISOLatin1Accent.txt, admin-extra.html, XSLT, synonyms.txt, scripts.conf, update-script.js, velocidad, elevate.xml, admin-extra.menu-bottom.html, el agrupamiento, schema.xml ]

[Zk: localhost: 2181 (conectado) 3]

Salir:

[Zk: localhost: 2181 (conectado) 3] dejar de fumar

 

Paso siete: archivo catalina.sh Modificar en el tomcat / bin, Solr y cuidador del zoológico asociado.

Añadir esta configuración en el fichero de configuración:

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

 

 

 

Paso ocho: Comience cada instancia de Tomcat. Para clúster zookeeper paquete se activa estado.

Paso 9: clúster Acceso

 

Paso 10: Crear una nueva colección proceso fragmentado.

http://192.168.25.154:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

 

 

Décimo paso: eliminar la colección de inusitado.

http://192.168.25.154:8180/solr/admin/collections?action=DELETE&name=collection1

 

 

 

  1. Usando SolrJ gestión de clústeres
    1. Adición de documentos

Utilice los siguientes pasos:

El primer paso: añadir SolrJ paquete frasco relacionada con el proyecto.

Paso 2: Crear un objeto SolrServer, es necesario utilizar subclases CloudSolrServer. constructor de argumento es la lista de direcciones del cuidador del zoológico.

El tercer paso: la necesidad de conjunto de propiedades DefaultCollection.

Paso cuatro: Crear un objeto SolrInputDocument.

Quinto paso: Añadir un dominio a un objeto de documento

Sexto paso: El objeto del documento en la base de datos de índice.

Séptimo paso: Presentar.

 

@Prueba

pública  vacío  testSolrCloudAddDocument () lanza  la excepción {

// primer paso: añadir SolrJ paquete frasco relacionada con el proyecto.

// Paso 2: Crear un objeto SolrServer, es necesario utilizar subclases CloudSolrServer. constructor de argumento es el cuidador del zoológico lista de direcciones 's.

// parámetro es el zookeeper lista de direcciones, separados por comas

CloudSolrServer  solrServer  = nuevo  CloudSolrServer ( "192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183" );

// tercer paso: la necesidad de conjunto de propiedades DefaultCollection.

solrServer .setDefaultCollection ( "collection2" );

// Cuarto paso: Crear un objeto SolrInputDocument.

SolrInputDocument documento  = nuevo  SolrInputDocument ();

// Paso cinco: Añadir un dominio a un objeto de documento

el Documento .addField ( "ITEM_TITLE" , "producto de prueba" );

documento .addField ( "item_price" , "100" );

documento .addField ( "id" , "test001" );

// Sexto paso: El objeto del documento en la base de datos de índice.

solrServer .Add ( documento );

// Paso siete: Enviar.

solrServer .commit ();

 

}

 

    1. documento de consulta

Creación de un CloudSolrServer objetos, procesamiento coherente y otra versión independiente.

 

  1. La función de búsqueda se conmuta al Cluster Edition

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans4.2.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context4.2.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx4.2.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util4.2.xsd">

 

<!-- 单机版solr服务配置 -->

<!-- <bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">

<constructor-arg name="baseURL" value="http://192.168.25.154:8080/solr"></constructor-arg>

</bean> -->

<!-- 集群版solr服务 -->

<bean id="cloudSolrServer" class="org.apache.solr.client.solrj.impl.CloudSolrServer">

<constructor-arg name="zkHost" value="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"></constructor-arg>

<property name="defaultCollection" value="collection2"></property>

</bean>

</beans>

 

发布了237 篇原创文章 · 获赞 20 · 访问量 2万+

Supongo que te gusta

Origin blog.csdn.net/ZGL_cyy/article/details/105308159
Recomendado
Clasificación