微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

hive3.1.2的下载及安装

一、hive的安装

hive3.1.2的连接地址 http://archive.apache.org/dist/hive/hive-3.1.2/
1、下载后上传到/opt/apps下
2、解压

tar -zxvf apache-hive-3.1.2-bin.tar.gz 

3、重命名

 mv apache-hive-3.1.2-bin hive-3.1.2 

4、执行以下命令,修改hive-site.xml

 cd /opt/apps/hive-3.1.2/conf 
 mv hive-default.xml.template hive-default.xml 

5、执行以下命令,新建一个hive-site.xml配置文件

vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> 
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:MysqL://localhost:3306/hive?createDatabaseIfNotExist=true</value> 
<description>JDBC connect string for a JDBC metastore</description> 
</property> 

<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.ConnectionUserName</name> 
<value>root</value> 
<description>username to use against metastore database</description> 
</property> 

<property> 
<name>javax.jdo.option.ConnectionPassword</name> 
<value>root</value> 
<description>password to use against metastore database</description> 
</property>

</configuration> 

6、启动hive
注意:启动hive之前要先把hadoop集群先启动

二、配置MysqL

1.首先下载MysqL jdbc包

2.把它复制到hive/lib目录下。

3.启动并登陆MysqL

4.创建hive用户数据库,并把权限赋给root用户

create database hive; 
grant all on . to hive@localhost identified by 'root'; 
flush privileges; #刷新 
exit #退出MysqL

验证是否创建成功

安装中的错误
(1)hive连接提示 root is not allowed to impersonate root (state=08S01,code=0)

解决:在hadoop 的core-site.xml添加如下内容,然后重启

<property> 
<name>hadoop.proxyuser.root.groups</name> 
<value>root</value>
<description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description> 
</property>


<property> 
<name>hadoop.proxyuser.root.hosts</name> 
<value>*</value> 
<description>The superuser can connect only from host1 and host2 to impersonate a user</description> 
</property>

(2)Exception in thread “main” java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;) at org.apache.hadoop.conf.Configuration.set(Configuration.java:1380)
hive内依赖的guava.jar和hadoop内版本不一致导致
解决方法

  1. 查看hadoop安装目录下的guava.jar版本和hive安装目录下的guava.jar是否一致

  2. 如果两者不一致,则删除低版本的,把高版本的复制过去。

注: hadoop3.1.3的guava版本是27,而hive3.1.2版本是19

路径:
hadoop(opt/apps/hadoop3.1.3/share/common/lib)
hive(opt/apps/hive-3.1.2/lib)

(3)Failed to load driver

没有com.MysqL.jdbc.Driver MysqL驱动,上传mysql-connector-java-5.1.47.jar到hive的lib目录下

(4) schematool -initSchema -dbType MysqL报错

(5)is not allowed to connect to this mMysqL server 本地电脑的navicat链接不上MysqL
解决

  1. MysqL -u root -p 登录MysqL中。

  2. use MysqL;

  3. select host from user where user='root';

  4. 修改帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MysqL后,更改 “MysqL
    数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"

update user set host = '%' where user ='root'; flush privileges;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