イベントサービスホストの準備
このページでは、イベントサービスノードをホストするマシンを準備する方法と、その環境に対する全般的な要件について説明します。
ネットワークとポートの設定
コントローラとイベントサービスは、同じローカルネットワーク上に配置されていて、内部ネットワークで通信できる必要があります。互いに関連していても、コントローラと Enterprise Console に関連していても、別のネットワークにあるノードにクラスターをデプロイしないでください。構成でクラスタホストを特定する場合は、そのホストの外部ルーティング対応の DNS 名ではなく、ホストの内部 DNS 名または IP アドレスを使用する必要があります。
たとえば、AWS デプロイメントの場合は、ec2-34-201-129-89.us-west-2.compute.amazonaws.com のようなパブリック DNS ホスト名ではなく、172.31.2.19 のようなプライベート IP アドレスを使用します。
各マシンで、以下のポートで外部(クラスター外)の通信にアクセスできる必要があります。
- イベントサービスAPIストアのポート:9080
- イベントサービスAPIストアの管理ポート:9081
クラスタについては、以下のポートがクラスタ内のマシン間の通信に対してオープンな状態であることを確認します。通常、以下のポートを開くには、各マシンで iptables または OS レベルのファイアウォール ソフトウェアを構成する必要があります。
-
9300 ~ 9400
オペレーティングシステム(OS)のファイアウォールを構成するための iptables コマンドの例を次に示します。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9081 -j ACCEPT
-A INPUT -m state --state NEW -m multiport -p tcp --dports 9300:9400 -j ACCEPTイベントサービスノードでポートがブロックされている場合、そのノードに対するイベントサービスのインストールコマンドは失敗し、Enterprise Console のコマンド出力とログに次のようなエラーメッセージが含まれます。
failed on host: <ip_address> with message: Uri [http://localhost:9080/_ping] is un-pingable.このエラーが発生した場合は、このセクションで示しているポートが他のクラスタノードで利用可能であることを確認します。
パスワード不要のSSHログインの構成
Linux デプロイでは、Enterprise Console を使用してイベントサービスクラスターをデプロイおよび管理します。
Enterprise Console は、埋め込み以外のイベントサービスに対して、パスワード不要の SSH を使用して各クラスタマシンにアクセスできる必要があります。始める前に、以下に説明しているように鍵ベースの SSH アクセスを有効にします。
このセットアップでは、Enterprise Console でキーペアを生成し、クラスタノードで公開鍵を認証キーとして追加することも必要です。以下の手順では、この例のシナリオに合わせた構成手順を示しています。そのため、使用している環境に合わせて手順を調整する必要があります。
AWS で EC2 インスタンスを使用している場合は、以下の手順に従って、EC2 ホストをプロビジョニングする場合に対応できるようにします。そのときに、PEM ファイルが要求され、その PEM ファイルの公開キーがホストの authorized_keys にコピーされます。この場合は、これらの手順をスキップできます。
ホストマシンで以下の手順に従います。
Copying JRE to the remote host failed on host: 172.31.57.204 with message: Failed to upload file: java.net.ConnectException: Connection timed out