forum.bitel.ru
http://forum.bitel.ru/

Выбираем биллинг. Проблеммы с установкой
http://forum.bitel.ru/viewtopic.php?f=22&t=1277
Страница 1 из 1

Автор:  FroStAlieN [ 04 июл 2008, 11:24 ]
Заголовок сообщения:  Выбираем биллинг. Проблеммы с установкой

Доброе время суток. Устанавливая bgbilling столкнулся с проблеммой. Все поинструкции. Система SLES 10 и Sp1 и sp2 и с апдейтами и без, результат одинаков везде. Все по инструкции ни шага в сторону. версия билинга последняя. ./bg_install.sh update говорит что мол все последнее. После создания сервисов bgbilling bgscheduler и bgdataloader сервисы тут же падают. в server.out следущее:
Код:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.util.SetupData.init(SetupData.java:48)
   at bitel.billing.server.util.SetupData.<init>(SetupData.java:30)
   at bitel.billing.server.util.SetupData.<init>(SetupData.java:24)
   at bitel.billing.server.Server.<clinit>(Server.java:49)


** END NESTED EXCEPTION **



Last packet sent to the server was 31 ms ago.
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2707)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.util.SetupData.init(SetupData.java:48)
   at bitel.billing.server.util.SetupData.<init>(SetupData.java:30)
   at bitel.billing.server.util.SetupData.<init>(SetupData.java:24)
   at bitel.billing.server.Server.<clinit>(Server.java:49)
java.lang.NullPointerException
   at bitel.billing.server.util.DefaultServerSetup.loadModuleSetup(DefaultServerSetup.java:36)
   at bitel.billing.server.util.SetupData.init(SetupData.java:49)
   at bitel.billing.server.util.SetupData.<init>(SetupData.java:30)
   at bitel.billing.server.util.SetupData.<init>(SetupData.java:24)
   at bitel.billing.server.Server.<clinit>(Server.java:49)
Returning NULL to pool!!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.Server.getModules(Server.java:331)
   at bitel.billing.server.Server.addModuleServlets(Server.java:289)
   at bitel.billing.server.Server.<init>(Server.java:99)
   at bitel.billing.server.Server.main(Server.java:384)


** END NESTED EXCEPTION **



Last packet sent to the server was 1 ms ago.
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2707)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.Server.getModules(Server.java:331)
   at bitel.billing.server.Server.addModuleServlets(Server.java:289)
   at bitel.billing.server.Server.<init>(Server.java:99)
   at bitel.billing.server.Server.main(Server.java:384)
java.lang.NullPointerException
   at bitel.billing.server.Server.getModules(Server.java:338)
   at bitel.billing.server.Server.addModuleServlets(Server.java:289)
   at bitel.billing.server.Server.<init>(Server.java:99)
   at bitel.billing.server.Server.main(Server.java:384)
Returning NULL to pool!!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.Server.initPlugins(Server.java:256)
   at bitel.billing.server.Server.<init>(Server.java:102)
   at bitel.billing.server.Server.main(Server.java:384)


** END NESTED EXCEPTION **



Last packet sent to the server was 0 ms ago.
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2707)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.Server.initPlugins(Server.java:256)
   at bitel.billing.server.Server.<init>(Server.java:102)
   at bitel.billing.server.Server.main(Server.java:384)
java.lang.NullPointerException
   at bitel.billing.server.Server.initPlugins(Server.java:265)
   at bitel.billing.server.Server.<init>(Server.java:102)
   at bitel.billing.server.Server.main(Server.java:384)
Returning NULL to pool!!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:130)


** END NESTED EXCEPTION **



Last packet sent to the server was 0 ms ago.
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2707)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:130)
java.lang.NullPointerException
   at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:135)
Returning NULL to pool!!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.script.bean.event.SystemEventManager.run(SystemEventManager.java:31)


** END NESTED EXCEPTION **



Last packet sent to the server was 1 ms ago.
   at com.mysql.jdbc.Connection.createNewIO(Connection.java:2707)
   at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
   at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
   at bitel.billing.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:111)
   at bitel.billing.server.script.bean.event.SystemEventManager.run(SystemEventManager.java:31)
Jul 4, 2008 4:51:07 PM org.apache.catalina.startup.Embedded start
INFO: Starting tomcat server
java.lang.NullPointerException
   at bitel.billing.server.contract.bean.TariffChangeTaskManager.getReadyTaskList(TariffChangeTaskManager.java:79)
   at bitel.billing.server.script.bean.event.SystemEventManager.changeTariffEvents(SystemEventManager.java:72)
   at bitel.billing.server.script.bean.event.SystemEventManager.run(SystemEventManager.java:36)
Returning NULL to pool!!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

И так далее. там такого еще много. Mysql запущен. Под пользователем билинга пускает в базу все в порядке.
Подскажите куда копать пожалуйста.
P.S. и только что заметил такой глючок. Если после загрузки из под рута сделать /etc/init.d/bgbilling stop и тут же start то все начинает замечательно работать

