一、hive安装
1.环境要求
1、 Java 1.7或以上
2、 Hadoop 2.x (preferred), 1.x (not supported by Hive 2.0.0 onward).
2.安装配置
Hive没有才有hadoop、HBase或者是Zookeeper的主从架构,所以只用在所需要的机器上安装即可。
1. 解压
tar -zxvf apache-hive-0.13.1-bin.tar.gz
把解压的文件夹移到自己需要的存放的目录。
2. 配置环境
sudo vi /etc/profile
export HIVE_HOME=/usr/export/servers/apache-hive-0.13.1-bin
export PATH=$$PATH:$HIVE_HOME/bin
环境生效 source /etc/profile
3. 配置hive-env.sh
(1).改名
把hive-env.sh.template 改成hive-env.sh
(2). 配置HADOOP_HOME (hadoop安装目录)
HADOOP_HOME=/usr/export/servers/hadoop-2.6.1
(3). 配置 export HIVE_CONF_DIR (hive的conf目录)
export HIVE_CONF_DIR=/usr/export/servers/apache-hive-0.13.1-bin/conf
4. 在hdfs中建立文件 /tmp和/user/hive/warehouse并修改权限
hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
5. 安装完成
键入hive命令即可,进入hive的CLI命令行模式。
二、 Hive 运行模式及配置
hive元数据库支持的3种运行模式, 内嵌模式、本地模式和远程模式。
内嵌模式
默认的模式,元数据服务和hive运行在同一个JVM中,元数据存储在本地磁盘的Derby中,只能有一个hive会话。
本地模式
使用一个独立的数据库作为元数据的存储组件,如mysql。
安装mysql(Ubuntu)
1. 查看是否已经安装mysql
sudo netstat -tap | grep mysql
没有结果即没有安装。
2. 查看是否已经安装mysql
sudo apt-get install mysql-server
sudo apt-get install mysql-client
最好使用root用户安装,遇到过安装失败的,在root用户下更新update apt-get。
Mysql配置
1. 修改root密码
UPDATE user SET Password=PASSWORD(‘123456’) where USER=’root’;
2. 允许用户远程访问
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1 //找到此内容并且注释
3. 允许root用户远程访问
(1). 进入mysql,进入mysql数据库
(2). mysql数据库下有一个user的表
(3). 查找user表的User,Host列
select User,Host from user;
(4). 找到User列为root,Host列为localhost,修改Host列为‘%’
update user set Host=’%’ where User=’root’ and Host=’localhost’;
flush privileges;
4. 重启mysql
sudo /etc/init.d/mysql restart
hive配置
1. 在hive目录conf下创建hive-site.xml文件,内容初始化为:
2. 在hive-default.xml.template文件中找到如下4个配置内容:
(1):javax.jdo.option.ConnectionURL
(2):javax.jdo.option.ConnectionDriverName
(3):javax.jdo.option.ConnectionUserName
(4):javax.jdo.option.ConnectionPassword
在hive-site.xml添加这四项的配置
拷贝jar包
拷贝mysql驱动jar包,到Hive安装目录的lib下.新的hive版本可能还需要将HIVE_HOME/lib/jline-2.12.jar 这个文件替换掉HADOOP_HOME/share/hadoop/yarn/lib 下原来的版本 (即:将旧版本删除,复制新版本到此目录),否则hive启动将失败
远程模式
hive服务器和元数据服务在不同的jVM下,hive服务器可以访问多个元数据服务器。一般通过JDBC/ODBC访问。