Hive环境搭建

之前写过一篇分布式Hive环境搭建,但在在后来的新集群中搭建时遇到了新的问题
1、使用新建的数据库用户无法实现hive的启动,元数据schema新建不了,MySQL使用root用户是可以正常实现元数据库的新建的。(在hive 0.13、hive 1.2、hive2.1中都出现了这个问题),一直没解决。
2、最近在工作中,在使用MySQL时出现了如下问题,非root用户无法在终端登录MySQL,但是在Windows中使用Nvicat这样的是可以成功访问数据库的。

ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

这里写图片描述

查了好多,找到了原因:

[root@master app]# mysql -u root -p 
mysql> create user 'hive' identified by 'hive';    //创建一个账号:用户名为hive,密码为hive
mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION;   //将权限授予host为%即所有主机的hive用户
mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'master' IDENTIFIED BY 'hive' WITH GRANT OPTION;  //将权限授予host为master的hive用户
mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'localhost' IDENTIFIED BY 'hive' WITH GRANT OPTION; //将权限授予host为localhost的hive用户
mysql> flush privileges;
mysql> exit;

无法登录是没有权限的问题,所以在这加上就可以了。

Hive的安装:
1、下载Hive源文件压缩包并解压
2、配置conf目录下的hive-site.xml文件

cp hive-default.xml.template hive-site.xml

< property>
    < name>javax.jdo.option.ConnectionDriverName< /name>
    < value>com.mysql.jdbc.Driver< /value>
    < description>Driver class name for a JDBC metastore< /description>
< /property>

< property>
    < name>javax.jdo.option.ConnectionURL< /name>
    < value>jdbc:mysql://master:3306/hive?characterEncoding=UTF-8< /value>
    < description>JDBC connect string for a JDBC metastore< /description>
< /property>

< property>
    < name>javax.jdo.option.ConnectionUserName< /name>
    < value>hive< /value> #使用的元数据库的用户(MySQL的用户名)
    < description>Username to use against metastore database< /description>
< /property>

< property>
    < name>javax.jdo.option.ConnectionPassword< /name>
    < value>hive< /value>#(MySQL用户对用的密码)
    < description>password to use against metastore database< /description>
< /property>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值