ElasticsearchはDockerで実行されません -- java フィールド と None フィールド と docker フィールド と docker-compose フィールド と None フィールド 関連 問題

Elasticsearch won't run with Docker












1
vote

問題

日本語

elasticsearchと統合されたコードをいくつか書きました、そしてESが私のコンピュータ上で実行されていたときそれは流暢に機能しました。ただし、Dockerを介してESを実行しようとしたとき、私は再びこのエラーをもう一度入手し続けます:

<事前> <コード> org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{hrmyFR97S_qMsPEsOOEFjw}{localhost}{127.0.0.1:9300}]

これは私がクライアントの初期化方法です:

<事前> <コード> Settings settings = Settings.builder() .put("cluster.name", "elasticsearch123") .build(); Client client = new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));

そしてこれが私のdocker-composeファイルのようなものです:

<事前> <コード> version: '2' services: elastic3: image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0 environment: - cluster.name=elasticsearch123 - bootstrap.memory_lock=true - transport.host=127.0.0.1 - xpack.security.enabled=false - http.host=0.0.0.0 - network.host=127.0.0.1 ports: - "9200:9200" - "9300:9300" volumes: - /usr/share/elasticsearch/data

そしてここに私の依存関係はあります:

<事前> <コード> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.5.3.RELEASE</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>5.4.0</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.4.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.7</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.7</version> </dependency> </dependencies>`

任意のアイデア?私は本当に残っていない!

英語

I wrote some code that integrates with Elasticsearch, and it worked fluently when ES was running on my computer. However, when I tried to run ES through Docker I keep getting this error again and again:

org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{hrmyFR97S_qMsPEsOOEFjw}{localhost}{127.0.0.1:9300}] 

This is how I initialize the client:

Settings settings = Settings.builder()                 .put("cluster.name", "elasticsearch123")                 .build();   Client client = new PreBuiltTransportClient(settings)                     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 

And this is what my docker-compose file looks like:

version: '2'  services:       elastic3:         image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0         environment:           - cluster.name=elasticsearch123           - bootstrap.memory_lock=true           - transport.host=127.0.0.1           - xpack.security.enabled=false           - http.host=0.0.0.0           - network.host=127.0.0.1          ports:           - "9200:9200"           - "9300:9300"         volumes:          - /usr/share/elasticsearch/data 

And here are my dependencies:

<dependencies>     <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-web</artifactId>         <version>1.5.3.RELEASE</version>     </dependency>      <dependency>         <groupId>org.elasticsearch</groupId>         <artifactId>elasticsearch</artifactId>         <version>5.4.0</version>     </dependency>      <dependency>         <groupId>org.elasticsearch.client</groupId>         <artifactId>transport</artifactId>         <version>5.4.0</version>     </dependency>      <dependency>         <groupId>org.apache.logging.log4j</groupId>         <artifactId>log4j-api</artifactId>         <version>2.7</version>     </dependency>     <dependency>         <groupId>org.apache.logging.log4j</groupId>         <artifactId>log4j-core</artifactId>         <version>2.7</version>     </dependency>  </dependencies>` 

Any ideas? I really have no ideas left!

</div
              
 
 

回答リスト

0
 
vote

私は誤ったネットワーク構成についてのすべてです。 <コード> 99887664 の<コード> host Insteedを使用するためのネットワーク操作モードとAjustを確認してください。さらに、すべてのポートがボックスから公開されるようになっているため、[エキスパス]プロットを「エキスパンド」する必要はありません。 DockerコンテナがVirtual OneのVirtial Interface Instement Instance Instance Instanceをバインドするためです。

チェック<コード> Network settings

のセクション

https://docs.docker.com/engine/reference/実行/#コンテナ識別

<コード> compose を使用しているように、適切な設定オプション

があります。

https://docs.docker.com/compose/compose-file/ #networkmode

 

