cdh oozie 无法启动问题Could not load service classes, Cannot create PoolableConnectionFactory

问题描述:在安装cdh元数据myslq高可用时,使用的是myslq主主复制+keepalived实现。期间发现切换时,出现如下异常信息!

花了很长时间寻找问题的原因。因为切换的时候,使用本机命令行是可以连接的,但是夸服务器就无法连接,没有去这方面的尝试,后来使用navicate无法连接后,就推测是mysql高可用切换的问题导致的。

问题分析:如果不重启keepalived,是无法实现切换和连接的。以下问题就是由于这个原因导致的,本质是无法连接mysql,不是jar包的问题。网上很多人的异常是因为mysql驱动问题,错误不太一样 。


解决方案

             1)尝试手工重启services  keepalived restart   ,后问题解决

             2)当mysql切换的时候,自动重启另外一台服务器的keepalived。通过配置脚本的方式来解决。本质原因还是在重启的时候不能执行:

/opt/model/keepalived-2.0.0/shell/sqlCdh2.sh

#!/bin/bash

service keepalived restart

cat /opt/model/keepalived-2.0.0/shell/restartCdh2Keepalived.sh

ssh root@172.17.10.153 nohup /opt/model/keepalived-2.0.0/shell/sqlCdh2.sh >/opt/model/keepalived-2.0.0/shell/result.txt 2>&1 &

调用重启

cat /root/shutdown

/opt/model/keepalived-2.0.0/shell/restartCdh2Keepalived.sh

sleep 10#这句话必须要加上,否则不能重启另外一台服务的keepalived

killall keepalived

 cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

   router_id mysql-ha

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens32

    virtual_router_id 201

    #优先级,高优先级竞选为master

    priority 100

    advert_int 1

    #设置为不抢占 注:这个配置只能设置在backup主机上,而且这个主机优先级要比另外一台高,另一台不要设置这个选项 

    nopreempt

    authentication {

        auth_type PASS

        auth_pass 123456

    }

    virtual_ipaddress {

        172.17.10.155

    }

}

virtual_server 172.17.10.155 3306 {

    delay_loop 2

    lb_algo rr

    lb_kind DR

    persistence_timeout 60

    protocol TCP

    real_server 172.17.10.152 3306 {

        weight 1

        notify_down /root/shutdown.sh

        TCP_CHECK {

            connect_port 3306

            connect_timeout 3

            nb_get_retry 2

            delay_before_retry 1

        }

    }

}


异常信息:

2018-12-18 17:45:21,820 FATAL org.apache.oozie.service.Services: SERVER[cdh3] Runtime Exception during Services Load. Check your list of 'oozie.services' or 'oozie.services.ext'

2018-12-18 17:45:21,825 FATAL org.apache.oozie.service.Services: SERVER[cdh3] E0103: Could not load service classes, Cannot create PoolableConnectionFactory (Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)

org.apache.oozie.service.ServiceException: E0103: Could not load service classes, Cannot create PoolableConnectionFactory (Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)

    at org.apache.oozie.service.Services.loadServices(Services.java:309)

    at org.apache.oozie.service.Services.init(Services.java:213)

    at org.apache.oozie.servlet.ServicesLoader.contextInitialized(ServicesLoader.java:46)

    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)

    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)

    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802)

    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)

    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)

    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:944)

    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:779)

    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:505)

    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)

    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)

    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1068)

    at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)

    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)

    at org.apache.catalina.core.StandardService.start(StandardService.java:525)

    at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)

    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:498)

    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Caused by: <openjpa-2.2.2-r422266:1468616 fatal general error> org.apache.openjpa.persistence.PersistenceException: Cannot create PoolableConnectionFactory (Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)

    at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:102)

    at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:603)

    at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1518)

    at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:531)

    at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:456)

    at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:120)

    at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)

    at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)

    at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:967)

    at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:958)

    at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:644)

    at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203)

    at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)

    at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)

    at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)

    at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)

    at org.apache.oozie.service.JPAService.getEntityManager(JPAService.java:500)

    at org.apache.oozie.service.JPAService.init(JPAService.java:201)

    at org.apache.oozie.service.Services.setServiceInternal(Services.java:386)

    at org.apache.oozie.service.Services.setService(Services.java:372)

    at org.apache.oozie.service.Services.loadServices(Services.java:305)

    ... 26 more

Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)

    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)

    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)

    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

    at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:110)

    at org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87)

    at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:91)

    ... 46 more

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)

    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)

    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2482)

    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)

    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)

    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)

    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)

    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)

    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)

    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)

    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)

    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)

    ... 51 more

Caused by: java.net.ConnectException: Connection refused

    at java.net.PlainSocketImpl.socketConnect(Native Method)

    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

    at java.net.Socket.connect(Socket.java:589)

    at java.net.Socket.connect(Socket.java:538)

    at java.net.Socket.<init>(Socket.java:434)

    at java.net.Socket.<init>(Socket.java:244)

    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)

    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)

    ... 67 more

---------------------

作者:liygcoding

来源:本人博客地址

原文:https://blog.csdn.net/wumiqing1/article/details/85088373 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容