hive搭建启动后无法使用sql语句

      **搭建hive遇到的问题总结**
  1. MySQL连接器版本问题。
    在启动hive时,可以正常启动,但是不能在里面使用sql语法。结果如下,
    使用sqll 语法结果图
    所以在网上找相关的方法。处理方法总的来说有这么几个:
    一、MySQL权限问题
    因为hive的元数据存在mysql里面,所以如果你没有弄好mysql的权限,你的show databases是不可以用的。
    解决方法
    查看自己的hive-site.xml文件,里面的MySQL配置文件是否与自己创建hive库的账号密码一致。
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>数据库用户名</value>  #这里!!!!!
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>数据库密码</value>#这里!!!
<description>password to use against metastore database</description>
</property>

确认过后,进入MySQL(创建hive的用户下),对设置用户权限。(以用户名和密码都为hive来示例)

1.grant all privileges on *.* 'hive'@'%' identified by 'hive';
2.flush peivileges;

最后重启一下MySQL;

/etc/init.d/mysql restart

之后启动hive试试。
二、hive服务端没有打开
解决方法
1.hive --service metastore &
2.ctrl+c
3.重新进入hive
三、没有初始化
原因是用的是hive自带的内存数据库derby,应该先初始化,进入hive目录,里面有一个metestore文件夹(是之前启动hive的derby时自动生成的,这里需要将metastore_db 目录重命名为 metastore_db.tmp,然后再初始化)
初始化代码:scheamatool -iniSchema -dbType derby
上面一些解决方法。当然在初始化的时候可能会遇到这种报错情况:
在这里插入图片描述
这种情况是说你的MySQL驱动连接不上,可能存在的原因:
一、没有将驱动文件放在hive目录下的lib文件夹中。
https://www.mysql.com/downloads/(下载地址)
二、MySQL驱动和MySQL版本不合
这个主要是找到合适版本的驱动,可以试试5.1,5.2,我用了5.7和5.6都不行。
除此之外还是不行,估计你看看你的Ubuntu版本吧,(我好兄弟因为是14的,试了几个驱动都不行,升级到16的马上就OK了)。
对于hive的问题大概就是这些,其他还有在MySQL权限设置时说语法错误。
主要原因是因为,在MySQL后面的版本中加入了反引号。就是为了区别关键字。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值