Skip to main content

1. Télécharger Hive

Adresse Téléchargez le logiciel: https://mirrors.tuna.tsinghua.edu.cn/apache/hive / Version téléchargée Voici: Apache-Hive -2.3.3- bin .tar.gz

Paramètres officiels Documentation de configuration: https://cwiki.apache.org/confluence/display/hive/ggett a démarré


]




Lundi, installez la HIVE SIMPLE UTILISATEUR
Database de métastore à distance


]



#解压指定位置安装[admin@node21 software]$ tar zxvf apache-hive-2.3.3-bin.tar.gz -C /opt/module/[admin@node21 module]$ mv apache-hive-2.3.3-bin hive-2.3.3#配置环境变量[admin@node21 hive-2.3.3]$ sudo vi /etc/profile末尾追加export HIVE_HOME=/opt/module/hive-2.3.3export PATH=$PATH:$HIVE_HOME/bin重新编译环境变量生效[admin@node21 hive-2.3.3]$ source /etc/profile


2, Configuration du fichier de hanche

2.1 Modifier Hive-ENV.SHSH
2.2 Modifier Hive-Log4j.properies
[admin@node21 conf]$ cd /opt/module/hive-2.3.3/conf[admin@node21 conf]$ cp hive-env.sh.template hive-env.sh [admin@node21 conf]$ vi hive-env.sh # HADOOP_HOME=${bin}/../../hadoop打开注释修改 HADOOP_HOME=/opt/module/hadoop-2.7.6# export HIVE_CONF_DIR= 打开注释修改 HIVE_CONF_DIR=/opt/module/hive-2.3.3/conf Modifier le journal du journal de la ruche Sang / Opt / Module / Hive- 2.3.3 / Journaux


3, Configuration de MySQL en tant que métasser

Par défaut, les métadonnées de nid d'abeille sont stockées dans Derby Base de données intégrée, mais en général au cas où l'environnement de production utilise MySQL pour stocker des métadonnées d'abeilles.


3.1 Installation MySQL [admin@node21 conf]$ mv hive-log4j2.properties.template hive-log4j2.properties[admin@node21 conf]$ vi hive-log4j2.properties找到 property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}修改 property.hive.log.dir = /opt/module/hive-2.3.3/logs

Adresse de référence: Centos7.5 Installer MySQL5.7.22

Installation MySQL, copie MySQL-Connection-Java- 5.1.9-Bin. JAR est placé sous $ Hive_Home / LIB.
3.2 Documents d'enregistrements


Document de configuration du paramètre: https://cwiki.apache.org/confluence/display/hive/adminmamanal+ métastoreadmin

Copiez la nid d'abeille- par défaut.xml.template est un fichier hive-site.xml, supprimez les informations de configuration dans la configuration, veuillez reconfigurer les informations de connexion de base de données MySQL.


Retirez la commande: le curseur de la ligne de configuration suivante, entrez :.
[admin@node21 software]$ cp mysql-connector-java-5.1.9.jar /opt/module/hive-2.3.3/lib/


4, Run Hive

4.1 Database initiale

de la ruche 2.1, nous devons exécuter le schéma commande après l'étape d'initialisation. Par exemple, utilisez "MySQL" comme type DB.

[admin@node21 conf]$ vi hive-site.xml Sortie de la borne
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <!--Hive作业的HDFS根目录位置 --> <property> <name>hive.exec.scratchdir</name> <value>/user/hive/tmp</value></property><!--Hive作业的HDFS根目录创建写权限 --> <property> <name>hive.scratch.dir.permission</name> <value>733</value></property><!--hdfs上hive元数据存放位置 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property><!--连接数据库地址,名称 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node21:3306/hive?createDatabaseIfNotExist=true</value> </property> <!--连接数据库驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--连接数据库用户名称 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value></property> <!--连接数据库用户密码 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value></property><!--客户端显示当前查询表的头信息 --> <property> <name>hive.cli.print.header</name> <value>true</value></property><!--客户端显示当前数据库名称信息 --> <property> <name>hive.cli.print.current.db</name> <value>true</value></property> </configuration> Après le succès est exécutée, il est possible d'utiliser Navicat Premium pour voir si la base de données de métro a été créée ou non.


4.2 Démarrer la joueInvité HIVE
Démarrage du service Hadoop, utilisant la traduction de Hive CLI (interface de ligne de commande HIVE), mysql> CREATE DATABASE hive; mysql> USE hive; mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; mysql> FLUSH PRIVILEGES; mysql> quit; Traduction et nid d'abeille tels que Effets,

peut entrer la commande suivante au terminal:


[admin@node21 conf]$ schematool -dbType mysql -initSchema
SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/module/hive-2.3.3/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/opt/module/hadoop-2.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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]Metastore connection URL: jdbc:mysql://node21/hive?createDatabaseIfNotExist=trueMetastore Connection Driver : com.mysql.jdbc.DriverMetastore connection User: hiveStarting metastore schema initialization to 2.3.0Initialization script hive-schema-2.3.0.mysql.sqlInitialization script completedschemaTool completed Pour ne pas transférer le client Access Java, lancez le métastoresterver sur le côté serveur et le client utilise les économies Protocole Pour accéder à la base de données Metasfrever Access.

1, serveur de métastore local

dans les réglages métastore / intégrés locaux / intégrés, le composant Metastore Server est utilisé comme une bibliothèque du client Hive. Chaque client de Hive ouvrira la connexion avec la base de données et exécutera des requêtes SQL. Assurez-vous d'accéder à la base de données de la requête de la ruche exécutant la machine car il s'agit de la mémoire locale. Assurez-vous également que la bibliothèque client JDBC est située dans la classe client de la HIVE. Cette configuration est souvent utilisée avec HIVERVER2.

Ici Node 21Il s'agit du serveur MSSQL et du nœud 22 et du serveur de métastore et du client.

[admin@node21 conf]$ hive 1.1 DROIT HIVE MONTÉ UNZIP
which: no hbase in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/module/jdk1.8/bin:/opt/module/jdk1.8/sbin:/opt/module/zookeeper-3.4.12/bin:/opt/module/hadoop-2.7.6/bin:/opt/module/hadoop-2.7.6/sbin:/opt/module/hive-2.3.3/bin:/home/admin/.local/bin:/home/admin/bin)SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/module/hive-2.3.3/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/opt/module/hadoop-2.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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 file:/opt/module/hive-2.3.3/conf/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 rel eases.hive (default)>

Configuration variable d'environnement


Convertir le fichier Conver

1.3.1 Modifier Hive-Env.sh

1.3.2 Modifier Hive-Log4j.Properies


1.3.3 Modifier le site Web de nid d'abeille. XML


Base de données d'exploitation


1.4.1 Méthode [admin@node22 software]$ tar zxvf apache-hive-2.3.3-bin.tar.gz -C /opt/module/[admin@node22 module]$ mv apache-hive-2.3.3-bin hive-2.3.3



[admin@node22 module]$ sudo vi /etc/profile末尾追加export HIVE_HOME=/opt/module/hive-2.3.3export PATH=$PATH:$HIVE_HOME/bin重新编译环境变量生效[admin@node22 hive-2.3.3]$ source /etc/profile



[admin@node22 conf]$ cd /opt/module/hive-2.3.3/conf[admin@node22 conf]$ cp hive-env.sh.template hive-env.sh [admin@node22 conf]$ vi hive-env.sh # HADOOP_HOME=${bin}/../../hadoop打开注释修改 HADOOP_HOME=/opt/module/hadoop-2.7.6# export HIVE_CONF_DIR= 打开注释修改 HIVE_CONF_DIR=/opt/module/hive-2.3.3/conf
[admin@node22 conf]$ mv hive-log4j2.properties.template hive-log4j2.properties[admin@node21 conf]$ vi hive-log4j2.properties找到 property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}修改 property.hive.log.dir = /opt/module/hive-2.3.3/logs
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!--Hive作业的HDFS根目录位置 --> <property> <name>hive.exec.scratchdir</name> <value>/user/hive/tmp</value></property><!--Hive作业的HDFS根目录创建写权限 --> <property> <name>hive.scratch.dir.permission</name> <value>733</value></property><!--hdfs上hive元数据存放位置 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property><!--连接数据库地址,名称 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node21:3306/hive?createDatabaseIfNotExist=true</value> </property> <!--连接数据库驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--连接数据库用户名称 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value></property> <!--连接数据库用户密码 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value></property><!--客户端显示当前查询表的头信息 --> <property> <name>hive.cli.print.header</name> <value>true</value></property><!--客户端显示当前数据库名称信息 --> <property> <name>hive.cli.print.current.db</name> <value>true</value></property> </configuration>
[admin@node22 conf]$ schematool -dbType mysql -initSchema hive hive

Les clients ont commencé:


[admin@node22 ~]$ hive --service metastore S'édition: Échapper
1.4.2 Lundi [admin@node22 ~]$ hive

Service de lancement:

Démarrage de l'invité d'application:


Quitter: [admin@node22 ~]$ hiveserver2
! Escape [admin@node22 ~]$ beeline -u jdbc:hive2://node22:10000 -n hive hive 或者[admin@node22 ~]$ beeline !connect jdbc:hive2://node22:10000 hive hive

2, serveur distant métastore

Ici, le nœud 21 est utilisé comme serveur MySQL, bouton 22 comme serveur métastore et app. 23 App.


2. L'installation de la ruche n'a pas été étalée


Configuration de variables environnementales


2.3 Modifier les fichiers Conf

2.3.1 Modifier Hive-Env.sh [admin@node22 software]$ tar zxvf apache-hive-2.3.3-bin.tar.gz -C /opt/module/[admin@node22 module]$ mv apache-hive-2.3.3-bin hive-2.3.3[admin@node23 software]$ tar zxvf apache-hive-2.3.3-bin.tar.gz -C /opt/module/[admin@node23 module]$ mv apache-hive-2.3.3-bin hive-2.3.3


