Ошибка Elastic Beanstalk 502 при развертывании файла войны в Tomcat - PullRequest
0 голосов
/ 02 мая 2018

Я развернул файл войны Shopizer в экземпляре Tomcat Elastic Beanstalk. Я настроил базу данных MySQL и, насколько я могу судить, все должно быть правильно. проблема в том, что когда я пытаюсь получить доступ к URL, я получаю ошибку 502. Я знаю, что время ожидания Elastic Beanstalk истекло после 60-х годов, поэтому я увеличил лимит времени ожидания, но проблема все еще остается.

Я заметил это в моем журнале Catalina.out. Я знаю, что это только предупреждение, но может ли это указывать на мою проблему?

2018-05-02 06: 02: 51.220 ПРЕДУПРЕЖДЕНИЕ 3233 --- [-AdminTaskTimer] c.m.v.a.ThreadPoolAsynchronousRunner: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@4446a77 - ВНУТРЕННЯЯ ЗАВЕРШЕНИЕ !!! Полный статус: Управляемых тем: 3 Активные темы: 3 Активные задачи: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@55aa1343 в потоке: C3P0PooledConnectionPoolManager [identityToken-> 1br9tjp9v8puiagh4cnwb | 550ee827] -HelperThread- # 2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@326b931e в потоке: C3P0PooledConnectionPoolManager [identityToken-> 1br9tjp9v8puiagh4cnwb | 550ee827] -HelperThread- # 0 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7fc7b7d9 в потоке: C3P0PooledConnectionPoolManager [identityToken-> 1br9tjp9v8puiagh4cnwb | 550ee827] -HelperThread- # 1 Задачи в ожидании: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@591e9ef6 Следы стека потоков пула: Тема [C3P0PooledConnectionPoolManager [identityToken-> 1br9tjp9v8puiagh4cnwb | 550ee827] -HelperThread- # 2,5, главный] java.net.PlainSocketImpl.socketConnect (собственный метод) java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:350) java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:206) java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:188) java.net.SocksSocketImpl.connect (SocksSocketImpl.java:392) java.net.Socket.connect (Socket.java:589) com.mysql.cj.core.io.StandardSocketFactory.connect (StandardSocketFactory.java:202) com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect (MysqlaSocketConnection.java:57) com.mysql.cj.mysqla.MysqlaSession.connect (MysqlaSession.java:122) com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries (ConnectionImpl.java:1619) com.mysql.cj.jdbc.ConnectionImpl.createNewIO (ConnectionImpl.java:1601) com.mysql.cj.jdbc.ConnectionImpl. (ConnectionImpl.java:633) com.mysql.cj.jdbc.ConnectionImpl.getInstance (ConnectionImpl.java:347) com.mysql.cj.jdbc.NonRegisteringDriver.connect (NonRegisteringDriver.java:219) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection (DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire (BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess (BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access $ 700 (BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run (BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run (ThreadPoolAsynchronousRunner.java:696) Тема [C3P0PooledConnectionPoolManager [identityToken-> 1br9tjp9v8puiagh4cnwb | 550ee827] -HelperThread- # 0,5, главный]java.net.PlainSocketImpl.socketConnect (собственный метод) java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:350) java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:206) java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:188) java.net.SocksSocketImpl.connect (SocksSocketImpl.java:392) java.net.Socket.connect (Socket.java:589) com.mysql.cj.core.io.StandardSocketFactory.connect (StandardSocketFactory.java:202) com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect (MysqlaSocketConnection.java:57) com.mysql.cj.mysqla.MysqlaSession.connect (MysqlaSession.java:122) com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries (ConnectionImpl.java:1619) com.mysql.cj.jdbc.ConnectionImpl.createNewIO (ConnectionImpl.java:1601) com.mysql.cj.jdbc.ConnectionImpl. (ConnectionImpl.java:633) com.mysql.cj.jdbc.ConnectionImpl.getInstance (ConnectionImpl.java:347) com.mysql.cj.jdbc.NonRegisteringDriver.connect (NonRegisteringDriver.java:219) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection (DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire (BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess (BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access $ 700 (BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run (BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run (ThreadPoolAsynchronousRunner.java:696) Тема [C3P0PooledConnectionPoolManager [identityToken-> 1br9tjp9v8puiagh4cnwb | 550ee827] -HelperThread- # 1,5, главный] java.net.PlainSocketImpl.socketConnect (собственный метод) java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:350) java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:206) java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:188) java.net.SocksSocketImpl.connect (SocksSocketImpl.java:392) java.net.Socket.connect (Socket.java:589) com.mysql.cj.core.io.StandardSocketFactory.connect (StandardSocketFactory.java:202) com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect (MysqlaSocketConnection.java:57) com.mysql.cj.mysqla.MysqlaSession.connect (MysqlaSession.java:122) com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries (ConnectionImpl.java:1619) com.mysql.cj.jdbc.ConnectionImpl.createNewIO (ConnectionImpl.java:1601) com.mysql.cj.jdbc.ConnectionImpl. (ConnectionImpl.java:633) com.mysql.cj.jdbc.ConnectionImpl.getInstance (ConnectionImpl.java:347) com.mysql.cj.jdbc.NonRegisteringDriver.connect (NonRegisteringDriver.java:219) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection (DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:203)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire (BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess (BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access $ 700 (BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run (BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run (ThreadPoolAsynchronousRunner.java:696)

