1、环境和软件准备:
hive版本:apache-hive-2.3.6-bin.tar.gz,下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
hadoop版本:hadoop-2.9.2.tar.gz
JDK版本:jdk-8u221-linux-x64.tar.gz
mysql版本:8.x
hive-2.x与hadoop-2.x匹配,hive-3.x与hadoop-3.x匹配。数据库主要是存放hive的元数据,可选,本文以mysql为例。
2、安装MySQL并创建hive数据库
详细安装见:CentOS下安装mysql5.7和mysql8.x
3、安装Hadoop
详细安装见:CentOS安装Hadoop
4、解压并配置Hive
将安装文件解压到/usr/local/目录,并重新命名为apache-hive-2.3.6
cd /usr/local/
tar -zxvf /var/ftp/pub/apache-hive-2.3.6-bin.tar.gz
mv apache-hive-2.3.6-bin/ apache-hive-2.3.6/
配置hive-log4j2.properties和hive-site.xml
cd /usr/local/apache-hive-2.3.6/conf/
cp hive-log4j2.properties.template hive-log4j2.properties
vi hive-site.xml
hive-site.xml内容(也可以从hive-default.xml.template拷贝,但我们只需要配置几项,其他配置默认即可)为:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.107.144: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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>abc123</value>
</property>
</configuration>
5、初始化数据库
下载并拷贝protobuf-java-3.6.1.jar和mysql-connector-java-8.0.17.jar到$HIVE_HOME/lib目录下,删除已有的protobuf-java-2.5.0.jar文件。统一hive和mysql服务的时区。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime // hive和mysql服务器都要执行,mysql要重启服务
cd /usr/local/apache-hive-2.3.6/bin/
schematool -dbType mysql -initSchema
命令执行完成后hive将生产以下表:
到这,hive算安装完成了,后面就对hive的操作。
6、Hive基本操作(先启动hadoop和mysql)
进入hive命令行
查询所有所有数据库
无报错,Hive安装完成。
7、使用hiveserver2和beeline
修改$HADOOP_HOME/etc/hadoop/core-site.xml文件,增加如下配置:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
启动hiveserver2:
cd /usr/local/apache-hive-2.3.6/bin/
hiveserver2
hiveserver2 & // 以后台形式运行
进入beeline命令行:
beeline -u jdbc:hive2://192.168.107.143:10000