Создайте автономную версию hive.
Создайте автономную версию hive.

Чтобы изучить hive SQL, я создал автономную версию hive, проверил информацию в Интернете и прошел через множество ошибок. Краткое изложение таково.

Чтобы установить Hive, вам необходимо сначала установить JDK, Hadoop и MySQL, а затем установить Hive.

1. Установите JDK

Рекомендуется установить версию jdk8 для Oracle. Хотя официальных требований к использованию версии jdk8 для Oracle не существует, я обнаружил, что версии jdk, отличные от Oracle, или версии jdk8 или выше для Oracle требуют дополнительной настройки, а их очень мало. информация в Интернете.

1.1 Получите jdk-8u161-linux-x64.tar.gz

1.2 Бег

Язык кода:javascript
копировать
#tar -xzf jdk-8u161-linux-x64.tar.gz -C /usr/local/
# cd /usr/local/
#mv jdk1.8.0_161 java
#gedit ~/.bashrc
Язык кода:javascript
копировать
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
Язык кода:javascript
копировать
# source ~/.bashrc
# java -version
ava version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

2. Установите Hadoop

2.1 Установка и настройка ssh

2.1.1 Установите SSH

Язык кода:javascript
копировать
# sudo apt-get install openssh-server

После завершения установки используйте команду

Язык кода:javascript
копировать
# ssh localhost

Войти не удастся

2.1.2 Настройка входа в систему без пароля по ssh

Язык кода:javascript
копировать
#exit                                    # Выйти прямо сейчас ssh localhost
# cd ~/.ssh/                             # Если такого каталога нет, выполните ssh еще раз. localhost
# ssh-keygen -t rsa                      # Появится подсказка, просто нажмите Enter.
# cat ./id_rsa.pub >> ./authorized_keys  # Добавить авторизацию

2.2 Установка и настройка Hadoop

2.2.1 загрузка и установка Hadoop

Скачать Hadoop-3.3.6.tar.gz

Язык кода:javascript
копировать
#tar -xzf hadoop-3.3.6.tar.gz -C /usr/local/
#cd /usr/local/
#mv hadoop-3.3.6 hadoop
#chown -R hadoop ./hadoop       #Предыдущий Hadoop — это имя пользователя, просто измените его на свое собственное имя пользователя
#gedit ~/.bashrc
Язык кода:javascript
копировать
export HADOOP_HOME=/usr/local/hadoop    
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
Язык кода:javascript
копировать
# source ~/.bashrc
# hadoop version
Hadoop 3.3.6
Source code repository https://github.com/apache/hadoop.git -r 1be78238728da9266a4f88195058f08fd012bf9c
Compiled by ubuntu on 2023-06-18T08:22Z
Compiled on platform linux-x86_64
Compiled with protoc 3.7.1
From source with checksum 5652179ad55f76cb287d9c633bb53bbd
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-3.3.6.jar

2.2.2 Автономная конфигурация Hadoop

Установленный Hadoop по умолчанию имеет автономную конфигурацию и может работать без другой конфигурации. Пример использования статистики слов, поставляемой с Hadoop, выглядит следующим образом:

Язык кода:javascript
копировать
#cd /usr/local/hadoop
# mkdir ./input
# cp ./etc/hadoop/*.xml ./input   # Файл конфигурации как входной файл
#./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'    
# cat ./output/*                 # Посмотреть результаты бега

выход

Язык кода:javascript
копировать
1    dfsadn

2.2.3 Автономная конфигурация Hadoop

Язык кода:javascript
копировать
#gedit /usr/local/hadoop/etc/hadoo/core-site.xml
Язык кода:javascript
копировать
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
Язык кода:javascript
копировать
#gedit /usr/local/hadoop/etc/hadoo/hdfs-site.xml
Язык кода:javascript
копировать
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

3) Используйте команду в /usr/local/hadoop.

Язык кода:javascript
копировать
# ./bin/hdfs namenode -format           #Реализуем форматирование namenode

4) Разрешить пользователю root запускать Hadoop

Hadoop не позволяет пользователю root запускаться по умолчанию, но, например, для облегчения обучения мы можем использовать для запуска пользователя root.

Язык кода:javascript
копировать
# /etc/profile
Язык кода:javascript
копировать
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

5) Разместите Hadoop JAVA_HOME

Язык кода:javascript
копировать
#gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
Язык кода:javascript
копировать
export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/usr/local/hadoop

6)

Язык кода:javascript
копировать
#sbin/start-dfs.sh                                #Открываем namenode и datanode

7)

Язык кода:javascript
копировать
#jps
37153 DataNode                       #DataNode
43796 Jps
37380 SecondaryNameNode              #Второе имяNode
37013 NameNode                       #NameNode

8) Установите пряжу (не обязательно).

Работайте в /usr/local/hadoop.

Язык кода:javascript
копировать
#cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
#gedit etc/hadoop/mapred-site.xml
Язык кода:javascript
копировать
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

9)

