Как да инсталирате HIVE на Ubuntu (Ръководство за изтегляне и настройка)
⚡ Умно обобщение
Apache Hive се инсталира на Ubuntu като тънък слой от хранилище за данни над вече работещ Hadoop клъстер, така че настройката е най-вече въпрос на разопаковане на един архив и насочване на три променливи на средата към правилните директории.

Преди инсталирането на Apache Hive се нуждаем от специален Hadoop инсталация, готова и работеща с всички демони на Hadoop.
За инсталиране на Hadoop проверете това връзка.
След като всички демони на Hadoop работят добре, просто започнете инсталирането на Hive частта. Ръководството по-долу преминава през четири етапа:
Процес на инсталиране на Apache Hive
- Предварителни изисквания и съвместимост на версиите
- Инсталиране на Hive
- Инициализация на схемата на Metastore
- Команди на Hive shell
Предварителни изисквания за инсталиране на Apache Hive на Ubuntu
Hive не е самостоятелна база данни. Това е слой за заявки, който преобразува HiveQL в задачи, изпълнявани на съществуващ клъстер, така че почти всяка неуспешна инсталация tracвръща се към липсващо предварително условие, а не към самия Hive. Проверете следното, преди да изтеглите каквото и да било:
- Поддържан JDK. Hive 4.1.x работи на JDK 17, докато Hive 4.2.x повишава минималната версия до JDK 21. Проверете версията с java -version и се уверете, че JAVA_HOME е експортиран.
- Работещ Hadoop клъстер. И NameNode, и DataNode трябва да са активни. Изпълнете японска версия и потвърдете, че NameNode, DataNode, ResourceManager и NodeManager се появяват в списъка.
- Достъп за запис в HDFS. Акаунтът, който стартира Hive, се нуждае от разрешение за създаване на директории под HDFS.
- Съвпадащи версии. Hive 4.2.0 е изграден на базата на Hadoop 3.4.1 и Tez 0.10.5. Линията Hive 3.x достигна края на жизнения си цикъл през октомври 2024 г., така че нова инсталация би трябвало да е насочена към линията 4.x.
- Безплатни ресурси. Едно-възлова обучителна система е удобна с приблизително 4 GB RAM и 20 GB свободен диск.
С отметнати квадратчета, последователността на изтегляне и разархивиране по-долу протича без изненади.
Как да инсталирате Hive на Ubuntu
По-долу е даден процес стъпка по стъпка за това как да инсталирате Hive в Ubuntu:
Стъпка 1) Изтеглете и инсталирайте Hive on Ubuntu
За изтегляне на стабилната конфигурация на Hive, вижте Apache URL както е посочено по-долу.
https://www.apache.org/dyn/closer.cgi/hive/ — отидете до URL и изберете връзката за изтегляне на огледалния сървър на Apache. Страница за изтегляне на Apache Hive изброява коя версия се съчетава с коя версия на Hadoop.
Огледалната страница се отваря със списъка с налични директории за издания на Hive, както е показано по-долу.
Изберете най-новата версия на Hive. (В моя текущ случай това е hive – 3.1.2.) Папката с издания изброява двоичните и изходните архиви един до друг.
Кликнете върху bin файла и изтеглянето ще започне.
Стъпка 2) Примерtract tar файла
Отидете до местоположението на изтегления tar файл, след което extract tar файла, като използвате следната команда, за да инсталирате Hive на Ubuntu на вашата система.
tar -xvf apache-hive-3.1.2-bin.tar.gz
Терминалът повтаря всеки файл, докато той се разопакова в новата директория на Hive.
Стъпка 3) Поставете различни конфигурационни свойства в Apache Hive
В тази стъпка ще направим две неща:
- Поставяне на началния път на Hive във файла bashrc
- Поставяне на местоположението на началния път на Hadoop в hive-config.sh
1) Споменете пътя до Hive в ~/.bashrc
Отворете файла за редактиране с командата, показана по-долу.
- Отворете bashrc файла, както е показано на екранната снимка по-горе
- Споменете пътя към началния адрес на Hive, т.е. пътя HIVE_HOME, във файла bashrc и го експортирайте, както е показано по-долу.
Code да бъде поставено в bashrc:
export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin" export PATH=$PATH:$HIVE_HOME/bin
Презаредете файла с източник ~ / .bashrc така че новият път влиза в сила в текущата терминална сесия.
2) Експортиране на пътя на Hadoop в hive-config.sh
За да комуникираме с екосистемата Hadoop, дефинираме началния път на Hadoop в конфигурационния файл на Hive. Отворете hive-config.sh, както е показано по-долу.
Споменете пътя HADOOP_HOME във файла hive-config.sh, както е показано по-долу.
Стъпка 4) Създайте Hive директории в Hadoop
За да комуникираме с Hadoop, трябва да създадем директории в Hadoop, както е показано по-долу. Hive записва управлявани таблични данни в директорията на хранилището, а изхода за етапинг (staging) се съхранява в директорията tmp.
Предоставяне на root права за създаване на Hive папки в Hadoop. Ако не се появи съобщение за грешка, това означава, че Hadoop успешно е предоставил разрешения за Hive папките.
Стъпка 5) Влезте в обвивката на кошера
Влезте в обвивката на кошера, като въведете '. /кошер' командата, както е показано по-долу.
Как да инициализирате схемата на Hive Metastore
Hive съхранява всяко име на таблица, име на колона и тип данни в релационно хранилище, наречено metastore. При нова инсталация това хранилище е празно и от Hive 3.x нататък shell-ът отказва да се стартира, докато таблиците на схемата не съществуват. Помощната програма schematool, която се доставя в директорията bin на Hive, ги създава.
За обучение с един потребител, включената в пакета база данни Derby е достатъчна:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Командата отпечатва създадената от нея версия на схемата и завършва с schemaTool е завършенDerby записва файловете си в директорията, от която е изпълнена командата, така че винаги стартирайте Hive от същата директория след това.
Дерби приема само една активна сесия в даден момент, което го прави неподходящ за споделен клъстер. Насочете кошера към MySQL вместо това, като добавите свойствата на връзката към hive-site.xml и стартирате отново инструмента с различен тип база данни:
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
Пълният списък с имоти и разположението на драйверите са разгледани в ръководството за това как да конфигурирайте метахранилището на Hive с MySQLСтрува си да се запомнят още два знамена:
- -инфо докладва версията на схемата, записана в момента в метахранилището, без да променя нищо.
- -upgradeSchema мигрира съществуващ метахранилище към версията на схемата на новоинсталираната версия на Hive.
След като схемата е налице, обвивката е готова да приеме първия си HiveQL оператор.
Команди на Hive shell
Тук ще създадем примерна таблица, използвайки командата „create“ на обвивката на Hive с имена на колони.
Примерен код за създаване на база данни в Hive. Екранната снимка по-долу показва изхода на командата create и командата describe един след друг.
От горната екранна снимка можем да наблюдаваме следното:
1) Създаване на примерна таблица с имена на колони в Hive
- Тук името на таблицата е „продукт“ с три имена на колони продукт, име и цена
- Имената на трите колони са обозначени със съответния им тип данни
- Всички полета се завършват със запетая ', '
2) Показване на информация за таблицата Hive
- С помощта на командата „describe“ можем да видим информацията за таблицата, налична в Hive.
- Тук се показват имената на колоните със съответните им типове данни, присъстващи в схемата на таблицата.
- Накрая ще се покаже времето, необходимо за изпълнение на тази команда, и броят на извлечените редове.
Примерен код за създаване на база данни в Кошер (за самостоятелна проверка)
1) Създаване на таблица product(product int, pname string, price float)
Row format delimited Fields terminated by ',';
2) опишете продукта;
След като таблицата отговори на задачата за описание, обвивката, метахранилището и HDFS се свързват. Оттук нататък същата сесия приема по-широкия създаване, промяна и премахване на таблица изявления и подреждане по, групиране по и клъстериране по запитвания.
Често срещани грешки при инсталиране на Hive Ubuntu и как да ги поправим
Повечето грешки при първо стартиране идват от средата около Hive, а не от самия Hive. Таблицата по-долу съпоставя съобщенията, които се появяват най-често, с причината за тях и командата, която ги изчиства.
| Съобщение на екрана | Вероятна причина | Фиксирайте |
|---|---|---|
| кошер: командата не е намерена | HIVE_HOME/bin не е в PATH | Проверете отново редовете за експорт в bashrc, след което изпълнете източник ~ / .bashrc |
| Информация за версията не е намерена в метастора | Схемата на метахранилище никога не е била инициализирана | Стартирайте schematool с -initSchema за избрания тип база данни |
| Повикването към localhost:9000 е неуспешно поради изключение за връзка | HDFS не работи | Стартирайте демоните на Hadoop и потвърдете, че NameNode и DataNode се появяват в японска версия |
| Възелът с име е в безопасен режим | NameNode все още е в безопасен режим при стартиране | Излезте от безопасен режим с hdfs dfsadmin -safemode напускане |
| Разрешението е отказано: access=WRITE on /user/hive/warehouse | Директорията на хранилището няма групово разрешение за запис | Кандидатствайте отново hdfs dfs -chmod g+w в директориите warehouse и tmp |
| NoSuchMethodError на Preconditions.checkArgument | Hive и Hadoop доставят различни версии на Guava jar | Изтрийте по-стария Guava jar файл в директорията Hive lib и копирайте този от Hadoop на негово място. |
Бърз начин за разграничаване на проблем с Hive от проблем с Hadoop е да се изпълни японска версия първо. Ако демоните липсват, проблемът е в клъстера; ако те са налични и обвивката все още се проваля, проблемът е в конфигурацията на Hive или схемата на метастора. След като обвивката е стабилна, HiveQL оператори и вградени функции препратката е естествената следваща спирка.







