Skip to content

[Bug] [DataSource] Hive and Spark not work properly in kerberos env(Principal field is not displayed and not used correctly) #17413

@njnu-seafish

Description

@njnu-seafish

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

1, First, create a Hive data source

Image

2, Edit the data source and find that the principal field is not displayed.

Image

3,The connection test shows the following error message:

2025-08-12 10:04:52.808 WARN [qtp1869116781-5208] o.a.h.j.HiveConnection:[237] - Failed to connect to 192.168.11.231:10000
2025-08-12 10:04:52.809 WARN [qtp1869116781-5208] o.a.k.j.h.KyuubiConnection:[198] - Failed to connect to 192.168.11.231:10000
2025-08-12 10:04:52.810 WARN [qtp1869116781-5208] n.s.c.j.SnowflakeConnectString:[136] - Connect strings must start with jdbc:snowflake://
2025-08-12 10:04:52.810 ERROR [qtp1869116781-5208] o.a.d.p.d.a.d.AbstractDataSourceProcessor:[130] - Check datasource connectivity for: HIVE error
java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.11.231:10000/default: Peer indicated failure: Unsupported mechanism type PLAIN
at org.apache.hive.jdbc.HiveConnection.(HiveConnection.java:256)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at org.apache.dolphinscheduler.plugin.datasource.hive.param.HiveDataSourceProcessor.getConnection(HiveDataSourceProcessor.java:139)
at org.apache.dolphinscheduler.plugin.datasource.api.datasource.AbstractDataSourceProcessor.checkDataSourceConnectivity(AbstractDataSourceProcessor.java:127)
at org.apache.dolphinscheduler.api.service.impl.DataSourceServiceImpl.checkConnection(DataSourceServiceImpl.java:326)

To resolve the above issue, The principal field needs to appear in the JDBC connection parameter input box.
Image

4, Click the connection test again, and the following error appears:

Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hive/thrift/TFilterTransport
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:493)
at java.net.URLClassLoader.access$100(URLClassLoader.java:75)
at java.net.URLClassLoader$1.run(URLClassLoader.java:389)
at java.net.URLClassLoader$1.run(URLClassLoader.java:383)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:601)
at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:341)
at org.apache.hive.jdbc.HiveConnection.(HiveConnection.java:228)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at org.apache.dolphinscheduler.plugin.datasource.hive.param.HiveDataSourceProcessor.getConnection(HiveDataSourceProcessor.java:139)
at org.apache.dolphinscheduler.plugin.datasource.api.datasource.AbstractDataSourceProcessor.checkDataSourceConnectivity(AbstractDataSourceProcessor.java:127)
at org.apache.dolphinscheduler.api.service.impl.DataSourceServiceImpl.checkConnection(DataSourceServiceImpl.java:326)

What you expected to happen

The Hive and Spark data source information can be displayed normally, and the tests pass.

How to reproduce

1, First, create a Hive data source
2, Edit the data source and find that the principal field is not displayed.
3, Click the connection test

Anything else

No response

Version

3.3.0-alpha

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions