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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1.上传tar包 2.解压 tar -zxvf hive-1.2.1.tar.gz 3.安装mysql数据库 推荐yum 在线安装 4.配置hive (a)配置HIVE_HOME环境变量 vi conf/hive-env.sh 配置其中的$hadoop_home (b)配置元数据库信息 vi hive-site.xml 添加如下内容: javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName root username to use against metastore database javax.jdo.option.ConnectionPassword hadoop password to use against metastore database 5.安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下 如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行) mysql -uroot -p #(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES; 6. Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的 /home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 启动hive bin/hive ---------------------------------------------------------------------------------------------------- Hive几种使用方式: 1.Hive交互shell bin/hive 2.Hive JDBC服务(参考java jdbc连接mysql) 3.hive启动为一个服务器,来对外提供服务 bin/hiveserver2 nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err & 启动成功后,可以在别的节点上用beeline去连接 bin/beeline -u jdbc:hive2://mini1:10000 -n root 或者 bin/beeline ! connect jdbc:hive2://mini1:10000 4.Hive命令 hive -e ‘sql’ bin/hive -e 'select * from t_test'

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值