私のクラスタCDH5.4には、プライベートネットワークとパブリックネットワーク上にあるゲートウェイノードがあります。クラスタはプライベートネットワーク上にあります。 公共ネットワーク上にあるデータベースサーバーからデータを取得するためにsqoopを使用したいと思います。私は、マップタスクがデータノードがプライベートネットワークを超えてアクセスできるようにするにはどうすればよいですか?
Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Unknown host specified
を失敗するコマンドを発行するとき、私は、クラスタノードは、パブリックネットワーク上のDBサーバにアクセスできないことを理解しています。
このパブリックプライベートネットワークアーキテクチャは業界ではよく使用されているため、パブリックネットワーク上のサーバーにデータノードをアクセスさせる正しい方法は何ですか?
すべてのヘルプは非常に高く評価され....
ゲートウェイノード
$>route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.248.200.0 * 255.255.255.0 U 0 0 0 bond_internal
192.168.196.0 * 255.255.252.0 U 0 0 0 bond_external
link-local * 255.255.0.0 U 1007 0 0 bond_external
link-local * 255.255.0.0 U 1008 0 0 bond_internal
default 192.168.196.1 0.0.0.0 UG 0 0 0 bond_external
データノード
$>route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.248.200.0 * 255.255.255.0 U 0 0 0 bond0
link-local * 255.255.0.0 U 1008 0 0 bond0
(再起動後に古い値に戻って変更されます)、あなたが実行することができ、一時的に前方
on
のIPを設定するためにの値を変更する必要がありますゲートウェイノードを介したプロキシまたはSentryを使用 –
ハーフープの問題ではありませんが、ネットワークルーティングの問題のようです。 sqoopを実行しているノードのルーティングテーブルを追加できますか? 'route -v'を使用してください。 – ViKiG
@vkgade - ご返信ありがとうございます。ルーティングテーブルの情報を追加しました。 – scott