Автор:  Amir [ 04 июл 2008, 12:04 ]
Заголовок сообщения: 

Сервис mysql запускается перед сервисами биллинга?

Автор:  FroStAlieN [ 04 июл 2008, 12:23 ]
Заголовок сообщения: 

по идее да. Т.е. у линк запуска mysql @S11 а у bgbilling и т.д. @S99

Автор:  Amir [ 04 июл 2008, 16:17 ]
Заголовок сообщения: 

Попробуйте добавить ожидание mysql перед запуском биллинга
в скриптах запуска в init.d/ (bgbilling, bgdataloader, bgscheduler)
добавьте ф-цию
Код:
checkmysql() {
ret=0
# Spin for a maximum of N seconds waiting for the server to come up.
# Rather than assuming we know a valid username, accept an "access
# denied" response as meaning the server is functioning.
STARTTIMEOUT=30
while [ $STARTTIMEOUT -gt 0 ]; do
    RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break
    echo "$RESPONSE" | grep -q "Error checking mysql: access denied for user" && break
    sleep 1
    let STARTTIMEOUT=${STARTTIMEOUT}-1
done

if [ $STARTTIMEOUT -eq 0 ]; then
    ret=1
    echo "Error checking mysql: timeout error occurred."
fi
........................................................................................................
return $ret;....................................................................................................
}

и вызывайте ее при старте
Код:
case "$1" in
        start)
                checkmysql
                $SERVER_HOME/server_start.sh
        ;;
...

Автор:  snark [ 04 июл 2008, 17:02 ]
Заголовок сообщения: 

Amir писал(а):
Попробуйте добавить ожидание mysql перед запуском биллинга
в скриптах запуска в init.d/ (bgbilling, bgdataloader, bgscheduler)
добавьте ф-цию

если мускул создает сокет, то IMHO проще так:
Код:
while [ ! -S /tmp/mysql.sock ]; do
    sleep 10
done

Автор:  Victor [ 08 июл 2008, 09:37 ]
Заголовок сообщения: 

snark писал(а):
Amir писал(а):
Попробуйте добавить ожидание mysql перед запуском биллинга
в скриптах запуска в init.d/ (bgbilling, bgdataloader, bgscheduler)
добавьте ф-цию

если мускул создает сокет, то IMHO проще так:
Код:
while [ ! -S /tmp/mysql.sock ]; do
    sleep 10
done

И до бесконечности ждать, пока оно запустится, если у мускуля проблемы.

Автор:  snark [ 08 июл 2008, 15:51 ]
Заголовок сообщения: 

Victor писал(а):
И до бесконечности ждать, пока оно запустится, если у мускуля проблемы.
если у мускула проблемы - БГБ от этого не полегчает ... без мускула он всеравно работать не сможет ...

Автор:  Victor [ 08 июл 2008, 16:14 ]
Заголовок сообщения: 

Только в первом случае нам сообщение о неработающем мускуле вывалится в консоль, а во втором нам придется гадать, особенно если давно уже позабыли, что там бесконечный цикл висит.

Автор:  snark [ 08 июл 2008, 16:32 ]
Заголовок сообщения: 

Victor писал(а):
в первом случае нам сообщение о неработающем мускуле вывалится в консоль

я уже забыл что такое консоль, все только через SSH :)
думаю если доработать скрипт и ввести туда счетчик итераций, то тогда после N времени не запуска мускула можно слать мыло админу с криками о помощи и тогда уже неважно какой из методов применяется, согласитесь ...

Автор:  Victor [ 08 июл 2008, 16:35 ]
Заголовок сообщения: 

snark писал(а):
Victor писал(а):
в первом случае нам сообщение о неработающем мускуле вывалится в консоль

я уже забыл что такое консоль, все только через SSH :)
думаю если доработать скрипт и ввести туда счетчик итераций, то тогда после N времени не запуска мускула можно слать мыло админу с криками о помощи и тогда уже неважно какой из методов применяется, согласитесь ...

Не соглашусь :)

Автор:  FroStAlieN [ 09 июл 2008, 04:45 ]
Заголовок сообщения: 

ну вообщем я сделал по второму варианту для пробы. Помогло... Оказывается на самом деле затык был в более раннем старте BGBillinga чем мускула. Очень странно почему так происходит... ну решение найдено, всем большое спасибо :)

Автор:  stark [ 09 июл 2008, 18:08 ]
Заголовок сообщения: 

FroStAlieN писал(а):
Оказывается на самом деле затык был в более раннем старте BGBillinga чем мускула. Очень странно почему так происходит... ну решение найдено, всем большое спасибо :)

стартует bgbilling может и позже , просто к моменту его старта , mysql еще не успел до конца подняться..Процесс запуска службы не мгновенный , а следующая служба не ждет окончания запуска предыдущей

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/