2.3.2 Modifier Hive-Log4j.Properies


2.3.3 Modifier Hive-Site.xml [admin@node22 module]$ sudo vi /etc/profile[admin@node23 module]$ sudo vi /etc/profile末尾追加export HIVE_HOME=/opt/module/hive-2.3.3export PATH=$PATH:$HIVE_HOME/bin重新编译环境变量生效[admin@node22 hive-2.3.3]$ source /etc/profile[admin@node22 hive-2.3.3]$ source /etc/profile

Configuration du serveur

Configuration du client


修改node22,node23节点的hive-env.sh cd /opt/module/hive-2.3.3/confcp hive-env.sh.template hive-env.sh vi hive-env.sh # HADOOP_HOME=${bin}/../../hadoop打开注释修改 HADOOP_HOME=/opt/module/hadoop-2.7.6 # export HIVE_CONF_DIR= 打开注释修改 HIVE_CONF_DIR=/opt/module/hive-2.3.3/conf
修改node22,node23节点上的hive-log4j2.propertiesmv hive-log4j2.properties.template hive-log4j2.propertiesvi hive-log4j2.properties找到 property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}修改 property.hive.log.dir = /opt/module/hive-2.3.3/logs 2.4 HIVE
Copier MySQL-connector-Java-5.1 .9-bin.jar à honeycomb / liberver serveur.
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!--Hive作业的HDFS根目录位置 --> <property> <name>hive.exec.scratchdir</name> <value>/user/hive/tmp</value></property><!--Hive作业的HDFS根目录创建写权限 --> <property> <name>hive.scratch.dir.permission</name> <value>733</value></property><!--hdfs上hive元数据存放位置 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property><!--连接数据库地址,名称 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node21:3306/hive?createDatabaseIfNotExist=true</value> </property> <!--连接数据库驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--连接数据库用户名称 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value></property> <!--连接数据库用户密码 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value></property><!--客户端显示当前查询表的头信息 --> <property> <name>hive.cli.print.header</name> <value>true</value></property><!--客户端显示当前数据库名称信息 --> <property> <name>hive.cli.print.current.db</name> <value>true</value></property> </configuration>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!--Hive作业的HDFS根目录位置 --> <property> <name>hive.exec.scratchdir</name> <value>/user/hive/tmp</value></property><!--Hive作业的HDFS根目录创建写权限 --> <property> <name>hive.scratch.dir.permission</name> <value>733</value></property><!--hdfs上hive元数据存放位置,默认 --><property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value></property><!--元数据存放路径 --><property> <name>hive.metastore.uris</name> <value>thrift://node22:9083</value></property><!--客户端显示当前查询表的头信息 --> <property> <name>hive.cli.print.header</name> <value>true</value></property><!--客户端显示当前数据库名称信息 --><property> <name>hive.cli.print.current.db</name> <value>true</value></property> </configuration> Mode de démarrage:


Commandes Démarrage du service:

Voir le bouton 22 9083 Port: ]


[admin@node22 conf]$ schematool -dbType mysql -initSchema hive hive

Quatrièmement, la ruche est utilisée fondamentalement

[root@node22 ~]# hive --service metastore2018-06-10 20:23:47: Starting Hive Metastore Server Files Student.txt existant, en nid d'abeille, format de données étudiant.txt est aussi Suit:
[root@node22 ~]# netstat -nptl | grep 9083 1, créez une nouvelle base de données
[root@node23 ~]# hiveSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/module/hive-2.3.3/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/opt/module/hadoop-2.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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 file:/opt/module/hive-2.3.3/conf/hive-log4j2.properties Async: trueHive-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 (default)>



95002,刘晨,女,19,IS95017,王风娟,女,18,IS95018,王一,女,19,IS95013,冯伟,男,21,CS95014,王小丽,女,19,CS95019,邢小丽,女,19,IS95020,赵钱,男,21,IS95003,王敏,女,22,MA95004,张立,男,19,IS95012,孙花,女,20,CS95010,孔小涛,男,19,CS95005,刘刚,男,18,MA95006,孙庆,男,23,CS95007,易思玲,女,19,MA95008,李娜,女,18,CS95021,周二,男,17,MA95022,郑明,男,20,MA95001,李勇,男,20,CS95011,包小柏,男,18,MA95009,梦圆圆,女,18,MA95015,王君,男,18,MA

3, Visuez la base de données en utilisant actuellement 4, créez une carte d'étudiant dans la base de données MyHive . 5, données chargées dans le tableau 6, Données de requête 7 , voirStructure de surface Analyse d'erreur 1, aucune base de données d'initialisation 2, Impossible de trouver Hadoop Home Vous ne pouvez pas trouver l'installation: Hadoophomehadoophomehadoophadoophomorhadoophadoophomorhadoophadoophomehadoop_prefix doit être placé ou hadoop doit être dans le chemin Lorsque vous trouvez: echo $ hadoop_home, vous pouvez voir le contenu Enfin trouvé des problèmes de modification Conf / Hive-env, installer le chemin de Hadoop à tolérement.

Sujets

Catégories