Hello team, Need help with the iceberg-jdbc setup...
# questions-and-troubleshooting
s
Hello team, Need help with the iceberg-jdbc setup. Currently I'm using starrocks 4.0. I've checked github thread that the public version of the images does not include the MySQL jar due to a GPL license issue. https://github.com/StarRocks/starrocks/pull/56386/files#r2165289635 I ended up manually downloading it and placing it under /opt/starrocks/fe/lib but I'm still having some issues.
Copy code
root@kube-starrocks-fe-0:/opt/starrocks/fe/lib# ls
...
commons-logging-1.2.jar                                      mssql-jdbc-12.4.2.jre11.jar
commons-math3-3.6.1.jar                                      mysql-connector-j-9.2.0.jar
commons-net-3.9.0.jar                                        mysql-connector-java-8.0.33.jar
Iceberg catalog info.
Copy code
CREATE EXTERNAL CATALOG `iceberg`
comment "External iceberg catalog jdbc"
PROPERTIES (
"type"  =  "iceberg",
"aws.s3.access_key"  =  "******",
"aws.s3.secret_key"  =  "******",
"aws.s3.use_instance_profile"  =  "false",
"aws.s3.region"  =  "ap-******",
"iceberg.catalog.uri"  =  "jdbc:mysql://******:3306/gravitino",
"iceberg.catalog.warehouse"  =  "s3://******",
"iceberg.catalog.type"  =  "jdbc",
"iceberg.catalog.jdbc.user"  =  "******",
"iceberg.catalog.jdbc.password"  =  "******"
)
This is the error log from fe pod. Sensitive information is all masked.
Copy code
org.apache.iceberg.jdbc.UncheckedSQLException: Failed to connect: jdbc:mysql://******:3306/gravitino
        at org.apache.iceberg.jdbc.JdbcClientPool.newClient(JdbcClientPool.java:90) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.jdbc.JdbcClientPool.newClient(JdbcClientPool.java:35) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.ClientPoolImpl.get(ClientPoolImpl.java:143) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.ClientPoolImpl.run(ClientPoolImpl.java:70) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.ClientPoolImpl.run(ClientPoolImpl.java:65) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.jdbc.JdbcCatalog.updateSchemaIfRequired(JdbcCatalog.java:230) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.jdbc.JdbcCatalog.initialize(JdbcCatalog.java:151) ~[iceberg-core-1.10.0.jar:?]
        at org.apache.iceberg.CatalogUtil.loadCatalog(CatalogUtil.java:280) ~[iceberg-core-1.10.0.jar:?]
        at com.starrocks.connector.iceberg.jdbc.IcebergJdbcCatalog.<init>(IcebergJdbcCatalog.java:93) ~[starrocks-fe.jar:?]
        at com.starrocks.connector.iceberg.IcebergConnector.buildIcebergNativeCatalog(IcebergConnector.java:88) ~[starrocks-fe.jar:?]
        at com.starrocks.connector.iceberg.IcebergConnector.getNativeCatalog(IcebergConnector.java:104) ~[starrocks-fe.jar:?]
        at com.starrocks.connector.iceberg.IcebergConnector.getMetadata(IcebergConnector.java:96) ~[starrocks-fe.jar:?]
        at com.starrocks.connector.LazyConnector.getMetadata(LazyConnector.java:43) ~[starrocks-fe.jar:?]
        at com.starrocks.connector.CatalogConnector.getMetadata(CatalogConnector.java:45) ~[starrocks-fe.jar:?]
        at com.starrocks.server.MetadataMgr$QueryMetadatas.getConnectorMetadata(MetadataMgr.java:119) ~[starrocks-fe.jar:?]
        at com.starrocks.server.MetadataMgr.getOptionalMetadata(MetadataMgr.java:199) ~[starrocks-fe.jar:?]
        at com.starrocks.server.MetadataMgr.getOptionalMetadata(MetadataMgr.java:176) ~[starrocks-fe.jar:?]
        at com.starrocks.server.MetadataMgr.getDb(MetadataMgr.java:252) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer.resolveTable(QueryAnalyzer.java:1484) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.resolveTableRef(QueryAnalyzer.java:554) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.visitSelect(QueryAnalyzer.java:368) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.visitSelect(QueryAnalyzer.java:288) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.ast.SelectRelation.accept(SelectRelation.java:232) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.process(QueryAnalyzer.java:293) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.visitQueryRelation(QueryAnalyzer.java:308) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.visitQueryStatement(QueryAnalyzer.java:298) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.visitQueryStatement(QueryAnalyzer.java:288) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.ast.QueryStatement.accept(QueryStatement.java:72) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer$Visitor.process(QueryAnalyzer.java:293) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.QueryAnalyzer.analyze(QueryAnalyzer.java:126) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.Analyzer$AnalyzerVisitor.visitQueryStatement(Analyzer.java:472) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.Analyzer$AnalyzerVisitor.visitQueryStatement(Analyzer.java:194) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.ast.QueryStatement.accept(QueryStatement.java:72) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:105) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.analyzer.Analyzer.analyze(Analyzer.java:191) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.StatementPlanner.analyzeStatement(StatementPlanner.java:251) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:131) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:107) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.StmtExecutor.generateExecPlan(StmtExecutor.java:585) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:667) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:434) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:659) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:1017) ~[starrocks-fe.jar:?]
        at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:71) ~[starrocks-fe.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://******:3306/gravitino
        at java.sql.DriverManager.getConnection(DriverManager.java:706) ~[java.sql:?]
        at java.sql.DriverManager.getConnection(DriverManager.java:190) ~[java.sql:?]
        at org.apache.iceberg.jdbc.JdbcClientPool.newClient(JdbcClientPool.java:88) ~[iceberg-core-1.10.0.jar:?]
        ... 46 more