IP:port
をリッスンするプロセスがあります-実際には、ソケットに接続するsparkストリーミングです。問題は、何らかの方法で=に接続するサーバーを作成することです。 spark 1つのポートで、データは別のポートからこのサーバーにストリーミングされます。
たとえば、sparkストリーミングの例では、netcatユーティリティ(たとえば、nc -lk 5005
)を使用していますが、着信メッセージをリッスンしてからメッセージを吐き出す別のサービスがあります。サービスAからのメッセージを聞いてスパークに渡すことができるある種のサーバーが必要です。
私のサービスAはソケットに依存しています。そして、私のsparkコンシューマはソケットに依存しています。
これが私がこれまでに行ったことはポートからポートへの転送ですが、これはうまくいかないようです:
nc -X 4 -x 127.0.0.1:5005 localhost 5006
サービスA:5005
->ソケット-> 5006
-> Spark
私はこの仕事をする正しい方法を見つけることができないようです。
いくつかの回答は次のことを示唆しています:
socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006
私のsparkソケットレシーバーが接続しない、または接続できないようです。次のエラーが表示されます:Error connecting to 127.0.0.1:5006 - Java.net.ConnectException: Connection refused
フォワードトラフィックにnc
のみを使用することはできません。nc
はkeep-alive
またはfork
モードを持っていません
代わりに別のツールを使用する必要がありますnc
;たとえば、socat
またはncat
を使用します
このコマンドはポート5050
でリッスンし、すべてをポート2020
に転送します
socat tcp-l:5050,fork,reuseaddr tcp:127.0.0.1:2020
ncat
続きを読むNcatは、コマンドラインからネットワークを介してデータを読み書きする機能満載のネットワーキングユーティリティです。 Ncatは、由緒あるNetcatの大幅に改善された再実装としてNmap Project用に作成されました。
ncat -l localhost 8080 --sh-exec "ncat example.org 80"
そして、あなたは別のツールを使うことができます:
ポート1234をリッスンし、アドレス "1.1.1.1"のポート4567に転送します
./proxy tcp -p ":1234" -T tcp -P "1.1.1.1:4567"
ポート1234でリッスンし、アドレス "1.1.1.1"のポート4567に転送します source
./gost -L tcp://:1234/1.1.1.1:4567