Hello,

I build Flink from source and have the flink-connector-hive jar file now. I 
copied this file to the lib directory of flink but I still get the same error 
as I try to run ./sql-client.sh embedded. I get this error:

Exception in thread "main" org.apache.flink.table.client.SqlClientException: 
The configured environment is invalid. Please check your environment files 
again.
               at 
org.apache.flink.table.client.SqlClient.validateEnvironment(SqlClient.java:147)
               at 
org.apache.flink.table.client.SqlClient.start(SqlClient.java:99)
               at 
org.apache.flink.table.client.SqlClient.main(SqlClient.java:194)
Caused by: org.apache.flink.table.client.gateway.SqlExecutionException: Could 
not create execution context.
               at 
org.apache.flink.table.client.gateway.local.LocalExecutor.getOrCreateExecutionContext(LocalExecutor.java:553)
               at 
org.apache.flink.table.client.gateway.local.LocalExecutor.validateSession(LocalExecutor.java:373)
               at 
org.apache.flink.table.client.SqlClient.validateEnvironment(SqlClient.java:144)
               ... 2 more
Caused by: java.lang.NoClassDefFoundError: 
org/apache/hive/common/util/HiveVersionInfo
               at 
org.apache.flink.table.catalog.hive.client.HiveShimLoader.getHiveVersion(HiveShimLoader.java:58)
               at 
org.apache.flink.table.catalog.hive.factories.HiveCatalogFactory.createCatalog(HiveCatalogFactory.java:82)
               at 
org.apache.flink.table.client.gateway.local.ExecutionContext.createCatalog(ExecutionContext.java:259)
               at 
org.apache.flink.table.client.gateway.local.ExecutionContext.lambda$new$0(ExecutionContext.java:136)
               at java.util.HashMap.forEach(HashMap.java:1289)
               at 
org.apache.flink.table.client.gateway.local.ExecutionContext.<init>(ExecutionContext.java:135)
               at 
org.apache.flink.table.client.gateway.local.LocalExecutor.getOrCreateExecutionContext(LocalExecutor.java:549)
               ... 4 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.hive.common.util.HiveVersionInfo
               at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
               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)




I have this information for the Classpath in the log file:

2019-08-28 20:06:42,278 INFO  
org.apache.flink.runtime.taskexecutor.TaskManagerRunner       -  Classpath: 
:/home/user/Dokumente/flink-1.9.0/flink-dist/target/flink-1.9.0-bin/flink-1.9.0/lib/flink-connector-hive_2.11-1.9.0.jar:/home/user/Dokumente/flink-1.9.0/flink-dist/target/flink-1.9.0-bin/flink-1.9.0/lib/flink-dist_2.11-1.9.0.jar:/home/user/Dokumente/flink-1.9.0/flink-dist/target/flink-1.9.0-bin/flink-1.9.0/lib/flink-table_2.11-1.9.0.jar:/home/user/Dokumente/flink-1.9.0/flink-dist/target/flink-1.9.0-bin/flink-1.9.0/lib/flink-table-blink_2.11-1.9.0.jar:/home/user/Dokumente/flink-1.9.0/flink-dist/target/flink-1.9.0-bin/flink-1.9.0/lib/log4j-1.2.17.jar:/home/user/Dokumente/flink-1.9.0/flink-dist/target/flink-1.9.0-bin/flink-1.9.0/lib/slf4j-log4j12-1.7.15.jar::/usr/local/hadoop/hadoop-2.7.7/etc/hadoop:


The configuration of the catalog in the sql-client-defaults.yaml is like this:

catalogs:
  - name: mynewhive
    type: hive
    property-version: 1
    hive-conf-dir: /home/bernadette/Downloads/apache-hive-1.2.2-bin/conf
    hive-version: 1.2.1


I get no error when I remove these from the yaml file.


I look forward to hearing from you.

Regards
Yebgenya Lazar


Von: Bowen Li <bowenl...@gmail.com>
Gesendet: Montag, 26. August 2019 22:45
An: Yebgenya Lazarkhosrouabadi <lazarkhosrouab...@integration-factory.de>
Cc: user@flink.apache.org
Betreff: Re: Error while using catalog in .yaml file

Put flink-connector-hive jar in classpath



