无法连接到 CFS 节点
Can't connect to CFS node
几个月前我删除了(或退役,不记得了)一个 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
并添加了一个 table thetable
。我打开了 dse hive
(并注意到 DESCRIBE DATABASE thekeyspace
给了我一个正确的 cfs
路径)。但是,我无法使用 DROP DATABASE thekeyspace
.
删除数据库
附加信息:
- 我的键空间中没有外部 table。
- 使 SELECT 对抗 table 有效。
- 设置
-hiveconf cassandra.host=WORKING_NODE_IP
没有帮助。
- 以下命令 return 正确 IP:s(即不是
X.X.X.50
):
dsetool listjt
dsetool jobtracker
dsetool sparkmaster
- 我在使用
dse hive
. 执行查询时遇到同样的错误
- 当我在其 REPL 中执行
set;
时,没有 Shark 变量引用 X.X.X.50
。
- 我是 运行 DSE 4.5.
偶然发现 this 页面,该页面说您需要 TRUNCATE "HiveMetaStore"."MetaStore"
(在 cqlsh
中)删除 Hive 节点后。成功了。
几个月前我删除了(或退役,不记得了)一个 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
并添加了一个 table thetable
。我打开了 dse hive
(并注意到 DESCRIBE DATABASE thekeyspace
给了我一个正确的 cfs
路径)。但是,我无法使用 DROP DATABASE thekeyspace
.
附加信息:
- 我的键空间中没有外部 table。
- 使 SELECT 对抗 table 有效。
- 设置
-hiveconf cassandra.host=WORKING_NODE_IP
没有帮助。 - 以下命令 return 正确 IP:s(即不是
X.X.X.50
):dsetool listjt
dsetool jobtracker
dsetool sparkmaster
- 我在使用
dse hive
. 执行查询时遇到同样的错误
- 当我在其 REPL 中执行
set;
时,没有 Shark 变量引用X.X.X.50
。 - 我是 运行 DSE 4.5.
偶然发现 this 页面,该页面说您需要 TRUNCATE "HiveMetaStore"."MetaStore"
(在 cqlsh
中)删除 Hive 节点后。成功了。