提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
Hive-1.2.2版本的安装
记录Linux下hive的安装过程。
一、Hive是什么?
来自AWS的介绍
·
Apache Hive 是可实现大规模分析的分布式容错数据仓库系统。该数据仓库集中存储信息,您可以轻松对此类信息进行分析,从而做出明智的数据驱动决策。Hive 让用户可以利用 SQL 读取、写入和管理 PB 级数据。
Hive 建立在 Apache Hadoop 基础之上,后者是一种开源框架,可被用于高效存储与处理大型数据集。因此,Hive 与 Hadoop 紧密集成,其设计可快速对 PB 级数据进行操作。Hive 的与众不同之处在于它可以利用 Apache Tez 或 MapReduce 通过类似于 SQL 的界面查询大型数据集。
二、安装步骤
1.准备环境
安装前,请确保Hadoop已经安装成功
从apache官网下载
Hive下载连接
这里下载1.2.2版本,进入后选择编译版
2.开始安装
安装包的准备
解压hive安装包
tar -zxvf apache-hive-1.2.2-bin.tar.gz
将文件复制到/usr/local/hive目录
sudo mv apache-hive-1.2.2-bin /usr/local
在/usr/local下创建软连接
sudo ln -snf apache-hive-1.2.2-bin/ hive
环境配置
配置环境变量
编辑文件sudo vim /etc/profile
#Hive Home
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/hadoop/lib/*:.:/usr/local/hive/lib/*
生效配置source /etc/profile
修改配置文件
把初始化的文件 复制一份出来 并且改名
cp hive-env.sh.template hive-env.sh
#hive启动环境配置文件
cp hive-default.xml.template hive-site.xml
#hive配置文件
cp hive-log4j2.properties.template hive-log4j2.properties
#日志配置文件
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
修改hive-env.sh
export HADOOP_HOME=$HADOOP_HOME
#hive配置文件存放路径
export HIVE_CONF_DIR=$HIVE_HOME/conf
#hive相关jar存放路径
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib
hive中存储的数据和产生的临时文件需要存储在hdfs中,因此需要再hdfs中创建相应文件
hadoop fs -mkdir -p /data/hive/warehouse
存放hive运行产生的临时文件
hadoop fs -mkdir -p /data/hive/tmp
存放hive的日志文件
hadoop fs -mkdir -p /data/hive/log
赋予文件夹权限
hadoop fs -chmod -R 777 /data/hive
修改hive-site.xml文件
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://hengxing:9000/data/hive/temp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://hengxing:9000/data/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>hdfs://hengxing:9000/data/hive/log</value>
</property>
#该配置是关闭hive元数据版本认证,否则会在启动spark程序时报错
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
注:1、在配置hdfs文件路径时必须填写完整的hdfs绝对路径,如hdfs:// hdfs://hengxing:9000/data/hive/temp
hengxing:9000为集群namenode所在节点的IP和端口号
2、以上配置需要在hive-site.xml文件中找到需要配置的参数,并修改其默认值。如果只是复制以上配置到hive-site.xml文件会在运行时被默认值覆盖而无法运行
配置元数据存储
我们先以MySQL为元数据存储的数据库,因此需配置MySQL连接信息
修改hive-site.xml
#配置mysql IP 端口以及放元数据的库名称
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3036/hive?createDatabaseIfNotExist=true</value>
</property>
#配置mysql启动器名称
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
#配置连接mysql用户名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
#配置连接mysql用户名登录密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
在MySQL官网下载JDBC驱动包,解压后将其放在hive/lib
下
cp mysql-connector-java-5.1.49.jar /usr/local/hive/lib/
在本地创建临时文件夹
在配置文件 hive-site.xml 里面
把${system:java.io.tmpdir}
改成$HIVE_HOME/tmp/
把${system:user.name}
改成{user.name}
到这里hive就安装成功了
Hive启动
如果你按照我的文章配置了环境变量,那么接下来可以在任何目录下使用此命令
hive
成功后会有如下反应:
hengxing@hengxing:/usr/local/hive/conf$ hive
ls: cannot access '/usr/local/spark/lib/spark-assembly-*.jar': No such file or directory
Logging initialized using configuration in file:/usr/local/apache-hive-1.2.2-bin/conf/hive-log4j.properties
hive>
即进入hive命令行界面
总结
该hive工程使用MySQL作为存储元数据的数据库
安装时请认真检查自己的命令,若严格按照步骤执行,不应该出现错误