I bet it is all about wrong network configuration. Check network operation modes and ajust to use host insteed of default bridge. Moreover you will not need to "expose" prots as all ports will be exposed out of the box. It is because docker container will bind directy you hots's interface insteed of virtual one.

Check Network settings section in

https://docs.docker.com/engine/reference/run/#container-identification

As you are using compose here you have proper config option

https://docs.docker.com/compose/compose-file/#networkmode

</div
 
 

関連する質問

0  Elasticsearchを使用して1つの文字列に数十万の部分文字を効率的に一致させる方法[閉じる]  ( How to efficiently match hundred thousands of substring in one string using elas ) 
閉鎖。この質問はもっと焦点を絞ったにする必要があります。現在答えを受け付けていません。 この質問を改善したいですか?このPOST...

1  Androidマップv2オファープレイサービス  ( Android maps v2 offer play service ) 
Sucessfull Working Android Maps API V2を持っていますが、Google Playサービスを持っていない場合はテストしようとしました。 だから私はGoogle Playサービスをアンインストールし、私のアプリケーションは今...

2  名前でテンプレートをレンダリングする方法?  ( How to render a template by name ) 
私はServiceStack 自己ホストアプリと新しいAPIを登場してください。 同じ名前の2つのビューを別々のフォルダに追加すると、起動時にエラーが発生します。これは許可されていませんか? <事前> <コード> Foo Index.cshtml Bar...

88  あなたのアプリのマニフェストにGoogle Play Servicesのバージョンを追加しますか?  ( Adding google play services version to your apps manifest ) 
私はこのチュートリアルを続けています: https://developers.google.com / MAPS /ドキュメント/ Android / Start#概要 Android SDK内のアプリにGoogleマップを追加する方法について。 唯一の問題...

28  Elasticsearch Indexを消去する方法  ( How to erase elasticsearch index ) 
My ユニット/統合テスト検索機能のテストを含みます。 私の考えは各テストの前に空の検索インデックスを持つことです。そのため、 setup メソッド(Groovy Code)の索引内のすべての要素を削除しようとしています。 <事前> <コード> Clien...

2  ServiceStack.DataAnnotations属性の定義がありませんか?  ( Servicestack dataannotations missing attributes definitions ) 
Servicestack.DataAnnotationsからServiceStackの属性デコレータを使用しようとしていますが、MSVSオブジェクトブラウザでServicestack.DataAnkotationsネームスペースを表示すると、次の種類がありま...

0  EclipseのGoogle Play Services Libの赤いマーク  ( Red mark over google play services lib in eclipse ) 
私はSerevalガイドを追跡し、ライブラリフォルダを私のワークスペースにコピーしてからEclipseにインポートした後、Dozenの回数を掃除し、まだこれを続けることができない赤い感嘆符があります。あなたが見ることができるように、binフォルダには.jarが...

4  融合場所は時々停止します  ( Fused location sometimes stops ) 
私はユーザーの位置を追跡するアプリに取り組んできました。このために私はGoogle Play Servicesの場所モジュール(A.K.A.融合場所)を使用しました。すべてがすべてうまく機能します。 しかし、時々、完全にランダムな、私はもはやGoogleのロ...

2  AndroidアプリDaily **アンインストール**、開発者コンソールから計算されていますか?  ( Android app daily uninstalls how is it calculated from developer console ) 
Android開発者コンソールを毎日アンインストールする方法についての考えは? 私のハンチ - gcm ping障害 バックパッケージを除去できるGoogle Playサービスを削除した放送受信機 幅広で非些細な建築ポインターは大幅に感謝されていま...

0  ServiceStack AutoQuery機能を使用すると、WSDLに失敗したエラーの自動発生が発生します。  ( Using servicestack autoquery feature causes autogeneration of wsdl failed error ) 
ServiceStackでAutoQuery機能を有効にすると、<コード> Autogeneration of WSDL failed エラーが発生します。 以下の例外が表示されます。 <コード> System.Runtime.Serialization....




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有