首页 理论教育 安装配置Hive和MySQL数据库

安装配置Hive和MySQL数据库

时间:2023-06-26 理论教育 版权反馈
【摘要】:如果采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby,需要下载mysql-connector包进行相关配置。sudo cp mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar/usr/local/hive/lib执行如下shell命令,启动并登录mysql。配置mysql允许hive接入,执行如下shell命令,将localhost上所有数据库的所有表的所有权限赋给hive用户,其中,‘123’是配置hive-site.xml中配置的连接密码。mysql>grant all on.to hive@localhost identified by'123';执行如下shell命令,刷新mysql系统权限关系表,使上述授权生效。

安装配置Hive和MySQL数据库

如果采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby,需要下载mysql-connector包进行相关配置。

(1)进入官网(https://downloads.mysql.com/archives/)下载系统对应的mysqlconnector包;执行如下shell命令解压mysql-connector至目录~/Downloads下。

unzip-qo~/Downloads/mysql-connector-java-5.1.48.zip-d~/

Downloads #解压

(2)执行如下shell命令,将mysql-connector-java-5.1.48-bin.jar拷贝到/usr/local/hive/lib目录下。

sudo cp mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-

bin.jar/usr/local/hive/lib

(3)执行如下shell命令,启动并登录mysql。

1.sudo service mysql start#启动mysql服务

2.mysql-u root-p #登录shell界面

(4)新建hive数据库。

mysql>create database hive;

注意:这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据。

(5)配置mysql允许hive接入,执行如下shell命令,将localhost上所有数据库的所有表的所有权限赋给hive用户,其中,‘123’是配置hive-site.xml中配置的连接密码。

mysql>grant all on∗.∗to hive@localhost identified by'123';

(6)执行如下shell命令,刷新mysql系统权限关系表,使上述授权生效。(www.xing528.com)

mysql>flush privileges;

(7)在终端执行如下shell命令启动hive。注意,启动hive之前,请先启动hadoop集群。

1.start-all.sh #启动hadoop

2.hive #启动hive

注意,我们这里已经配置了PATH,所以,不需要把start-all.sh和hive命令的路径加上。如果没有配置PATH,请加上路径才能运行命令,例如:Hadoop安装目录是“/usr/local/hadoop”,Hive的安装目录是“/usr/local/hive”,因此,启动hadoop和hive时需要使用下面带路径的方式启动。

1.cd/usr/local/hadoop

2../sbin/start-all.sh

3.cd/usr/local/hive

4../bin/hivecsers

另外,如果在启动Hive时,出现Hive metastore database is not initialized的错误,原因在于以前曾经安装了Hive或MySQL,重新安装Hive和MySQL以后,导致版本、配置不一致。解决方法是,使用schematool工具。Hive现在包含一个用于Hive Metastore架构操控的脱机工具,名为schematool.此工具可用于初始化当前Hive版本的Metastore架构。此外,其还可处理从较旧版本到新版本的架构升级。所以,可在终端执行如下shell命令,以解决上述错误。执行完毕后,需要重新启动Hive。

schematool-dbType mysql-initSchema

(8)启动Hive,进入Hive的交互式执行环境以后,会出现如下命令提示符,可以在里面输入SQL语句。

hive>

(9)如果要退出Hive交互式执行环境,可以输入如下shell命令:

hive>exit;

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