仮想マシンのHadoopクラスタを自分のLAN上にセットアップするプロセスと、vms (ResourceManager)は、奇妙な動作をしているWeb UIを提供します。すべてのvmsはデスクトップから実行され、ipsに割り当てられています。Webアプリケーション上のLANアプリケーション:curl -Lは他の仮想マシンから動作し、ホスト上のブラウザ/カールは
私がターゲットとしているURLはresourcemanager:8088
であり、ここでの動作です。私のデスクトップ上で実行されている他のVMから
:
curl -v resourcemanager:8088
はLocation: http://resourcemanager:8088/cluster
とHTTP 302 Found
応答を返します。これを見て、これはリダイレクトであるとわかりました。curl -L resourcemanager:8088
は、HTMLを正常に取得します。 VMを実行しているデスクトップから
:
(クローム)のブラウザからURLに到達しようとはnet::ERR_CONNECTION_REFUSED
を与えます。また
curl resourcemanager:8088
はcurl: (7) Failed to connect to resourcemanager port 8088: Connection refused
を返します。
各VMが同じの/ etc/hostsあります
::1 localhost
127.0.0.1 localhost
10.0.0.3 namenode
10.0.0.4 resourcemanager
10.0.0.5 datanode1
をし、私の(Windowsの)デスクトップ上の.../drivers/etc/hosts
ファイルが同じマイナスlocalhost
行を探します。
事項をより複雑にするために、第二の方法(名前ノード)もWeb UIを提供し、namenode:50070
それを呼び出す、と私は、両方のデスクトップと VMSからと私ができるそれcurl
にできています私のデスクトップからブラウザ経由でアクセスしてください。
アイデア?
EDIT
仕様:
デスクトップOS:Windowsの10
VMのOS:アーチLinuxの最新(Linuxカーネル4.5.4)
初期アーチ+ HadoopのVMでしたHyper-Vで作成した後、clonedを実行して、上記の3つの「クラスタ」仮想マシンを作成します。クローン作成後、各VMには一意のホスト名(上記のリスト)が与えられ、ルータから予約されたIPアドレスが割り当てられました。すべてのVMは"external vm switch"を使用します。
VMはどのネットワークタイプを使用していますか?通常、ホストは転送ルールを設定しないかぎり、ネットワーク経由でゲストVMにアクセスすることはできません。 VMネットワークにファイアウォールを設置することを検討してください。現在の設定では他のVM同士が互いに話すことができますが、デスクトップはファイアウォールの反対側にあるコンピュータでも構いません。 – drew010
あなたは "ネットワークタイプ"を意味しますか? Hyper-Vでvmsを作成するときは、最初に「外部仮想スイッチ」を作成しました。また、別の* VM(namenode:50070)上で実行されている別のWebアプリケーションがあり、私はデスクトップブラウザとカール経由で、また他のVMのカール経由でもアクセスできます。私はなぜ2人の間の行動が違うのではないのですか? Webアプリケーションはhadoopフレームワークと一緒に来るので、どうやって/どうやってセットアップが違うのか分かりません。しかし、それは単にハープープ以外のネットワーキングの問題かもしれません – jayflo
そのOSは何か、おそらくiptablesのようなOSファイアウォールですか? – drew010