2014-01-16 6 views
0

원격 (ec2) 포트를 로컬 포트로 전달하여 로컬 브라우저에서 jobtracker를 보려고합니다. amazon ec2 클러스터에서 실행 중입니다. 그러나 원격 포트를 전달할 수 없습니다. 원래 포스터에 따르면창 환경에서 ruby ​​"net/ssh"gem을 사용하여 원격 (ec2) 포트를 로컬 포트로 전달할 수 없습니다.

Net::SSH.start('ec2-23-23-4-229.compute-1.amazonaws.com' ,'hadoop' ,:keys =>"mykeypair.pem",:forward_agent => true) do |ssh| 
    ssh.forward.remote(9033, "localhost",9101,"ec2-23-22-4-249.compute-1.amazonaws.com") 
    ssh.loop { !ssh.forward.active_remotes.include?([9033, "localhost"]) } 
end 
+0

이 직접 귀하의 질문에 대답하지 않지만, 도움이 될 수 있습니다 : 그것은 누군가가 도움이 될 수 있습니다. jobtrackers 웹 페이지를 보려면 ssh를 통해 -D 옵션 (socks 프록시)을 사용하여 연결했습니다. ssh -i ec2key root @ ec2instance -D20000. 그런 다음 내 브라우저 (localhost : 20000)에 양말 프록시를 구성하고 사설 IP를 통해 NameNode/JobTracker 웹 페이지에 연결할 수있었습니다. – facha

+0

해결책을 찾았습니다. 누군가 도움이 될 수 있습니다 : ssh = Net :: SSH.start (dns, 'hadoop', : keys => [src/# {$ parameters_hash [ 'pem_file_name']} '', forward_agent => true) ssh .forward.local (port_available, 'localhost', 9100) – Manohar

답변

0

:

솔루션을 찾을 수

여기 내 코드입니다.

ssh=Net::SSH.start(dns, 'hadoop' ,:keys => ["src/#{$parameters_hash['pem_file_name']}"],:forward_agent => true) 
ssh.forward.local(port_available, 'localhost', 9100)