2017-12-08 6 views
1

クラスタの特定のノードでh2oインスタンスインターフェイスを起動する方法はありますか?たとえば...特定の接続ノードのURLを持つhadoopクラスタでh2oを起動する

コマンドを使用して:

.... 
H2O node 172.18.4.65:54321 reports H2O cluster size 1 
H2O node 172.18.4.66:54321 reports H2O cluster size 1 
H2O node 172.18.4.67:54321 reports H2O cluster size 1 
H2O node 172.18.4.63:54321 reports H2O cluster size 1 
H2O node 172.18.4.63:54321 reports H2O cluster size 4 
H2O node 172.18.4.66:54321 reports H2O cluster size 4 
H2O node 172.18.4.67:54321 reports H2O cluster size 4 
H2O node 172.18.4.65:54321 reports H2O cluster size 4 
H2O cluster (4 nodes) is up 
(Note: Use the -disown option to exit the driver after cluster formation) 

Open H2O Flow in your web browser: http://172.18.4.65:54321 

(Press Ctrl-C to kill the cluster) 
Blocking until the H2O cluster shuts down... 

$ hadoop jar h2odriver.jar -nodes 4 -mapperXmx 6g -output hdfsOutputDir 

H2Oをインストールしたディレクトリと言うから、たとえばノード172.18.4.62で、私は(簡略)出力を得ます

とH2Oのインスタンスに接続したいPythonスクリプトから、私のようなものだろう:に接続するために

h2o.init(ip="172.18.4.65") 

をh2oインスタンスしかし、h2oインスタンス接続がどのアドレスに置かれているかを制御できる方が良いでしょう。

これを行う方法はありますか?この質問は混乱し、間違っていますか?私の全体的な目標は、Pythonスクリプトを定期的に実行させ、h2oクラスタを起動し、そのクラスタを構成してからクラスタをシャットダウンすることです(クラスタに接続するためのアドレスを知ることができないということは、接続するアドレス)。アドバイスをいただければ幸いです。ありがとう。

答えて

0

あなたは以下のようにHadoop上のH2Oクラスタを起動すると:あなたは、コールバックのIPアドレスを見ることができるように

Determining driver host interface for mapper->driver callback... 
    [Possible callback IP address: x.x.x.217] 
    [Possible callback IP address: 127.0.0.1] 
Using mapper->driver callback IP address and port: x.x.x.217:39562 

(You can override these with -driverif and -driverport/-driverportrange.) 

$ hadoop jar h2odriver.jar -nodes 3 -mapperXmx 10g -output /user/test 

あなたは、コマンドが実行された直後に、以下のような出力が得られますhadoopランタイムによって選択されます。したがって、ほとんどの場合、IPアドレスとポートはHadoopの実行時間によって最適なものが選択されます。

hadoopコマンドと一緒に-driverif xxxx -driverport NNNNNを使用するオプションも表示されますが、私はそうではありませんこれが本当に良い選択肢かどうか確かめてください。私はクラスターを起動しているノードIP以外にはテストしていませんが、起動したコマンドのIPアドレスからは動作します。

Open H2O Flow in your web browser: x.x.x.x:54321 

が解析:

は は私の経験に基づいて、Hadoopの上H2Oクラスターを開始するための最も一般的な方法は、Hadoopのクラスタを決定させることです

、彼らは同じように、下のリンクの出力を解析する必要がありますR/Python APIから接続するドライバのIPアドレス/ポートを取得します。

+0

トピックには関係ありませんが、関連性があります:この出力をどのようにキャプチャするのがPythonで行われるのですか? H2oは大量ではなくテキスト行の出力として出力されるブロックプロセスです。これにより、基本的なpython Popenロジック(私はそれらのオブジェクトを頻繁に使用しません)を使用して必要な出力行を得ることが難しくなりました。ありがとう。 – lampShadesDrifter

関連する問題