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

Using Mysql instead of Hive as Data Source fails with LinkageError

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: v2.6.0
    • Fix Version/s: v2.6.1
    • Component/s: RDBMS Source
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: