CenterOS的Hive环境的搭建日志及可能出现的问题和解决方法

前提:安装好hadoop集群和jdk。在使用多台虚拟机还需要安装好zookeeper。

Hive是什么?

Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理,主要提供以下功能

  • 它提供了一系列的工具,可用来对数据进行提取/转化/加载(ETL);
  • 是一种可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制;
  • 查询是通过MapReduce来完成的(并不是所有的查询都需要MapReduce来完成,
  • 在Hive0中对类似select a,b from XXX的查询通过配置也可以不通过MapReduce来完成,
Hive的数据存储模式

Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。下面分别来介绍。

Hive的数据存储

Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中(如果数据是在HDFS上;但如果数据是在本地文件系统中,那么是将数据复制到表所在的目录中)。

安装步骤
一、Hive文件上传

1.上传安装包进行解压。使用tar命令进行解压,tar -zxvf apache-hive-2.0.0-bin.tar.gz -C /usr/local/src/
2.切换到解压的目录下: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 environment
export 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

二、 MySQL的安装(单击前往)
三、配置Hive参数

1.配置hive-site.xml文件:在安装hive目录下的conf文件夹下添加文件
在这里插入图片描述
在配置文件当中添加内容:

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://master:3306/hive_db?createDatabaseIfNotExist=true</value>
	</property>
	<!--mysql用户名-->
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hive</value>
	</property>
	<!--mysql中hive用户密码-->
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>Password123$</value>
	</property>
	<!--mysql驱动-->
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
	</property>
	<property>
		<name>hive.downloaded.resources.dir</name>
		<value>/usr/local/src/hive/tmp</value>
	</property>
	<property>
		<name>hive.exec.local.scratchdir</name>
		<value>/usr/local/src/hive/tmp/${hive.session.id}_resources</value>
	</property>
	<property>
		<name>hive.querylog.location</name>
		<value>/usr/local/src/hive/tmp</value>
	</property>
	<property>
		<name>hive.server2.logging.operation.log.location</name>
		<value>/usr/local/src/hive/tmp/operation_logs</value>
	</property>
	<property>
		<name>hive.server2.webui.host</name>
		<value>master</value>
	</property>
	<property>
		<name>hive.server2.webui.port</name>
		<value>10002</value>
	</property>
</configuration>

文件内容详解:

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/warehouse
hadoop fs -chmod g+w /user/hive/warehouse
mkdir /usr/local/src/hive/tmp

2.配置hive-env.xml
在此处设置Hive和Hadoop环境变量,这些变量可以使用控制Hive的执行。直接执行命令
在这里插入图片描述
在文件当中添加以下内容:

export JAVA_HOME=/usr/local/src/java
export HADOOP_HOME=/usr/local/src/hadoop
export HIVE_CONF_DIR=/usr/local/src/hive/conf
export 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就安装完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Modify_QmQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值