Несколько месяцев назад я удалил (или отключил, не могу вспомнить) узел аналитики DSE (с IP 10.14.5.50
). Когда я теперь пытаюсь выполнить dse shark
(CREATE TABLE ccc AS SELECT ...
) запроса теперь получать:Не удается подключиться к узлу CFS
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: с (т.е. не
X.X.X.50
.):dsetool listjt
dsetool jobtracker
dsetool sparkmaster
- Я получаю ту же ошибку, когда я выполняю запрос с использованием
dse hive
, - Нет переменной Shark относится к
X.X.X.50
, когда я выполняю в своем REPL. - Я запускаю DSE 4.5.
Это выглядит следующим образом: http://mail-archives.apache.org/mod_mbox/spark-user/201401.mbox/%[email protected] – Ztyx
Я сейчас работаю над путем изменения одного из моих существующих узлов кластера на IP 10.14.5.50. Это нелепое решение для небольшой проблемы, но мне еще предстоит найти способ изменить фактический IP-адрес в Hive. – Ztyx
Считая, что это должно считаться ошибкой. Pinged DataStax в Twitter об этом: https://twitter.com/jensrantil/status/558557186734170112 – Ztyx