masayuki14 / worklog

Record working log by issues.
MIT License
0 stars 0 forks source link

embluk on dokcer runs with RDS #12

Closed masayuki14 closed 6 years ago

masayuki14 commented 6 years ago

MacのDocker環境からRDSにつないでEmblukでデータを入れたい。

masayuki14 commented 6 years ago

こんてなからホストにsshする。

# ip route
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0  proto kernel  scope link  src 172.17.0.2

でホストのIPは 172.17.0.1 だというのに接続できない。

masayuki14 commented 6 years ago

ローカルIPである 192.168.10.7 で指定するとつながった。 謎だ。 bridge ネットワークになってるからつながるということなんだろうか。

masayuki14 commented 6 years ago
$  ssh morisaki@192.168.10.7 -L 5432:localhost:5432 -f -N

-f : バックグラウンドで実行 -N : 実行コマンドなし

これでバックグラウンドsshがつながってポートフォワードされる

masayuki14 commented 6 years ago
# embulk run config.yml
2018-05-15 02:43:02.772 +0000: Embulk v0.9.7
2018-05-15 02:43:03.297 +0000 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected.
2018-05-15 02:43:04.876 +0000 [INFO] (main): Gem's home and path are set by default: "/root/.embulk/lib/gems"
2018-05-15 02:43:05.618 +0000 [INFO] (main): Started Embulk v0.9.7
2018-05-15 02:43:05.682 +0000 [INFO] (0001:transaction): Loaded plugin embulk-output-postgresql (0.8.0)
2018-05-15 02:43:05.732 +0000 [INFO] (0001:transaction): Loaded plugin embulk-parser-jsonl (0.2.0)

...

動いた。 pgAdminでテーブル確認したら、一時テーブルできてるので、これでDockerのままでデータ投入できそうだぜ。

masayuki14 commented 6 years ago

create table してやれば embulk でデータ入れられるのを確認。Yelpも同じようにいけそう。

masayuki14 commented 6 years ago

yelpのテーブルは、定義書のやつだと column s._internal_id does not exist ってエラーがでる。

masayuki14 commented 6 years ago

postgres のコンテナだとssh使えない $ apt-get install openssh-client で入れる必要あり

masayuki14 commented 6 years ago

テーブル解決したけど、先にトリガー登録せんとあかんやったなー。