Доступ к таблицам из HIve с использованием Hcatalog REST
Я установил Hcatalog с CDH4 (на 64-битной Ubuntu 12.04) и сейчас пытаюсь получить доступ к информации таблицы с помощью REST
Я перезапустил webhcat-сервер service webhcat-server restart
, Затем я выполнил это в терминале,
curl http://localhost:50111/templeton/v1/ddl/database/?user.name=hive
и я получил,
{"databases":["default","testas"]}
как и ожидалось (и правильно).
Я попробовал это несколько раз и получил тот же результат.
Затем я попробовал то же самое в своем браузере, и я получил,
{"statement":"show databases like '*';","error":"unable to show databases for: *","exec":
{"stdout":"","stderr":"Hive history file=/tmp/hive/hive_job_log_9f5d4411-e8f4-4c7e-a8db-
3bc53a565db8_2034639464.txt\nSLF4J: Class path contains multiple SLF4J bindings.\nSLF4J:
Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-
1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]\nSLF4J: Found binding in
[jar:file:/usr/lib/hive/lib/slf4j-log4j12-
1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]\nSLF4J: See
http://www.slf4j.org/codes.html#multiple_bindings for an explanation.\n","exitcode":143}}
Затем я вернулся в терминал и попытался,
curl http://localhost:50111/templeton/v1/ddl/database/?user.name=hive
который сейчас не работает, а выводит
{"statement":"show databases like '*';","error":"unable to show databases for: *","exec":
{"stdout":"","stderr":"Hive history file=/tmp/hive/hive_job_log_ce3f8d69-35b1-4617-b3a5-
624be0a500cc_268094038.txt\nSLF4J: Class path contains multiple SLF4J bindings.\nSLF4J:
Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-
1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]\nSLF4J: Found binding in
[jar:file:/usr/lib/hive/lib/slf4j-log4j12-
1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]\nSLF4J: See
http://www.slf4j.org/codes.html#multiple_bindings for an explanation.\nOK\nFAILED: Hive
Internal Error: java.lang.IllegalStateException(Shutdown in progress, cannot add a
shutdownHook)\njava.lang.IllegalStateException: Shutdown in progress, cannot add a
shutdownHook\n\tat
org.apache.hadoop.util.ShutdownHookManager.addShutdownHook(ShutdownHookManager.java:152)\n\t
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2352)\n\tat
org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2324)\n\tat
org.apache.hadoop.fs.FileSystem.get(FileSystem.java:351)\n\tat
org.apache.hadoop.fs.Path.getFileSystem(Path.java:194)\n\tat
org.apache.hadoop.hive.ql.Context.clear(Context.java:381)\n\tat
org.apache.hadoop.hive.ql.Driver.close(Driver.java:1553)\n\tat
org.apache.hcatalog.cli.HCatCli.processCmd(HCatCli.java:276)\n\tat
org.apache.hcatalog.cli.HCatCli.processLine(HCatCli.java:205)\n\tat
org.apache.hcatalog.cli.HCatCli.main(HCatCli.java:164)\n\tat
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\n\tat
sun.reflect.D","exitcode":143}}
Почему это происходит?
Замечания:
в /etc/hcatalog/proto-hive-site.xml
, Я изменился javax.jdo.option.ConnectionPassword
из ранее существовавших PASSWORD
на пароль к hive
,
Я знаю, что есть log4j
ошибка, но я сомневаюсь, что это как-то связано с этим
1 ответ
Может быть, у вас есть много jar slf4j с разными версиями в вашем пути к классам. Это распространенная ошибка, возникающая при запуске Java-программ. Пожалуйста, проверьте журналы кустов (файлы истории кустов) для получения дополнительной информации. Пожалуйста, попробуйте удалить ненужную версию банок.