Esempio di wordpoint streamparse

Volevo usare Apache Storm per lo streaming da Kafka. Sono più a mio agio con Python, quindi ho deciso di usare streamparse ( https://github.com/Parsely/streamparse ). L’esempio di conteggio delle parole è l’esempio introduttivo. Ho cercato di farlo funzionare sulla mia macchina locale. Ho la seguente versione di JDK, lein e storm installati:

 Leiningen 2.6.1 su Java 1.8.0_73 Java HotSpot (TM) Server VM a 64 bit

Eseguo i seguenti passaggi dopo aver seguito streamparse:

 Wordcount di avvio rapido sparse
 conto alla rovescia
 corsa sparsa

Ottengo il seguente errore:


 Recupero di org / apache / storm / storm-core / 0.10.1 / storm-core-0.10.1.pom dal centro Recupero di org / apache / storm / storm / 0.10.1 / storm-0.10.1.pom dal centro Recupero dell'org /apache/storm/storm-core/0.10.1/storm-core-0.10.1.jar dal centro Non è stato ansible trasferire artefatto com.parsely: streamparse: pom: 0.0.4-SNAPSHOT da / a clojars (https: // clojars.org/repo/): sun.security.validator.ValidatorException: Creazione del percorso PKIX non riuscita: sun.security.provider.certpath.SunCertPathBuilderException: imansible trovare il percorso di certificazione valido per la destinazione richiesta Imansible trasferire artefatto clojure-complete: clojure- complete: pom: 0.2.4 da / a clojars (https://clojars.org/repo/): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: imansible trovare percorso di certificazione valido per l'objective richiesto Ciò potrebbe essere dovuto a un errore di battitura: dipendenze o problemi di rete.  Se sei dietro un proxy, prova a impostare la variabile d'ambiente 'http_proxy'. 

Il mio file project.clj si legge così:


     (defproject wordcount "0.0.1-SNAPSHOT"
       : source-paths ["topologie"]
       : percorsi-risorse ["_risorse"]
       : percorso di destinazione "_build"
       : versione min-lein "2.6.1"
       : jvm-opts ["-client"]
       : dipendenze [[org.apache.storm / storm-core "0.10.1"]
                   [com.parsely / streamparse "0.0.4-SNAPSHOT"]
                   ]
       : jar-exclusions [# "log4j \ .properties" # "backtype" # "trident" # "META-INF" # "meta-inf" # "\. yaml"]
       : uberjar-exclusions [# "log4j \ .properties" # "backtype" # "trident" # "META-INF" # "meta-inf" # "\. yaml"]
   )

Quindi, le mie versioni core lein e storm sono impostate correttamente. Non sono sicuro di dove sto andando male. Qualcuno potrebbe aiutarmi?

-Grazie

Ciò è dovuto al fatto che java non riconosce il certificato SSL dell’autorità di certificazione principale (CA) di https://clojars.org/repo .

La soluzione è aggiungere quel certificato al file java cacerts in modo che sia definitivamente accettato.

Passaggio 1: ottenere il certificato di origine di https://clojars.org

  1. Apri https://clojars.org in un browser Chrome.
  2. individuare il simbolo di blocco proprio accanto alla barra degli indirizzi e fare clic su di esso.
  3. Visualizza dettagli
  4. Fare clic sulla maggior parte dei certificati sulla gerarchia e confermare che sia associato alla frase Root CA.
  5. trascina e rilascia l’immagine che hai visto certificato scritto sul desktop.

Questo è tutto! hai il tuo certificato di base!

Passaggio 2: Ottieni il certificato aggiunto al file java cacerts.

  1. usa keytool.exe nella tua cartella jre bin.
  2. triggersre il comando seguente per inserire il certificato nel file cacerts

keytool -import -noprompt -trustcacerts -alias ALIASNAME -file /PATH/TO/YOUR/DESKTOP/CertificateName.cer -keystore / PATH / TO / YOUR / JDK / jre / lib / security / cacerts -storepass changeit

È così! hai risolto il problema.

NOTARE CHE

  1. Conferma che il jre che ti dà questo errore PKIX (JRE usato da KAFKA) è dove stai eseguendo lo STEP 2. Se provassi con un altro problema di jre, sarebbe come è.

  2. Usa solo una jre che si trova all’interno di JDK diminuisce la possibilità di avere problemi.

Se stai usando debian o ubuntu puoi eseguire:

$ sudo update-ca-certificates -f