Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

[Solved] tHiveRow for Hadoop HA

Hi all,
I am trying to load a file from HDFS into a Hive table using tHiveRow component.
Talend BigData Studio 5.6
Hadoop Hortonworks 2.1 with High Availability feature
Under advanced settings for tHiveRow I have:
dfs.client.use.datanode.hostname    true
dfs.datanode.use.datanode.hostname    true
dfs.nameservices    HDPCLUSTER
dfs.ha.namenodes.HDPCLUSTER    no,nt
dfs.namenode.rpc-address.HDPCLUSTER.no    hdp:8020
dfs.namenode.rpc-address.HDPCLUSTER.nt    hdp1:8020
dfs.client.failover.proxy.provider.HDPCLUSTER    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
When I run the job it's throwin the following exception:
FAILED: RuntimeException java.io.IOException: Couldn't create proxy provider class org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
java.lang.RuntimeException: java.io.IOException: Couldn't create proxy provider class org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
        at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:222)
        at org.apache.hadoop.hive.ql.Context.getExternalScratchDir(Context.java:278)
        at org.apache.hadoop.hive.ql.Context.getExternalTmpPath(Context.java:344)
        at org.apache.hadoop.hive.ql.parse.LoadSemanticAnalyzer.analyzeInternal(LoadSemanticAnalyzer.java:246)
        at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:327)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:426)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:322)
        at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:976)
        at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:969)
        at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:99)
        at org.apache.hive.service.cli.operation.SQLOperation.run(SQLOperation.java:172)
        at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:231)
        at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:218)
        at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:233)
        at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:346)
        at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:230)
        at data_integration.hiveexample_0_1.HiveExample.tHiveRow_1Process(HiveExample.java:549)
        at data_integration.hiveexample_0_1.HiveExample.tLibraryLoad_1Process(HiveExample.java:383)
        at data_integration.hiveexample_0_1.HiveExample.runJobInTOS(HiveExample.java:801)
        at data_integration.hiveexample_0_1.HiveExample.main(HiveExample.java:682)
Caused by: java.io.IOException: Couldn't create proxy provider class org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
        at org.apache.hadoop.hdfs.NameNodeProxies.createFailoverProxyProvider(NameNodeProxies.java:456)
        at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:148)
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:579)
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:524)
        at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:146)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2397)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2431)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2413)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
        at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:210)
        ... 19 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hdfs.NameNodeProxies.createFailoverProxyProvider(NameNodeProxies.java:445)
        ... 30 more
Caused by: java.lang.RuntimeException: Could not find any configured addresses for URI hdfs://HDPCLUSTER/tmp/hive-hive/hive_2015-01-16_12-53-36_655_5380462070013163379-1
        at org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider.<init>(ConfiguredFailoverProxyProvider.java:93)
        ... 35 more

Any ideas why?
Thank you
Labels (4)
1 Reply
Anonymous
Not applicable
Author

Solved by adding a tHiveConnection component and use this existing connection in tHiveRow