目录
安装
说明:安装hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(需要在所有namenode上安装),可以不在datanode节点的机器上安装。
http://hive.apache.org/downloads.html
对照关系:
首先拷贝mysql-connector-java-5.1.18-bin.jar 到lib
然后安装mysql 开通远程访问权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# mv apache-hive-3.1.2-bin /home/hive
# vi /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
# source /etc/profile
# hive --version
配置
# cd /home/hive/conf
hive-site.xml
<?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.10.2:3306/hive</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>root</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
以上配置还有其他几个重要属性如下:
hive.metastore.uris:指定hive元数据访问路径
hive.metastore.warehouse.dir:(HDFS上的)数据目录
hive.exec.scratchdir:(HDFS上的)临时文件目录
hive.metastore.warehouse.dir默认值是/user/hive/warehouse
hive.exec.scratchdir 默认值是 /tmp/hive-${user.name}
hive-env.sh
HADOOP_HOME=/home/hadoop/hadoop-3.1.4
export HIVE_CONF_DIR=/home/hive/conf
export HIVE_AUX_JARS_PATH=/home/hive/lib
hive依赖hadoop,与hadoop的关联就体现在(HADOOP_HOME=/home/hadoop/hadoop-3.1.4 )
初始化数据库
# /home/hive/bin
# schematool -dbType mysql -initSchema
启动Hive
Hive的HQL操作和SQL几乎一样,default为系统自带数据库:
测试
(1) Hive创建数据库
hive> create database hive1;
OK
Time taken: 0.483 seconds
hive> show databases;
OK
default
hive1
Time taken: 0.038 seconds, Fetched: 2 row(s)
(2)Hadoop 数据位置
Dbeaver连接
首先、修改在hive/conf目录下的hive-site.xml
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>127.0.0.1</value>
</property>
这一段配置是用来绑定hiveserver2的端口号,默认是10000,这个就不改了,第二个是绑定host,我是伪分布式所以是localhost(127.0.0.1).
其次、hadoop的core-site.xml中加入以下:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
如果是xx用户就写
<property>
<name>hadoop.proxyuser.xx.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xx.groups</name>
<value>*</value>
</property>
驱动自己下载(自动下载没用)
无用户名、密码登录
带用户名、密码登录
修改hive-site.xml
具体参考:https://www.itengying.com/articles/204ff6e0a6da35
Hql样例