簡體   English   中英

Oozie Hive工作流程間歇性

[英]Oozie Hive workflow intermitent

我目前遇到一個問題,我的oozie工作流程會間歇性地無法連接到我的配置單元。 似乎與hive-metastore的連接用盡了嗎?

原因由:MetaException(消息:無法使用提供的任何URI連接到元存儲。最近的失敗:org.apache.thrift.transport.TTransportException:java.net.ConnectException:在org.apache.thrift.transport上的連接被拒絕org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:277)的.TSocket.open(TSocket.java:185)org.apache.hadoop.hive.metastore.HiveMetaStoreClient。(HiveMetaStoreClient.java: 163)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) org.apache.hadoop.hive.metastore.RetryingMetaStoreClient。(RetryingMetaStoreClient。(RetryingMetaStoreClient.java :)上的org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1082)的。 51)在org.apache.hadoop.hiv org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2140)的e.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:61)在org.apache.hadoop.hive.ql.metadata。 org.apache.hadoop.hive.ql.metadata.Hive.getTablesByPattern(Hive.java:1013)的Hive.getMSC(Hive.java:2151)org.apache.hadoop.hive.ql.metadata.Hive.getTablesByPattern(Hive.java:1013)位於org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeCreateTable(SemanticAnalyzer.java:8732)的Hive.java:1000),位於org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java: 8097)在org.apache.hadoop.hive.ql.Driver.compile(Driver.java:443)在org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:258)在org.apache.hadoop.hive.ql.Driver.compile(Driver.java:443)在org.apache org.apache.hadoop.hive.ql.Driver.run(Driver.java:908)上的.hadoop.hive.ql.Driver.compile(Driver.java:347)在org.apache.hadoop.hive.cli.CliDriver上org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)的.processLocalCmd(CliDriver.java:259) org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:347)上的org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412)在org.apache.hadoop.hive處。 org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:455)上的cli.CliDriver.processReader(CliDriver.java:445)在org.apache.hadoop.hive.cli.CliDriver.run(CliDriver。 java:711)位於org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:613)位於org.apache.oozie.action.hadoop.HiveMain.runHive(HiveMain.java:261)位於org.apache org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:37)上的.oozie.action.hadoop.HiveMain.run(HiveMain.java:238)在org.apache.oozie.action.hadoop.HiveMain .main(HiveMain.java:49)位於sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)位於sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)位於sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25 ),位於org.apache.oozie.acti的java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)上的on.hadoop.LauncherMapper.map(LauncherMapper.java:491)在org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java: 418)在org.apache.hadoop.mapred.Child(org.apache.hadoop.mapred.Child $ 4.run(Child.java:268)在org.apache.hadoop.mapred.MapTask.run(MapTask.java:333)在java.security.AccessController.doPrivileged( org.apache.hadoop.mapred.Child上的javax.security.auth.Subject.doAs(Subject.java:396)處的本機方法)。org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408) main(Child.java:262)由以下原因引起:java.net.ConnectException:java.net處的java.net.PlainSocketImpl.socketConnect(本地方法)處的連接被拒絕。java.net處的PlainSocketImpl.doConnect(PlainSocketImpl.java:351)處的連接被拒絕。 .java.net上的.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213).java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)在java.net.Socket.connect( Socket.java:529),位於org.apache.thrift.transpo org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:323)上的rt.TSocket.open(TSocket.java:180)...更多44)在org.apache.hadoop.hive.metastore處。 HiveMetaStoreClient。(HiveMetaStoreClient.java:163)...還有42失敗:元數據錯誤:java.lang.RuntimeException:無法實例化org.apache.hadoop.hive.metastore.HiveMetaStoreClient

我可以從命令行運行配置單元。 使用hue與hive-metastore通信並執行查詢。 這似乎只是在我的oozie工作流程中發生的一半。 我提交的每個配置單元操作都具有hive-site.xml配置,如oozie.hive.defaults。

hive-site.xml

 <property>   <name>hive.metastore.uris</name>  
 <value>thrift://localhost:9083</value>   <description>Thrift uri for
 the remote metastore. Used by metastore client to connect to remote
 metastore.</description> </property>

 <property>   <name>datanucleus.fixedDatastore</name>
     <value>false</value> </property>

 <property>   <name>javax.jdo.option.ConnectionURL</name>  
 <value>jdbc:mysql://localhost:3306/metastore</value>  
 <description>JDBC connect string for a JDBC metastore</description>
 </property>

 <property>   <name>javax.jdo.option.ConnectionDriverName</name>  
 <value>com.mysql.jdbc.Driver</value>   <description>Driver class name
 for a JDBC metastore</description> </property>

 <property>   <name>javax.jdo.option.ConnectionUserName</name>  
 <value>hive</value>   <description>username to use against metastore
 database</description> </property>

 <property>   <name>javax.jdo.option.ConnectionPassword</name>  
 <value>hive</value>   <description>password to use against metastore
 database</description> </property>

hive-metastore,hive-server2,mysql-server和oozie目前都在同一主機上運行,​​因此localhost可以正常工作。 有任何想法嗎? 我已經啟用了oozie share lib default true,並且已經創建了sharelibs。

CDH 4.2.1軟件包

-oozie:oozie-3.3.0

-hive-metastore:hive-metastore-0.10.0

-hive-server2:hive-server2-0.10.0

-mysql服務器:mysql-server-5.1.69-1

任何幫助將不勝感激

在Hive操作中不建議使用oozie.hive.defaults 您可以嘗試讓Job Xml指向HDFS上載的hive-site.xml嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM