Hive-0.13.1下载和安装
1. 访问Hive的官方网站http://hive.apache.org/下载hive-0.13.1版本,文件为apache-hive-0.13.1-bin.tar.gz
2. 上传apache-hive-0.13.1-bin.tar.gz到CentOS的用户目录下,我上传目录为~/work/apps。然后使用tar命令解压缩
tar -xzf apache-hive-0.13.1-bin.tar.gz
3. 移动解压后的文件夹到~/work目录下
mv apache-hive-0.13.1-bin ~/work/hive-0.13.1
配置并启动Hive
1. 先启动Hadoop同时保证已经配置了HADOOP_HOME,我是用的是hadoop-2.5.0,使用jips查看hadoop进程可能跟你的不一样,只要你本机的hadoop启动成功就行。
start-all.sh
2. 配置hive-env.sh,进入hive目录的conf目录下使用mv命令创建hive-env.sh文件
mv hive-env.sh.template hive-env.sh
3. 使用vim命令编辑hive-env.sh并添加如下内容,其中HIVE_HOME根据你的实际情况填写,并使用source命令执行生效vim hive-env.sh
# Set HIVE_HOME AND PATH export HIVE_HOME=/home/hadoop/work/hive-0.13.1 export PATH=$PATH:$HIVE_HOME/bin
source hive-env.sh
4. 为了方便,我们把hive-env.sh和hadoop-env.sh添加到当前用户的配置中。使用vim编辑~/.bash_profile,并在末尾添加内容。这样下次再登录到CentOS的使用不需要手动执行这两个shell文件了。
vim ~/.bash_profile
source /home/hadoop/work/hadoop-2.5.0/etc/hadoop/hadoop-env.sh source /home/hadoop/work/hive-0.13.1/conf/hive-env.sh
5. 在hadoop中创建相应的目录,作为hive的数据仓库
hadoop fs -mkdir /tmp hadoop fs -mkdir /user hadoop fs -mkdir /user/hive hadoop fs -mkdir /user/hive/warehouse
6. 启动hive
hive
使用MySql存储Hive的元数据
1. 安装mysql,直接参考mysql的官方网站的安装说明http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
2. 在mysql中创建hive用户
CREATE USER 'hive'@'%' IDENTIFIED BY 'hadoop'; GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
3. 如果是第一次安装mysql请删除mysql的默认用户,使用root登录mysql,执行下面sql
DELETE FROM mysql.user WHERE user=''
4. 使用hive用户登录,然后创建名为hive的数据库
CREATE DATABASE hive
5. 拷贝Mysql的驱动程序到HIVE_HOME/lib目录下面,驱动可以在这里下载http://dev.mysql.com/downloads/connector/j/,然后解压。我们需要的是mysql-connector-java-5.0.8-bin.jar这个文件。
6. 进入HIVE_HOME/conf然后创建hive-site.xml
mv hive-default.xml.template hive-site.xml
7. 使用vim编辑hive-site.xml,修改下面四项信息
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost: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> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hadoop</value> </property>