**搭建hive遇到的问题总结**
MySQL连接器版本问题。 在启动hive时,可以正常启动,但是不能在里面使用sql语法。结果如下, 所以在网上找相关的方法。处理方法总的来说有这么几个: 一、MySQL权限问题 因为hive的元数据存在mysql里面,所以如果你没有弄好mysql的权限,你的show databases是不可以用的。 解决方法 查看自己的hive-site.xml文件,里面的MySQL配置文件是否与自己创建hive库的账号密码一致。
javax.jdo.option.ConnectionUserName
数据库用户名 #这里!!!!!
username to use against metastore database
javax.jdo.option.ConnectionPassword
数据库密码#这里!!!
password to use against metastore database
确认过后,进入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后面的版本中加入了反引号。就是为了区别关键字。
|