【问题标题】:Can't connect to CFS node无法连接到 CFS 节点
【发布时间】:2015-03-21 06:05:05
【问题描述】:

几个月前,我删除了(或停用,不记得了)一个 DSE 分析节点(IP 为 10.14.5.50)。当我现在尝试执行 dse shark (CREATE 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 中执行 set; 时,没有 Shark 变量引用 X.X.X.50
  • 我正在运行 DSE 4.5。

【问题讨论】:

标签: datastax-enterprise datastax


【解决方案1】:

偶然发现this 页面显示您在删除 Hive 节点后需要TRUNCATE "HiveMetaStore"."MetaStore"(在cqlsh 中)。成功了。

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 2015-07-17
    • 2016-12-10
    • 2022-11-03
    • 1970-01-01
    • 2016-07-11
    • 2017-10-11
    • 2018-12-26
    • 2018-03-31
    相关资源
    最近更新 更多