web-dev-qa-db-ja.com

Streamparseワードカウントの例

Apache Stormを使用してKafkaからストリーミングしたいと思っていました。 Pythonの方が快適なので、streamparse( https://github.com/Parsely/streamparse )を使用することにしました。単語数の例は、導入例です。私はそれを私のローカルマシンで動作するようにしようとしています。次のバージョンのJDK、leinおよびstormがインストールされています。

 Leiningen 2.6.1 on Java 1.8.0_73 Java HotSpot(TM)64ビットサーバーVM 

Streamparseの後に次の手順を実行します。

スパースクイックスタートワードカウント
 cdワードカウント
スパースラン
 

次のエラーが発生します。

 
中央からorg/Apache/storm/storm-core/0.10.1/storm-core-0.10.1.pomを取得しています
 org/Apache/storm/storm /を取得しています中央からの0.10.1/storm-0.10.1.pom 
中央からのorg/Apache/storm/storm-core/0.10.1/storm-core-0.10.1.jarの取得
成果物com.parsely:streamparse:pom:0.0.4-SNAPSHOTをClojarsから/へ転送しない(https://clojars.org/repo/):Sun.security.validator.ValidatorException:PKIXパスの構築に失敗:Sun.security provider.certpath.SunCertPathBuilderException:リクエストされたターゲットへの有効な証明書パスが見つかりません
成果物clojure-complete:clojure-complete:pom:0.2.4をclojars(https://clojars.org/ repo /):Sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:Sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な証明書パスが見つかりません
依存関係またはネットワークの問題。
プロキシの背後にいる場合は、sを試してください。 「http_proxy」環境変数の設定。
 

私のproject.cljファイルは次のようになります:

 
(defproject wordcount "0.0.1-SNAPSHOT" 
:source-paths ["topologies"] 
:resource-paths ["_resources"] 
:target-path "_build" 
:min-lein-version "2.6.1" 
:jvm-opts ["-client"] 
:dependencies [[ 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 "] 
)

だから、私のレインとストームのコアバージョンは正しく設定されています。どこが間違っているのかわかりません。誰かが私を助けてくれませんか?

-ありがとう

7
red_devil

これは、Javaがルート認証局(CA)のSSL証明書 https://clojars.org/repo を認識していないためです。

解決策は、その証明書をJava cacertsファイルに追加して、永続的に受け入れられるようにすることです。

ステップ1: https://clojars.org のルート証明書を取得する

  1. chromeブラウザで https://clojars.org を開きます。
  2. アドレスバーのすぐ横にあるロック記号を見つけてクリックします。
  3. 詳細を見る
  4. 階層の最上位の証明書をクリックして、ルートCAフレーズで末尾が指定されていることを確認します。
  5. 書かれた証明書を見た画像をデスクトップにドラッグアンドドロップします。

それでおしまい!ルート証明書を取得しました!

手順2:Java cacertsファイルに追加された証明書を取得します。

  1. jre binフォルダー内のkeytool.exeを使用します。
  2. 次のコマンドを実行して、証明書を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

それだ!あなたはあなたの問題を解決しました.

ご注意ください

  1. ステップ2を実行している場所で、このPKIXエラー(KAFKAによって使用されるJRE)を提供しているjreを確認してください。別のjreの問題を試す場合は、そのままです。

  2. JDK内にあるjreを1つだけ使用してください。問題が発生する可能性が低くなります。

23
positivecrux

Debianまたはubuntuを使用している場合は、次のコマンドを実行できます。

$ Sudo update-ca-certificates -f
2
jpalanco