本文最后更新于 952 天前,其中的信息可能已经有所发展或是发生改变。
官网下载
- 进入 Hive官网,点击顶部导航栏的 Release。
- 点击 Downloads 下的 Download a release now!。
- 点击 HTTP 下的链接,跳转到新页面。
- 选择合适的版本,如 hive-3.1.3 开始下载。
前置条件
Hadoop 安装
具体安装过程请参考《Hadoop 离线安装》此篇文章。
PostgreSQL 安装
具体安装过程请参考《PostgreSQL 离线安装》此篇文章。
安装(基于Postgres存储元数据)
- 移动apache-hive-3.1.3-bin.tar.gz文件到Linux服务器
/home目录下并解压tar -zxvf apache-hive-3.1.3-bin.tar.gz - 修改
conf下的配置文件vi hive-site.xml,Hive的配置文件<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- Hive临时目录地址 --> <property> <name>hive.exec.scratchdir</name> <value>hdfs://hadoop-master:9000/hive/tmp</value> </property> <!-- Hive数据目录地址 --> <property> <name>hive.metastore.warehouse.dir</name> <value>hdfs://hadoop-master:9000/hive/warehouse</value> </property> <!-- Hive日志目录地址 --> <property> <name>hive.querylog.location</name> <value>hdfs://hadoop-master:9000/hive/log</value> </property> <!-- Hive存储元数据的数据库驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>org.postgresql.Driver</value> </property> <!-- Hive存储元数据的数据库连接地址 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:postgresql://192.168.232.132:5432/hive</value> </property> <!-- Hive存储元数据的数据库用户名 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>admin</value> </property> <!-- Hive存储元数据的数据库密码 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>76543</value> </property> <!-- 关闭Hive元数据版本认证,否则启动Spark时报错 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> </configuration>vi hive-env.sh,Hive环境变量的配置文件# 指定 Hadoop 路径 HADOOP_HOME=/home/hadoop-3.3.4 # 指定 Hive conf 目录 export HIVE_CONF_DIR=/home/apache-hive-3.1.3-bin/conf # 指定 Hive jar 包目录 export HIVE_AUX_JARS_PATH=/home/apache-hive-3.1.3-bin/lib
- 在HDFS中创建授权文件
# 存放Hive运行时临时文件 hadoop fs -mkdir -p /hive/tmp # 存放Hive数据的目录 hadoop fs -mkdir -p /hive/warehouse # 存放Hive日志的目录 hadoop fs -mkdir -p /hive/log # 文件授权 hadoop fs -chmod -R 777 /hive/tmp hadoop fs -chmod -R 777 /hive/warehouse hadoop fs -chmod -R 777 /hive/log - 配置JDBC驱动包
- 进入PostgreSQL JDBC Driver官网,点击Download
- 在Latest Versions下选择合适的版本,开始下载
- 将下载的jar包移动到
lib目录下
- 初始化Hive元数据
bin/schematool -dbType postgres -initSchema - 运行Hive
bin/hive
运行服务
HiveServer2 服务端
后台启动nohup bin/hiveserver2 1>hiveserver2-info.log 2>&1 &
Beeline 客户端
- 由于Hadoop引入了一个安全伪装机制,不允许上层系统直接将实际用户传递到Hadoop,而是将实际用户传递给一个超级代理,委托该代理在Hadoop上执行操作,以避免任意客户端随意操作。修改
hive-site.xml配置文件,让查询等操作以运行HiveServer2进程的用户执行,如此就有权限了。<property> <name>hive.server2.enable.doAs</name> <value>false</value> </property> - 配置用户名和密码,
hive.jdbc_passwd.auth.用户名,如果有多个用户就写多个<property><property> <name>hive.jdbc_passwd.auth.admin</name> <value>76543</value> </property> - 启动Beeline
# 启动 beeline bin/beeline # Beeline version 3.1.3 by Apache Hive # 连接 hive beeline> !connect jdbc:hive2://192.168.232.70:10000/default # Connecting to jdbc:hive2://192.168.232.70:10000/default # Enter username for jdbc:hive2://192.168.232.70:10000/default: admin # Enter password for jdbc:hive2://192.168.232.70:10000/default: ***** # Connected to: Apache Hive (version 3.1.3) # Driver: Hive JDBC (version 3.1.3) # Transaction isolation: TRANSACTION_REPEATABLE_READ # 查看 database jdbc:hive2://192.168.232.70:10000/default> show databases; # +----------------+ # | database_name | # +----------------+ # | default | # | test | # +----------------+ # 2 rows selected (1.639 seconds)
