※この記事は次のブログを翻訳したものになります。2.0Elasticsearchをローカルのマシンで起動します。すると、悲しそうな叫びを同僚が発していることに気づき、なぜそんなことになっているのか不思議に思うでしょう。Elasticsearchはいつも、親しみやすいものでした。ローカルのマシンでいくつかのElasticsearchのインスタンスを起動するだけでした。起動したインスタンスはマルチキャストを利用して自動的にお互いを見つけて、1つのクラスタになり、負荷を共有し始めます。これは親しみやすすぎました。カンファレンスなどで、ローカルのマシンでElasticsearchを起動してみてください。すると100ノードのクラスタに参加しているのがすぐにわかるでしょう。リリースされる、2.0.0-beta1では、Elasticsearchが通信先を選択するネットワークの機能に関する変更があります。これまで通り、簡単に開発者が経験できる機能も残っています。localhostへのバインド以前、Elasticsearchはデフォルトで、利用可能なネットワークインタフェース全てにバインドしていました。そこから、一番適したインタフェースをpublish_hostとして選択しようとします。このアドレスはElasticsearchがクラスタの他のノードとやりとりするためのアドレスです。2.0では、デフォルトでは、localhostにのみバインドします。127.0.0.1(IPv4)と[::1](IPv6)の両方にバインドしようとします。どちらかのみの環境でも動作します。この変更は、特に指定がない限り、Elasticsearchがネットワーク上の他のノードと接続しません。本番環境に移行する場合は、network.hostパラメータを使って設定しましょう。設定は、elasticsearch.ymlに記述するか、コマンドラインで指定します。settingsのドキュメントをごらんください。1.xはネットワークの他のノードに接続・探索するためにマルチキャストを使用しました。マルチキャストは魔法のような挙動です。残念ながら、マルチキャストのサポートは良くも悪くもあります。Linuxはローカルホストでマルチキャストの待ち受けをしていません。OS/Xは構成されたアドレスの全てのインタフェースにマルチキャストで配信できます。ネットワークによってはマルチキャストはデフォルトでは使用できなくなっています。2.0は異なるアプローチを採用しました。マルチキャストを廃止します(ただし、新たにプラグインとして提供します)。代わりに、ローカルホストでは、Elasticsearchはtransport.tcp.portで指定されている範囲(デフォルトは9300-9400)の最初の5ポートに対してユニキャストを使用できるようにします。これは、開発者のための、設定することなく自動的にクラスタを組むという機能を残しています。hostsで次のようにリストを指定する必要があります。hostsとしてクラスタにあるノードの全てのリストを指定する必要はありません。少なくとも、マスタノードとして選出されるべきものを指定します。hostsとして設定することを推奨しています。これにより、開発の知識・経験が、私たちの推奨する本番でのネットワーク設定に、より近いものとなります。最後に、inet[/127.0.0.1:9200]といったシンタックスを廃止します。APIなどで、使用していたIPアドレスのためのシンタックスです。今は、RFCに準拠した形で表示します。127.0.0.1:9200(IPv4)や[::1]:9200(IPv6)のようにです。質問がある場合は、ElasticsearchのWebフォーラムで質問してください。ベータはもうすぐです!(翻訳した時点で、すでにベータリリースされています。