Мне не удалось заставить его работать, но WebHCat на самом деле установлен по умолчанию на экземпляре Amazon EMR.
Чтобы запустить его, вам нужно сделать следующее,
chmod u+x /home/hadoop/hive/hcatalog/bin/hcat
chmod u+x /home/hadoop/hive/hcatalog/sbin/webhcat_server.sh
export TEMPLETON_HOME=/home/hadoop/.versions/hive-0.11.0/hcatalog/
export HCAT_PREFIX=/home/hadoop/.versions/hive-0.11.0/hcatalog/
/home/hadoop/hive/hcatalog/webhcat_server.sh start
Затем вы можете подтвердить, что он работает на порту 50111, используя curl,
curl -i http://localhost:50111/templeton/v1/status
Чтобы попасть на 50111 на других машинах, вы должны открыть порт в группе безопасности EC2 EMR.
Затем вам нужно настроить пользователей, которых вы собираетесь «прокси», когда вы запускаете запросы в hcatalog. На самом деле я не сохранял эту конфигурацию, но она обрисована в Документация WebHCat. Я бы хотел, чтобы у них были какие-то конкретные примеры, но в основном я настроил локального пользователя «hadoop» как того, кто запускает запросы, не самый безопасный способ, я уверен, но я просто пытался его запустить и запустить .
Попытка запроса затем дала мне эту ошибку,
{"error":"Сервер IPC версии 9 не может связаться с клиентом версии 4"}
Обходной путь состоял в том, чтобы отключить последний образ EMR (3.0.4 с Hadoop 2.2.0) и переключиться на образ Hadoop 1.0 (2.4.2 с Hadoop 1.0.3).
Затем я столкнулся с другими проблемами, из-за которых он не мог правильно найти банку Hive, после еще большей борьбы с конфигурацией я решил, что потратил достаточно времени, пытаясь заставить это работать, и решил напрямую связаться с Hive (используя RBHive для Ruby и JDBC для JVM).
Чтобы ответить на мой собственный вопрос, можно запустить WebHCat на EMR, но это вообще не задокументировано (гугление ни к чему меня не привело, поэтому я изначально создал этот вопрос, в настоящее время это первое попадание при поиске «WebHCat EMR» ) и документация по WebHCat оставляет желать лучшего. Заставить его работать кажется болью, хотя я надеюсь, что, написав начальные шаги, кто-то придет, проделает остальную часть пути и опубликует полный ответ.
person
James McMahon
schedule
03.04.2014