On Sun, Aug 25, 2019 at 9:14 AM Yebgenya Lazarkhosrouabadi 
<lazarkhosrouab...@integration-factory.de<mailto:lazarkhosrouab...@integration-factory.de>>
 wrote:
Hello,

I’m trying to use hivecatalog in flink1.9. I modified the yaml file like this:


catalogs:
  - name: mynewhive
    type: hive
    hive-conf-dir: /home/user/Downloads/apache-hive-1.2.2-bin/conf
    default-database: myhive


But when I try to run ./sql-client.sh embedded  I get this error:

Exception in thread "main" org.apache.flink.table.client.SqlClientException: 
The configured environment is invalid. Please check your environment files 
again.
               at 
org.apache.flink.table.client.SqlClient.validateEnvironment(SqlClient.java:147)
               at 
org.apache.flink.table.client.SqlClient.start(SqlClient.java:99)
               at 
org.apache.flink.table.client.SqlClient.main(SqlClient.java:194)
Caused by: org.apache.flink.table.client.gateway.SqlExecutionException: Could 
not create execution context.
               at 
org.apache.flink.table.client.gateway.local.LocalExecutor.getOrCreateExecutionContext(LocalExecutor.java:553)
               at 
org.apache.flink.table.client.gateway.local.LocalExecutor.validateSession(LocalExecutor.java:373)
               at 
org.apache.flink.table.client.SqlClient.validateEnvironment(SqlClient.java:144)
               ... 2 more
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could 
not find a suitable table factory for 
'org.apache.flink.table.factories.CatalogFactory' in
the classpath.

Reason: No context matches.

The following properties are requested:
default-database=myhive
hive-conf-dir=/home/bernadette/Downloads/apache-hive-1.2.2-bin/conf
type=hive

The following factories have been considered:
org.apache.flink.table.catalog.GenericInMemoryCatalogFactory
org.apache.flink.table.sources.CsvBatchTableSourceFactory
org.apache.flink.table.sources.CsvAppendTableSourceFactory
org.apache.flink.table.sinks.CsvBatchTableSinkFactory
org.apache.flink.table.sinks.CsvAppendTableSinkFactory
org.apache.flink.table.planner.StreamPlannerFactory
org.apache.flink.table.executor.StreamExecutorFactory
org.apache.flink.table.planner.delegation.BlinkPlannerFactory
org.apache.flink.table.planner.delegation.BlinkExecutorFactory
               at 
org.apache.flink.table.factories.TableFactoryService.filterByContext(TableFactoryService.java:283)
               at 
org.apache.flink.table.factories.TableFactoryService.filter(TableFactoryService.java:191)
               at 
org.apache.flink.table.factories.TableFactoryService.findSingleInternal(TableFactoryService.java:144)
               at 
org.apache.flink.table.factories.TableFactoryService.find(TableFactoryService.java:114)
               at 
org.apache.flink.table.client.gateway.local.ExecutionContext.createCatalog(ExecutionContext.java:258)
               at 
org.apache.flink.table.client.gateway.local.ExecutionContext.lambda$new$0(ExecutionContext.java:136)
               at java.util.HashMap.forEach(HashMap.java:1289)
               at 
org.apache.flink.table.client.gateway.local.ExecutionContext.<init>(ExecutionContext.java:135)
               at 
org.apache.flink.table.client.gateway.local.LocalExecutor.getOrCreateExecutionContext(LocalExecutor.java:549)
               ... 4 more



How can I get rid of this error?

Best regards
Yebgenya Lazar
HINWEIS: Dies ist eine vertrauliche Nachricht und nur für den Adressaten 
bestimmt. Es ist nicht erlaubt, diese Nachricht zu kopieren oder Dritten 
zugänglich zu machen. Sollten Sie diese Nachricht irrtümlich erhalten haben, 
bitte ich um Ihre Mitteilung per E-Mail oder unter der oben angegebenen 
Telefonnummer.
HINWEIS: Dies ist eine vertrauliche Nachricht und nur für den Adressaten 
bestimmt. Es ist nicht erlaubt, diese Nachricht zu kopieren oder Dritten 
zugänglich zu machen. Sollten Sie diese Nachricht irrtümlich erhalten haben, 
bitte ich um Ihre Mitteilung per E-Mail oder unter der oben angegebenen 
Telefonnummer.

Reply via email to