Installare e usare Solr nei cluster Hadoop di HDInsightInstall and use Solr on HDInsight Hadoop clusters

Informazioni su come installare Solr in Azure HDInsight usando un'azione script.Learn how to install Solr on Azure HDInsight by using Script Action. Solr è una piattaforma di ricerca avanzata e offre funzionalità di ricerca di livello aziendale per i dati gestiti da Hadoop.Solr is a powerful search platform and provides enterprise-level search capabilities on data managed by Hadoop.

Importante

I passaggi descritti in questo documento richiedono un cluster HDInsight che usa Linux.The steps in this document require an HDInsight cluster that uses Linux. Linux è l'unico sistema operativo usato in HDInsight versione 3.4 o successiva.Linux is the only operating system used on HDInsight version 3.4 or greater. Per altre informazioni, vedere la sezione relativa al ritiro di HDInsight in Windows.For more information, see HDInsight retirement on Windows.

Importante

Lo script di esempio usato in questo documento installa Solr 4.9 con una configurazione specifica.The sample script used in this document installs Solr 4.9 with a specific configuration. Per configurare il cluster Solr con raccolte, partizioni, schemi, repliche diverse e così via, sarà necessario modificare lo script e i file binari di Solr.If you want to configure the Solr cluster with different collections, shards, schemas, replicas, etc., you must modify the script and Solr binaries.

Che cos'è SolrWhat is Solr

Apache Solr è una piattaforma di ricerca aziendale che permette di eseguire ricerche full-text avanzate sui dati.Apache Solr is an enterprise search platform that enables powerful full-text search on data. Mentre Hadoop consente di archiviare e gestire quantità elevate di dati, Apache Solr offre le funzionalità di ricerca necessarie per recuperare rapidamente i dati.While Hadoop enables storing and managing vast amounts of data, Apache Solr provides the search capabilities to quickly retrieve the data.

Avviso

I componenti forniti con il cluster HDInsight sono completamente supportati da Microsoft.Components provided with the HDInsight cluster are fully supported by Microsoft.

I componenti personalizzati, ad esempio Solr, ricevono supporto commercialmente ragionevole per semplificare la risoluzione dei problemi.Custom components, such as Solr, receive commercially reasonable support to help you to further troubleshoot the issue. Il supporto tecnico Microsoft potrebbe non essere in grado di risolvere i problemi con componenti personalizzati.Microsoft support may not be able to resolve problems with custom components. Potrebbe essere necessario coinvolgere le community open source per ricevere assistenza.You may need to engage the open source communities for assistance. È ad esempio possibile ricorrere a molti siti di community, come il forum MSDN per HDInsight o http://stackoverflow.com. Anche per i progetti Apache sono disponibili siti specifici in http://apache.org, ad esempio Hadoop.For example, there are many community sites that can be used, like: MSDN forum for HDInsight, http://stackoverflow.com. Also Apache projects have project sites on http://apache.org, for example: Hadoop.

Funzionalità dello scriptWhat the script does

Questo script apporta le modifiche seguenti al cluster HDInsight:This script makes the following changes to the HDInsight cluster:

  • Installa Solr 4.9 in /usr/hdp/current/solrInstalls Solr 4.9 into /usr/hdp/current/solr
  • Crea un utente solrusr, usato per eseguire il servizio SolrCreates a user, solrusr, which is used to run the Solr service
  • Imposta solrusr come proprietario di /usr/hdp/current/solr.Sets solruser as the owner of /usr/hdp/current/solr
  • Aggiunge una configurazione Upstart che avvia automaticamente Solr.Adds an Upstart configuration that starts Solr automatically.

Installare R mediante azioni scriptInstall Solr using Script Actions

Uno script di esempio per l'installazione di Solr in un cluster HDInsight è disponibile all'indirizzo seguente:A sample script to install Solr on an HDInsight cluster is available at the following location:

https://hdiconfigactions.blob.core.windows.net/linuxsolrconfigactionv01/solr-installer-v01.sh

Per creare un cluster con Solr installato, usare la procedura nel documento Creare cluster basati su Linux in HDInsight tramite il portale di Azure.To create a cluster that has Solr installed, use the steps in the Create HDInsight clusters document. Durante il processo di creazione, usare la procedura seguente per installare Solr:During the creation process, use the following steps to install Solr:

  1. Dal pannello Riepilogo cluster selezionare__Impostazioni avanzate__ e quindi Azioni script.From the Cluster summary section, select__Advanced settings__, then Script actions. Usare le seguenti informazioni per popolare il modulo:Use the following information to populate the form:

  2. Nella parte inferiore della sezione Azioni script usare il pulsante Seleziona per salvare la configurazione.At the bottom of the Script actions section, use the Select button to save the configuration. Infine, usare il pulsante Avanti per tornare al Riepilogo clusterFinally, use the Next button to return to the Cluster summary

  3. Dalla pagina Riepilogo cluster selezionare Crea per creare il cluster.From the Cluster summary page, select Create to create the cluster.

Come si usa Solr in HDInsightHow do I use Solr in HDInsight

Importante

I passaggi in questa sezione illustrano le funzionalità di base di Solr.The steps in this section demonstrate basic Solr functionality. Per altre informazioni sull'uso di Solr, vedere il sito Apache Solr.For more information on using Solr, see the Apache Solr site.

Dati dell'indiceIndex data

Usare i passaggi seguenti per aggiungere dei dati di esempio a Solr e quindi eseguire una query:Use the following steps to add example data to Solr, and then query it:

  1. Connettersi al cluster HDInsight usando SSH:Connect to the HDInsight cluster using SSH:

    ssh USERNAME@CLUSTERNAME-ssh.azurehdinsight.net
    

    Per altre informazioni, vedere Usare SSH con HDInsight.For more information, see Use SSH with HDInsight.

    Importante

    I passaggi successivi di questo documento usano un tunnel SSL per la connessione all'interfaccia utente Web di Solr.Steps later in this document use an SSL tunnel to connect to the Solr web UI. Per usare questi passaggi, è necessario stabilire un tunnel SSL e quindi configurare il browser per usarlo.To use these steps, you must establish an SSL tunnel and then configure your browser to use it.

    Per altre informazioni, vedere il documento Usare il tunneling SSH per accedere all'interfaccia Web di Ambari, JobHistory, NameNode, Oozie e altre interfacce Web.For more information, see the Use SSH Tunneling with HDInsight document.

  2. Usare i comandi seguenti per indicizzare i dati di esempio tramite Solr:Use the following commands to have Solr index sample data:

    cd /usr/hdp/current/solr/example/exampledocs
    java -jar post.jar solr.xml monitor.xml
    

    Viene restituito l'output seguente alla console:The following output is returned to the console:

     POSTing file solr.xml
     POSTing file monitor.xml
     2 files indexed.
     COMMITting Solr index changes to http://localhost:8983/solr/update..
     Time spent: 0:00:01.624
    

    L'utilità post.jar aggiunge i documenti solr.xml e monitor.xml all'indice.The post.jar utility adds the solr.xml and monitor.xml documents to the index.

  3. Usare il comando seguente per eseguire query nell'API REST Solr:Use the following command to query the Solr REST API:

    curl "http://localhost:8983/solr/collection1/select?q=*%3A*&wt=json&indent=true"
    

    Questo comando cerca collection1 per tutti i documenti corrispondenti *:\* (codificato come *% 3A* nella stringa della query).This command searches collection1 for any documents matching *:\* (encoded as *%3A* in the query string). Il documento JSON seguente è un esempio della risposta:The following JSON document is an example of the response:

         "response": {
             "numFound": 2,
             "start": 0,
             "maxScore": 1,
             "docs": [
               {
                 "id": "SOLR1000",
                 "name": "Solr, the Enterprise Search Server",
                 "manu": "Apache Software Foundation",
                 "cat": [
                   "software",
                   "search"
                 ],
                 "features": [
                   "Advanced Full-Text Search Capabilities using Lucene",
                   "Optimized for High Volume Web Traffic",
                   "Standards Based Open Interfaces - XML and HTTP",
                   "Comprehensive HTML Administration Interfaces",
                   "Scalability - Efficient Replication to other Solr Search Servers",
                   "Flexible and Adaptable with XML configuration and Schema",
                   "Good unicode support: héllo (hello with an accent over the e)"
                 ],
                 "price": 0,
                 "price_c": "0,USD",
                 "popularity": 10,
                 "inStock": true,
                 "incubationdate_dt": "2006-01-17T00:00:00Z",
                 "_version_": 1486960636996878300
               },
               {
                 "id": "3007WFP",
                 "name": "Dell Widescreen UltraSharp 3007WFP",
                 "manu": "Dell, Inc.",
                 "manu_id_s": "dell",
                 "cat": [
                   "electronics and computer1"
                 ],
                 "features": [
                   "30\" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast"
                 ],
                 "includes": "USB cable",
                 "weight": 401.6,
                 "price": 2199,
                 "price_c": "2199,USD",
                 "popularity": 6,
                 "inStock": true,
                 "store": "43.17614,-90.57341",
                 "_version_": 1486960637584081000
               }
             ]
           }
    

Uso del dashboard di SolrUsing the Solr dashboard

Il dashboard di Solr è un'interfaccia utente Web che consente di utilizzare Solr con un Web browser.The Solr dashboard is a web UI that allows you to work with Solr through your web browser. Il dashboard di Solr non viene esposto direttamente su Internet dal cluster HDInsight.The Solr dashboard is not exposed directly on the Internet from your HDInsight cluster. È possibile usare un tunnel SSH per accedere al servizio.You can use an SSH tunnel to access it. Per altre informazioni sull'uso del tunnel SSH, vedere il documento Usare il tunneling SSH per accedere all'interfaccia Web di Ambari, JobHistory, NameNode, Oozie e altre interfacce Web.For more information on using an SSH tunnel, see the Use SSH Tunneling with HDInsight document.

Dopo aver stabilito un tunnel SSH, seguire questa procedura per usare il dashboard di Solr:Once you have established an SSH tunnel, use the following steps to use the Solr dashboard:

  1. Determinare il nome host per il nodo head primario:Determine the host name for the primary headnode:

    1. Usare SSH per connettersi al nodo head del cluster.Use SSH to connect to the cluster head node. Ad esempio, ssh USERNAME@CLUSTERNAME-ssh.azurehdinsight.net.For example, ssh USERNAME@CLUSTERNAME-ssh.azurehdinsight.net.

      Per altre informazioni sull'uso di SSH, vedere Connettersi a HDInsight (Hadoop) con SSH.For more information on using SSH, see the Use SSH with HDInsight.

    2. Utilizzare il comando seguente per ottenere il nome host completo:Use the following command to get the fully qualified hostname:

      hostname -f
      

      Il comando restituisce un valore simile al nome host seguente:This command returns a value similar to the following host name:

        hn0-myhdi-nfebtpfdv1nubcidphpap2eq2b.ex.internal.cloudapp.net
      

      Salvare il valore restituito, poiché verrà usato in un secondo momento.Save the value returned, as it is used later.

  2. Nel browser connettersi a http://NOMEHOST:8983/solr/#/, dove NOMEHOST è il nome stabilito nei passaggi precedenti.In your browser, connect to http://HOSTNAME:8983/solr/#/, where HOSTNAME is the name you determined in the previous steps.

    La richiesta viene instradata attraverso il tunnel SSH all'interfaccia utente Web di Solr nel cluster.The request is routed through the SSH tunnel to the Solr web UI on your cluster. La pagina appare simile alla seguente immagine:The page appears similar to the following image:

    Immagine del dashboard di Solr

  3. Nel riquadro sinistro selezionare collection1 nell'elenco a discesa Core Selector (Selettore base).From the left pane, use the Core Selector drop-down to select collection1. Sotto collection1 dovrebbero essere visualizzate diverse voci.Several entries should them appear below collection1.

  4. Nelle voci elencate sotto collection1 selezionare Query.From the entries below collection1, select Query. Usare i valori seguenti per popolare la pagina di ricerca:Use the following values to populate the search page:

    • Nella casella di testo q immettere *:*.In the q text box, enter *:*. Verranno restituiti dalla query tutti i documenti indicizzati in Solr.This query returns all the documents that are indexed in Solr. Per cercare una stringa specifica nei documenti, è possibile immettere qui la stringa.If you want to search for a specific string within the documents, you can enter that string here.
    • Selezionare il formato di output nella casella di testo wt .In the wt text box, select the output format. Il valore predefinito è json.Default is json.

      Selezionare infine il pulsante Execute Query in basso nella pagina di ricerca.Finally, select the Execute Query button at the bottom of the search pate.

      Usare l'azione script per personalizzare un cluster

      L'output restituisce i due documenti che sono stati aggiunti all'indice in precedenza.The output returns the two documents that you added to the index earlier. L'output è simile al seguente documento JSON:The output is similar to the following JSON document:

        "response": {
            "numFound": 2,
            "start": 0,
            "maxScore": 1,
            "docs": [
              {
                "id": "SOLR1000",
                "name": "Solr, the Enterprise Search Server",
                "manu": "Apache Software Foundation",
                "cat": [
                  "software",
                  "search"
                ],
                "features": [
                  "Advanced Full-Text Search Capabilities using Lucene",
                  "Optimized for High Volume Web Traffic",
                  "Standards Based Open Interfaces - XML and HTTP",
                  "Comprehensive HTML Administration Interfaces",
                  "Scalability - Efficient Replication to other Solr Search Servers",
                  "Flexible and Adaptable with XML configuration and Schema",
                  "Good unicode support: héllo (hello with an accent over the e)"
                ],
                "price": 0,
                "price_c": "0,USD",
                "popularity": 10,
                "inStock": true,
                "incubationdate_dt": "2006-01-17T00:00:00Z",
                "_version_": 1486960636996878300
              },
              {
                "id": "3007WFP",
                "name": "Dell Widescreen UltraSharp 3007WFP",
                "manu": "Dell, Inc.",
                "manu_id_s": "dell",
                "cat": [
                  "electronics and computer1"
                ],
                "features": [
                  "30\" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast"
                ],
                "includes": "USB cable",
                "weight": 401.6,
                "price": 2199,
                "price_c": "2199,USD",
                "popularity": 6,
                "inStock": true,
                "store": "43.17614,-90.57341",
                "_version_": 1486960637584081000
              }
            ]
          }
      

Avviare e arrestare SolrStarting and stopping Solr

Per arrestare o avviare Solr manualmente, usare i comandi seguenti:Use the following commands to manually stop and start Solr:

sudo stop solr
sudo start solr

Eseguire il backup dei dati indicizzatiBackup indexed data

Per eseguire il backup dei dati Solr nell'archivio predefinito per il cluster, seguire questi passaggi:Use the following steps to back up Solr data to the default storage for your cluster:

  1. Connettersi al cluster tramite SSH, quindi usare il comando seguente per ottenere il nome host per il nodo head:Connect to the cluster using SSH, then use the following command to get the host name for the head node:

    hostname -f
    
  2. Per creare uno snapshot dei dati indicizzati, usare il comando seguente.Use the following command to create a snapshot of the indexed data. Sostituire HOSTNAME con il nome restituito dal comando precedente:Replace HOSTNAME with the name returned from the previous command:

    curl http://HOSTNAME:8983/solr/replication?command=backup
    

    La risposta restituita è simile al codice XML seguente:The response is similar to the following XML:

     <?xml version="1.0" encoding="UTF-8"?>
     <response>
       <lst name="responseHeader">
         <int name="status">0</int>
         <int name="QTime">9</int>
       </lst>
       <str name="status">OK</str>
     </response>
    
  3. Passare le directory a /usr/hdp/current/solr/example/solr.Change directories to /usr/hdp/current/solr/example/solr. Per ogni raccolta è presente una sottodirectory.There is a subdirectory here for each collection. Ogni directory di una raccolta contiene una directory data che contiene lo snapshot per la raccolta.Each collection directory contains a data directory that contains the snapshot for the collection.

  4. Per creare un archivio compresso della cartella dello snapshot, usare il comando seguente:To create a compressed archive of the snapshot folder, use the following command:

    tar -zcf snapshot.20150806185338855.tgz snapshot.20150806185338855
    

    Sostituire i valori snapshot.20150806185338855 con il nome dello snapshot per la raccolta.Replace the snapshot.20150806185338855 values with the name of the snapshot for your collection.

    Viene così creato un nuovo archivio denominato snapshot.20150806185338855.tgz che include il contenuto della directory snapshot.20150806185338855.This command creates an archive named snapshot.20150806185338855.tgz, which contains the contents of the snapshot.20150806185338855 directory.

  5. Si potrà quindi inserire l'archivio nella risorsa di archiviazione primaria del cluster usando il comando seguente:You can then store the archive to the cluster's primary storage using the following command:

    hdfs dfs -put snapshot.20150806185338855.tgz /example/data
    

Per altre informazioni sulle operazioni di backup e ripristino di Solr, vedere https://cwiki.apache.org/confluence/display/solr/Making+and+Restoring+Backups.For more information on working with Solr backup and restores, see https://cwiki.apache.org/confluence/display/solr/Making+and+Restoring+Backups.

Passaggi successiviNext steps

  • Installare Giraph in cluster HDInsight.Install Giraph on HDInsight clusters. Usare la personalizzazione cluster per installare Giraph in cluster Hadoop di HDInsight.Use cluster customization to install Giraph on HDInsight Hadoop clusters. Giraph permette di elaborare grafici con Hadoop e può essere usato con Azure HDInsight.Giraph allows you to perform graph processing by using Hadoop, and can be used with Azure HDInsight.

  • Installare Hue nei cluster HDInsight.Install Hue on HDInsight clusters. Usare la personalizzazione dei cluster per installare Hue nei cluster Hadoop di HDInsight.Use cluster customization to install Hue on HDInsight Hadoop clusters. Hue è un insieme di applicazioni Web che consente di interagire con un cluster Hadoop.Hue is a set of Web applications used to interact with a Hadoop cluster.