Uploaded image for project: 'Kylin'
  1. Kylin
  2. KYLIN-3773

Using Mysql instead of Hive as Data Source fails with LinkageError

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • v2.6.0
    • v2.6.1
    • RDBMS Source
    • None

    Description

      we are currently trying to test the KYLIN-3552 feature to rely directly on Mysql for data source instead of Hive.
       
      (we tried as much as possible to add correct info in kylin.properties, add mysql jdbc drivers, create mysql.xml in ./conf/datasources ... as mentioned in https://github.com/apache/kylin/pull/327/files )

       
       
       
      the error we entountered is ( excerpt from kylin.log ) :
       
       
      2019-01-14 09:48:16,223 WARN  [http-bio-7070-exec-2] extensible.JdbcSource:50 : DataSource cannot be connected. This may not be required in a MapReduce job.
      java.lang.LinkageError: loader constraint violation: loader (instance of sun/misc/Launcher$AppClassLoader) previously initiated loading for a different type with name "org/apache/kylin/common/KylinConfig"
              at java.lang.ClassLoader.defineClass1(Native Method)
              at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
              at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
              at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
              at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
              at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
              at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
              at org.apache.kylin.sdk.datasource.framework.SourceConnectorFactory.getJdbcConnector(SourceConnectorFactory.java:27)

      with further trace :
      2019-01-14 09:48:16,229 ERROR [http-bio-7070-exec-2] controller.TableController:197 :
      java.lang.NullPointerException
              at org.apache.kylin.source.jdbc.extensible.JdbcExplorer.listDatabases(JdbcExplorer.java:58)
              at org.apache.kylin.rest.service.TableService.getSourceDbNames(TableService.java:280)
              at org.apache.kylin.rest.controller.TableController.showHiveDatabases(TableController.java:195)
       
       
      the properties we use in kylin.properties are :
       

      1. NOVAGEN – CUSTOM CONFIGURATION FOR MYSQL AS SOURCE
        kylin.source.jdbc.connection-url=jdbc:mysql://ip-172-31-36-94.eu-west-1.compute.internal:3306/decat
        kylin.source.jdbc.driver=com.mysql.jdbc.Driver
        kylin.source.jdbc.dialect=mysql
        kylin.source.jdbc.user=root
        kylin.source.jdbc.pass=
        kylin.query.pushdown.runner-class-name=org.apache.kylin.query.pushdown.PushdownRunnerSDKImpl
        kylin.source.default=16
        kylin.source.jdbc.sqoop-home=/usr/bin
        kylin.source.jdbc.adaptor=org.apache.kylin.sdk.datasource.adaptor.MysqlAdaptor
         

      Attachments

        1. image-2019-01-21-23-56-26-324.png
          179 kB
          Xiaoxiang Yu

        Issue Links

          Activity

            People

              youcheng.zhang youcheng.zhang
              hstefani Hubert STEFANI
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: