2017-04-14 1 views
2
  • DC/OS 1.9.0
  • マラソン1.4.2
  • LiquiBaseを3.5.3

私は、MySQLデータベースに対してLiquiBaseを移行を実行短命ドッカコンテナを実装しました。コンテナは、開発中にドッキング・コンポジションを使用して大きく動作しています。しかし、私は生産の準備のためにこのコンテナをDCOSクラスター内に実装しようとしています。DC/OSでロックを取得した後、LiquibaseのMySQLデータベースへの移行がなぜ停止するのですか?(docker-composeで正常に動作しましたか?

Liquibaseが実行されると、正常にロックを取得してからただちに終了します。ここでは、実行の出力は次のようになります。DATABASECHANGELOGLOCKテーブルが正常ので、私はそれがデータベースにアクセスして、テーブルを作成しているの両方を知って作成され

DEBUG 4/14/17 8:06 PM: liquibase: Connected to [email protected]@jdbc:mysql://test-db.marathon.l4lb.thisdcos.directory/myapp 
DEBUG 4/14/17 8:06 PM: liquibase: Setting auto commit to false from true 
DEBUG 4/14/17 8:06 PM: liquibase: Executing QUERY database command: select count(*) from myapp.DATABASECHANGELOGLOCK 
DEBUG 4/14/17 8:06 PM: liquibase: Executing QUERY database command: select count(*) from myapp.DATABASECHANGELOGLOCK 
INFO 4/14/17 8:06 PM: liquibase: Successfully acquired change log lock 
/usr/local/bin/liquibase: line 56: 295 Killed     java -cp "$CP" $JAVA_OPTS liquibase.integration.commandline.Main ${1+"[email protected]"} 

、しかしそれだけで死にます。

実行した後、ロックテーブルは次のようになります。ここでは

MySQL [myapp]> select * from DATABASECHANGELOGLOCK; 
+----+--------+-------------+----------+ 
| ID | LOCKED | LOCKGRANTED | LOCKEDBY | 
+----+--------+-------------+----------+ 
| 1 |  | NULL  | NULL  | 
+----+--------+-------------+----------+ 

が実行されているコマンドです。

liquibase --changeLogFile=base_change_log.xml --driver=com.mysql.jdbc.Driver --url=jdbc:mysql://test-db.marathon.l4lb.thisdcos.directory/myapp --contexts=production --username=root --password=****** --classpath=/opt/jdbc_drivers/mysql-connector-java-5.1.40-bin.jar --logLevel=debug update 

これは、LiquiBaseをbashのファイルの実行コマンドです:

java -cp .:/opt/liquibase/liquibase.jar:/opt/liquibase/lib/snakeyaml-1.17.jar liquibase.integration.commandline.Main --changeLogFile=base_change_log.xml --driver=com.mysql.jdbc.Driver --url=jdbc:mysql://test-db.marathon.l4lb.thisdcos.directory/myapp --contexts=production --username=root --password=****** --classpath=/opt/jdbc_drivers/mysql-connector-java-5.1.40-bin.jar --logLevel=debug update 

私が言ったように、このコンテナは、ドッカーの作成でローカルで正常に動作します。すべてのすべてのdepsがdcosの奴隷の1つにあり、ローカルでliquibaseを実行します。

これをデバッグする方法はありますか?誰でもDCOSクラスタ内でliquibaseの移行を正常に実行しましたか?

+3

また、アプリの定義を表示する必要があります。また、メゾスのログを確認してください。私はあなたがあまりにも小さなメモリを指定したと思うし、コンテナOOMs – Tobi

+1

@トビーあなたは私のヒーローです。私はOOMの問題について考えたことは一度もありませんでしたが、それを128MBから上げることはそのトリックでした。本当にありがとう!私はそれを答えとして提出してください、私はそれをマークします。 – rjbez

+0

OOMをどこで見つけましたか?ログの場所は何ですか?エラーとラインを共有する心ですか?私は感謝します。 –

答えて

1

メゾスのマスターログを確認してください。私はあなたがタスクのOOM殺害に遭遇していると思う。

関連する問題