Язык кода:javascript
копировать
#gedit etc/hadoop/yarn-site.xml
Язык кода:javascript
копировать
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

10) Запускаем менеджер ресурсов

Язык кода:javascript
копировать
#./sbin/start-yarn.sh
#./sbin/mr-jobhistory-daemon.sh start historyserver #Просмотр исторических задач

11) После успешного запуска вы можете получить доступ к диспетчеру ресурсов кластера по адресу http://localhost:8088/cluster.

3. Установите MySQL

3.1 Проверьте, установлен ли на этом компьютере MySQL или MariaDB.

Определите, установлена ​​ли MariaDB

Язык кода:javascript
копировать
#sudo dpkg -l | grep maria

Определите, установлен ли MySQL

Язык кода:javascript
копировать
#sudo dpkg -l | grep mysql

3.2 Удалите MySQL или MariaDB

Если MySQL или MariaDB были установлены ранее, мы рекомендуем удалить их.

Удалите ранее установленный MySQL:

Язык кода:javascript
копировать
#sudo apt autoremove mysql-*

Удалите ранее установленную MariaDB:

Язык кода:javascript
копировать
#sudo apt autoremove mariadb-*

3.3 Установите MariaDB

Язык кода:javascript
копировать
#sudo apt update
#sudo apt install mariadb-server

3.4 Проверка статуса службы MariaDB

Язык кода:javascript
копировать
#sudo systemctl status mariadb

3.5 Базовая конфигурация

Язык кода:javascript
копировать
#sudo mysql_secure_installation
Язык кода:javascript
копировать
1)Enter current password for root (enter for none):
(По умолчанию MariaDB не имеет пароля, просто введите)
2)Switch to unix_socket authentication [Y/n] n
(При переключении аутентификации безопасности unix_socket введенное здесь n означает отсутствие переключения)
3)Change the root password? [Y/n] y
(Если нужно изменить пароль учетной записи root, введите y, чтобы изменить пароль root.
Уведомление:
- Лучше всего использовать сложный пароль для пароля root, иначе вам может потребоваться добавлять sudo каждый раз при подключении к MariaDB.
- При установке пароля курсор не будет прыгать при вводе пароля.
- В этой статье установлен пароль 12345)
4)Remove anonymous users? [Y/n] y
(Если удалять анонимных пользователей, введите здесь y, то есть удалить анонимных пользователей
По умолчанию MariaDB устанавливается с анонимным пользователем, что позволяет любому использовать MariaDB без создания для него учетной записи, которую необходимо удалить в производственной среде)
5)Disallow root login remotely? [Y/n] y    
(Разрешены ли удаленные учетные записи Авторизоваться root, в противном случае на локальном хосте разрешены только учетные записи Авторизоваться root. Введенное здесь значение y означает, что удаленные учетные записи Авторизоваться root не разрешены)
6)Remove test database and access to it? [Y/n] y
(Удалять ли тестбазу данные, введенные здесь, предназначены для удаления тестовой базы данных
По умолчанию в MariaDB есть тестбаза. данные, позволяет любому пользователю получить)
7)Reload privilege tables now? [Y/n] y
(Нужно ли перезагрузить таблицу разрешений,Они вошли сюда,то есть перезагрузить сразу)

4. Установите Улей

4.1 Загрузите установочный пакет Hive

apache-hive-2.3.9-bin.tar.gz

4.2 Установка улья

Язык кода:javascript
копировать
#tar -xzf apache-hive-2.3.9-bin.tar.gz -C /usr/local/
#cd /usr/local/
#mv apache-hive-2.3.9 hive
#gedit ~/.bashrc
Язык кода:javascript
копировать
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
Язык кода:javascript
копировать
#source ~/.bashrc

4.3 Загрузите драйвер MySQL

Скачать mysql-connector-java-5.1.49.tar.gz

Язык кода:javascript
копировать
#tar -xvf mysql-connector-java-5.1.49.tar.gz
#cp mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /usr/local/hive/lib

4.4 Изменение файла конфигурации hive-site.xml

Помните: автономная версия включает только следующий контент, удалите лишнее. Я здесь, чтобы следить за вами.

Язык кода:javascript
копировать
#gedit conf/hive-site.xml
Язык кода:javascript
копировать
<?xml version="1.0"
encoding="UTF-8" standalone="no"?>
<?xml-stylesheet
type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- MySQLбаза данныхадрес -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<!-- MySQLбаза данныхводить машину -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- MySQLбаза данныхсчет -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<!-- MySQLбаза данныхпароль -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive_pwd</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>

4.5 Инициализация метаданных

1) База данных авторизует учетную запись

Язык кода:javascript
копировать
#mysql -uroot -p123456
mysql>grant all privileges on hive.* to 'hive'@'%' identified by 'hive_pwd';

2) Инициализировать метаданные

Язык кода:javascript
копировать
#schematool -dbType mysql -initSchema

3) Запустить улей

Язык кода:javascript
копировать
# hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-2.3.9.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive>
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.