一、简介
hive是基于hadoop的一种数据仓库工具,可以将结构化的文件映射成为数据库的一张表,并提供简单sql查询功能,底层实现是转化为MapReduce任务计算。
二、安装
(1)下载
从cdh下载页下载
http://archive.cloudera.com/cdh5/cdh/5/
hive-1.1.0-cdh5.11.1.tar.gz
下载好后上传至服务器的/home/hadoop/software,并解压至/home/hadoop/app目录下
mv hive-1.1.0-cdh5.11.1.tar.gz hive
(2)配置
配置hive-env.sh(在hive主目录下的conf文件夹下)
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/home/hadoop/app/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/hadoop/app/hive/conf
配置hive-site.xml
由于hive中的元数据(即所有的数据库信息、表信息、及表字段信息)需要存储在关系型数据库中,而hive内置了derby数据库,但是使用这个数据库的缺点是,
hive提供的hiveserver2只能一个用户访问,所以需要配置mysql,使元数据存储在mysql上
(3)安装mysql
安装mysql很容易,使用yum安装即可
首先卸载已经有的mysql
sudo rpa -qa|grep mysql
sudo yum remove ...
sudo rm -rf /etc/my.conf
安装:
sudo yum install mysql mysql-server mysql-devel -y
安装完成后,设置为跟随机器启动
chkconfig mysqld on
启动mysql服务
service mysqld start
设置mysql密码
(一开始安装好后,密码为空直接进去即可)
mysql -uroot -p
进去命令行之后,设置密码
SET PASSWORD=PASSWORD("123456")
设置所有用户都可以用root用户连接进来
javax.jdo.option.ConnectionURL
jdbc:mysql://hadoop001:3306/metastore_new?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
123456
password to use against metastore database
hive.server2.thrift.port
10000
hive.server2.thrift.bind.host
hadoop001
hive.metastore.uris
thrift://hadoop001:9083
(5)下载mysql驱动包到hive的lib目录下
(6)bin/hive
即可打开命令行