Linux下Hadoop安装Hive(配置metastore为mysql,详细图解)

我的环境:CentOS7 + Hive0.13.0 + 集群(没有安装包的可以联系我)

1.上传压缩包
在这里插入图片描述
2.解压压缩包(安装目录自定义)

tar -zxvf apache-hive-0.13.0-bin.tar.gz -C /az/

在这里插入图片描述
ls 查看:
在这里插入图片描述
此时你就可以进入到bin目录下,启动hive,如图:
在这里插入图片描述
但是这样的hive是不支持多链接的,咱们是要在集群下使用hive,所以还要把他的metastore更改为mysql。

3.拷贝连接驱动到lib目录下:

下载连接(在第一步):https://blog.csdn.net/qq_43437122/article/details/104899107
在这里插入图片描述
4 进入到conf目录下:

5.更该配置文件名:

mv hive-default.xml.template hive-site.xml 

你需要将hive-default.xml.template这个文件重命名为hive-site.xml,然后编辑hive-site.xml文件。

6.编辑hive-site.xml文件

vim hive-site.xml

在写入之前要把原先文件中的内容删掉,如图(请仔细看):
在这里插入图片描述
删掉之后将以下内容填到文件中去:

注意:在配置信息中,第一段是配置数据库的位置,要注意你的mysql和hive是否在同一台机器上,要是在一台机器上就按图中那样配置,要是不在一台机器上你就按远程连接的方式配置,远程配置方式如下(其他三段都不变):

	<property>
	  <name>javax.jdo.option.ConnectionURL</name>
	  <value>jdbc:mysql://az01(mysql所在机器的主机名或者ip替换掉az01):3306/hive?createDatabaseIfNotExist=true</value>
	  <description>这个配置的是mysql数据库的位置,如果mysql里面不存在hive数据库,就创建它</description>
	</property>

本地连接配置:

扫描二维码关注公众号,回复: 10999258 查看本文章
<configuration>

	<property>
	  <name>javax.jdo.option.ConnectionURL</name>
	  <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true</value>
	  <description>这个配置的是mysql数据库的位置,如果mysql里面不存在hive数据库,就创建它</description>
	</property>

	<property>
	  <name>javax.jdo.option.ConnectionDriverName</name>
	  <value>com.mysql.jdbc.Driver</value>
	  <description>配置连接驱动</description>
	</property>

	<property>
	  <name>javax.jdo.option.ConnectionUserName</name>
	  <value>root</value>
	  <description>连接mysql时用的用户名</description>
	</property>

	<property>
	  <name>javax.jdo.option.ConnectionPassword</name>
	  <value>123456</value>
	  <description>连接数据库时的密码(远程连接和本地连接对应不同的密码,注意区分)</description>
	</property>

</configuration>

7.安装mysql(之前写过了,比较简单,不在叙述了,我是把mysql和hive安装在一起了,所以用的是本地连接配置)

mysql安装教程:https://blog.csdn.net/qq_43437122/article/details/103551878

8.更改数据库权限(如果你是按照上一步我的mysql安装教程装的数据库,这一步可以跳过)

进入你的mysql执行以下命令**(建议大家看看我的mysql安装教程,方便你理解这一步)**:

命令的意义:远程连接设置,所有以root账号连接的远程用户,设其密码为111111(或者其他)

grant all privileges on *.* to root@'%'identified by '123456';

命令的意义:更新权限

flush privileges; 

重启mysql服务。

9.启动测试hive

进入到bin目录下,执行**./hive**命令启动hive(喜欢配置环境变量的可以自己配置下)。
在这里插入图片描述
测试:在hive命令行下执行命令,

创建student表,有id,age,name三个属性;

create table student (id int,age int,name string);

在这里插入图片描述
然后在mysql里面hive数据库下面查看hive的元数据信息,你需要查看TBLS,SDS,COLUMNS_V2这三张表,如图(我是用mysql操作工具看的比较直观):

TBLS表里面记录了hive数据库所存在的表信息;在这里插入图片描述
SDS表里面记录了hive所存在的表的数据在HDFS上的存储位置;
在这里插入图片描述
COLUMNS表里面记录了hive所存在的表的字段信息;
在这里插入图片描述
到此,你就大工告成了。

发布了81 篇原创文章 · 获赞 69 · 访问量 8944

猜你喜欢

转载自blog.csdn.net/qq_43437122/article/details/104989110