无法连接到CFS节点

时间:2015-01-22 12:35:05

标签: datastax-enterprise datastax

几个月前,我删除了(或解密,无法记住)DSE分析节点(IP 10.14.5.50)。当我现在尝试执行dse sharkCREATE TABLE ccc AS SELECT ...)查询时,我现在收到:

15/01/22 13:23:17 ERROR parse.SharkSemanticAnalyzer: org.apache.hadoop.hive.ql.parse.SemanticException: 0:0 Error creating temporary folder on: cfs://10.14.5.50/user/hive/warehouse/mykeyspace.db. Error encountered near token 'TOK_TMP_FILE'
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:1256)
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:1053)
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:8342)
    at shark.parse.SharkSemanticAnalyzer.analyzeInternal(SharkSemanticAnalyzer.scala:105)
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:284)
    at shark.SharkDriver.compile(SharkDriver.scala:215)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:342)
    at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:977)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:888)
    at shark.SharkCliDriver.processCmd(SharkCliDriver.scala:347)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
    at shark.SharkCliDriver$.main(SharkCliDriver.scala:240)
    at shark.SharkCliDriver.main(SharkCliDriver.scala)
Caused by: java.lang.RuntimeException: java.io.IOException: Error connecting to node 10.14.5.50:9160 with strategy STICKY.
    at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:216)
    at org.apache.hadoop.hive.ql.Context.getExternalScratchDir(Context.java:270)
    at org.apache.hadoop.hive.ql.Context.getExternalTmpFileURI(Context.java:363)
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:1253)
    ... 12 more

我猜上面的错误是由于我的密钥空间引用了旧节点:

shark> DESCRIBE DATABASE mykeyspace;
OK
mykeyspace      cfs://10.14.5.50/user/hive/warehouse/mykeyspace.db
Time taken: 0.997 seconds

我有什么方法可以修复这个错误的数据库路径吗?

尝试(但失败)解决方法来重新创建数据库:在cqlsh中,我创建了一个键空间thekeyspace并添加了一个表thetable。我打开了dse hive(并注意到DESCRIBE DATABASE thekeyspace正在给我一条正确的cfs路径。但是,我无法使用DROP DATABASE thekeyspace删除数据库。

其他信息:

  • 我的密钥空间中没有外部表格。
  • 针对表格进行SELECT。
  • 设置-hiveconf cassandra.host=WORKING_NODE_IP无济于事。
  • 以下命令返回正确的IP:s(即不是X.X.X.50):
    • dsetool listjt
    • dsetool jobtracker
    • dsetool sparkmaster
  • 使用dse hive执行查询时收到同样的错误。
  • 当我在其REPL中执行X.X.X.50时,没有Shark变量引用set;
  • 我正在运行DSE 4.5。

1 个答案:

答案 0 :(得分:2)

this页面上偶然发现,在删除Hive节点后,您需要TRUNCATE "HiveMetaStore"."MetaStore"(在cqlsh中)。这就行了。