共计 3259 个字符,预计需要花费 9 分钟才能阅读完成。
0. 安装环境和版本
Ubuntu 16.04,Hadoop 版本是 2.7.2,选择 Hive 版本为 hive-2.1.17
1. Hive 安装包下载
地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
2. 上传到服务器后解压
sudo mv apache-hive-2.1.1-bin.tar.gz /usr/local
sudo tar zxvf apache-hive-2.1.1-bin.tar.gz
sudo mv apache-hive-2.1.1-bin hive
sudo chown –R hadoop:hadoop hive
3. 配置
sudo vi /etc/profile.d/hadoop.sh
添加以下内容:
#For Hive
export HIVE_HOME=/usr/local/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin 复制代码
保存后使用命令:source /etc/profile 使环境变量立即生效
4. 下载并设置好 jdbc connector
从此处下载:https://dev.mysql.com/downloads/connector/j/
记住,将解压出来的 jar 放入 hive 的 lib 中
sudo cp mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib/ 或
ln -s /usr/share/java/mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib/mysql-connector-java-5.1.42-bin.jar
5. 配置 MySQL 作为 Hive 的元数据存储库
如果没有安装好 MySQL,先在服务器装好 MySQL。
1) 创建 hive 数据库和用户
GRANT all privileges on *.* TO ‘hive’ identified by ‘Hive@12345’;
create database hive;
flush privileges;
6. 配置 hive-site.xml 文件
1) 配置 hive-site.xml 文件
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml
修改:
<name>hive.metastore.schema.verification</name>
<value>true</value> 改为
<name>hive.metastore.schema.verification</name>
<value>false</value>
设置 HIVE 元数据库连接信息:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
7. 初始化数据库
在使用 hive 或者 hive –service cli 来运行之前需要初始化数据库,如果在初始化之前已经运行了上述命令并且失败,则需要删除产生的 metastore_db 文件
使用命令 schematool -initSchema -dbType mysql 初始化 mysql 数据库
出现以下几行说明初始化成功:
8. 启动 Hive 服务
启动 hive 常用的两个服务
# 使用这个服务,可以让 metastore 作为一个单独的(远程)进程运行
nohup hive –service metastore 2>&1 >> /var/log.log &
# 让 Hive 以提供 Trift 服务的服务器形式运行,允许用不同语言编写的客户端进行访问
nohup hive -–service hiveserver2 2>&1 >> /var/log.log &
9. 复制 hive 到其他从节点
将 hive 文件夹 scp 到其他从节点中,这样在其他服务器上也能访问 hive
10. 报错解决
1) 异常信息:
异常信息:
Exception in thread “main” Java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at org.apache.Hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
解决:
查看 hive-site.xml 配置,会看到配置值含有 ”system:java.io.tmpdir” 的配置项
2. 新建文件夹在 hive 目录下新建一个 tmp 目录
3. ${system:java.io.tmpdir}/${system:user.name} 这两个一起替换为 /usr/local/hive/tmp 路径, 有两个地方要替换
Hive 编程指南 PDF 中文高清版 https://www.linuxidc.com/Linux/2015-01/111837.htm
基于 Hadoop 集群的 Hive 安装 https://www.linuxidc.com/Linux/2013-07/87952.htm
Hive 内表和外表的区别 https://www.linuxidc.com/Linux/2013-07/87313.htm
Hadoop + Hive + Map +reduce 集群安装部署 https://www.linuxidc.com/Linux/2013-07/86959.htm
Hive 本地独立模式安装 https://www.linuxidc.com/Linux/2013-06/86104.htm
Hive 学习之 WordCount 单词统计 https://www.linuxidc.com/Linux/2013-04/82874.htm
Hive 运行架构及配置部署 https://www.linuxidc.com/Linux/2014-08/105508.htm
Hive 安装及与 HBase 的整合 https://www.linuxidc.com/Linux/2016-12/138721.htm
Hive 的详细介绍 :请点这里
Hive 的下载地址 :请点这里