2018-05-02 06: 03: 51.222 ПРЕДУПРЕЖДЕНИЕ 3233 --- [-AdminTaskTimer] cmvaThreadPoolAsynchronousRunner: задача com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@55aa1343 (в заблокированном времени PoolThread не удалось завершить в течение максимального времени) 60000ms. Попытка прерывания (). 2018-05-02 06: 03: 51.222 ПРЕДУПРЕЖДЕНИЕ 3233 --- [-AdminTaskTimer] c.m.v.a.ThreadPoolAsynchronousRunner: Задача com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@326b931e (в течение заблокированного времени 600 завершено сбоем до 60000). Попытка прерывания (). 2018-05-02 06: 03: 51.222 ПРЕДУПРЕЖДЕНИЕ 3233 --- [-AdminTaskTimer] c.m.v.a.ThreadPoolAsynchronousRunner: Задача com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7fc7b7d9 (в случае тупиковой привязки из-за сбоя 600 с недопустимым значением в 600 недопустимо до 600 с ошибками) Попытка прерывания ().

1 Ответ

0 голосов
/ 04 мая 2018

Я запутался в нескольких шагах и не смотрел, что помогло, а что нет. Если я получу возможность пройти через это и оказать более конкретную помощь, я буду, но пока, вот что я сделал.

  • В sm-shop/src/main/resources/application.properties добавить:

    server.port = 5000

  • Начните с создания базы данных. Вам понадобятся данные для файла database.properties. Я создал MySQL Aurora DB.

  • Добавить свойства базы данных в sm-shop/src/main/resources/database.properties.
  • В AWS создайте приложение и среду Elastic Beanstalk. Я пошел с Tomcat, поэтому мне пришлось создать файл войны, который я развернул в среде.
  • В Configuration> Software установите следующее:

    Initial JVM heap size (Xms) = 1024m Max JVM heap size (Xmx) = 1024m XX:MaxPermSize = 256m

  • Добавьте следующие свойства среды:

    HIBERNATE_DIALECT = org.hibernate.dialect.MySQLDialect JDBC_CONNECTION_STRING = jdbc:mysql://mydb.ptmjbhdur9pw.eu-west-2.rds.amazonaws.com:3306/SALESMANAGER?user=username&password=password&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&&driverClass=com.mysql.cj.jdbc.Driver SERVER_PORT = 5000

  • В конфигурации> Изменить экземпляры:

    Instance type = (at least)m1.small Группы безопасности EC2 - здесь отмечена группа безопасности базы данных.

  • В конфигурации> Изменить емкость: Тип среды = Балансировка нагрузки
  • В разделе «Настройка»> «Балансировщик нагрузки» добавьте следующий слушатель:

    Port = 8080 Protocol = HTTP Instance Port = 8080 Instance Protocol = HTTP

Когда все это было сделано, и я запустил приложение без каких-либо явных проблем с AWS, приложение не загрузилось, поэтому я проверил журнал Catalina. Она показала ту же ошибку, что и в https://groups.google.com/forum/#!searchin/shopizer/ru%7Csort:date/shopizer/hQjqp_5UswI/goVKf5BTCQAJ, поэтому я внес это изменение. Приложение теперь загружается.

Надеюсь, это сэкономит кому-то время (и горе).

...