本文共 3756 字,大约阅读时间需要 12 分钟。
前提:安装好hadoop集群和jdk。在使用多台虚拟机还需要安装好zookeeper。
Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理,主要提供以下功能
Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。下面分别来介绍。
Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中(如果数据是在HDFS上;但如果数据是在本地文件系统中,那么是将数据复制到表所在的目录中)。
1.上传安装包进行解压。使用tar命令进行解压,tar -zxvf apache-hive-2.0.0-bin.tar.gz -C /usr/local/src/
cd /usr/local/src
3.移动文件 :mv /usr/local/src/apache-hive-2.0.0-bin /usr/local/src/hive
4.给文件加权限:chown -R hadoop:hadoop hive
5.在cd ~目录下编辑/etc/profile文件。vi /etc/profile
将以下配置信息添加到/etc/profile文件的末尾。
# set Hive environmentexport HIVE_HOME=/usr/local/src/hive # Hive安装目录export PATH=$HIVE_HOME/bin:$PATH # 添加将Hive的bin目录export HIVE_CONF_DIR=$HIVE_HOME/conf #Hive的环境变量
6.使用命令对配置文件进行刷新 source /etc/profile
1.配置hive-site.xml文件:在安装hive目录下的conf文件夹下添加文件
在配置文件当中添加内容:javax.jdo.option.ConnectionURL jdbc:mysql://master:3306/hive_db?createDatabaseIfNotExist=true javax.jdo.option.ConnectionUserName hive javax.jdo.option.ConnectionPassword Password123$ javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver hive.downloaded.resources.dir /usr/local/src/hive/tmp hive.exec.local.scratchdir /usr/local/src/hive/tmp/${ hive.session.id}_resources hive.querylog.location /usr/local/src/hive/tmp hive.server2.logging.operation.log.location /usr/local/src/hive/tmp/operation_logs hive.server2.webui.host master hive.server2.webui.port 10002
文件内容详解:
javax.jdo.option.ConnectionURL
: JDBC连接字符串,默认为自带的metastore_db数据库,现以MySQL作为元数据存储地址,需建立JDBC连接,且hive_db处为实验二中创建的MySQL数据库,存储元数据。
javax.jdo.option.ConnectionUserName
:连接MySQL的hive操作用户,实验二创建。 javax.jdo.option.ConnectionPassword
:连接MySQL的hive操作用户密码,实验二创建。 javax.jdo.option.ConnectionDriverName
:配置数据库连接驱动。 hive.downloaded.resources.dir
:远程资源下载的临时目录。 hive.server2.webui.host
:hiveserver2 WebUI页面访问地址。 hive.server2.webui.port
: hiveserver2 WebUI页面访问端口。 除此之外,Hive默认配置文件为hive-default.xml.template
。若用户没有对相关配置参数进行修改,Hive将读取默认配置文件参数进行启动,其他重要配置信息如:
hive.metastore.warehouse.dir
:HDFS上存储配置数据仓库的目录。
hive.exec.scratchdir
:hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果。 需要在HDFS上新建Hive的数据仓库文件夹,并赋予读写权限。使用以下命令
hadoop fs -mkdir -p /user/hive/warehousehadoop fs -chmod g+w /user/hive/warehousemkdir /usr/local/src/hive/tmp
2.配置hive-env.xml
在此处设置Hive和Hadoop环境变量,这些变量可以使用控制Hive的执行。直接执行命令 在文件当中添加以下内容:export JAVA_HOME=/usr/local/src/javaexport HADOOP_HOME=/usr/local/src/hadoopexport HIVE_CONF_DIR=/usr/local/src/hive/confexport HIVE_AUX_JARS_PATH=/usr/local/src/hive/lib
退出保存,数据库的初始化,保证此时MySQL为启动状态执行一下命令。注意的是,需要将Hive连接MySQL的驱动器文件上传至Hive的lib文件夹下。这里我们还需要上传一个jar数据库驱动包。上传之后把这个jar包复制到hive安装的目录下面。
在这都完成之后,我们对hive元数据进行初始化:使用命令schematool -initSchema -dbType mysql
在这之前我们需要确定mysql是正在运行的状态,查看一下: mysql服务启动之后进行元数据初始化: 注意:在这里可能会出现问题,在输入命令后弹出信息,出错后,可能是使用的不是mysql数据库,回去检查一下hive-site.xml文件
Hive与MySQL建立连接。启动完毕后查看MySQL下hive_db数据库,发现多出许多个新表(55个)。 3.启动Hive数据库。 启动Hadoop集群,MySQL后,命令框输入hive。 启动之后输入几条命令进行简单的测试: 到这里hive就安装完成转载地址:http://jzqzi.baihongyu.com/