hive安装 ———附下载链接、安装过程中所遇问题及解决办法(linux)

目录

一、前期准备

1. hive 及相关配置文件下载

1. hadoop集群

2. 安装mysql

二、安装hive

1. 解压并安装 Hive 使用下面的命令,解压 Hive 安装包:

 2. 配置 MySQL

 3 .配置 Hive

5.启动 Hive

6. 配置hive下的mysql数据库

 7.   验证 Hive 安装是否成功

 三、遇到问题及解决

在启动hive时出现如下问题:

原因:

 解决过程:


 

一、前期准备

信息版本存放位置用户主机名
hadoop集群hadoop3.3/home/hadoop/software/hadoopHadoopMaster
mysqlmysql5.7/homerootHadoopMaster
hivehive3.1.2/home/hadoop/software/hadoopHadoopMaster

注:

  • 在安装过程中如果有要写HadoopMster的地方,请换成自己的主机名
  • 在有/home/hadoop/software/路径时,请对应换成自己相应存放hive的路径
  • 配置hive是在hadoop集群的master主机下配置的

1. hive 及相关配置文件下载

http://链接:https://pan.baidu.com/s/1YdQ-93Rpls7rM_i375K85w?pwd=ukdz

25c76e4512494d6f89546a1441bdd0a0.png

注:这三个都要下载 ,之后配置会用到

1. hadoop集群

该部分的安装需要在 Hadoop 已经成功安装的基础上,并且要求

Hadoop 已经正常启动。

如果hadoop集群没有部署好的可以参看这篇文章:https://editor.csdn.net/md/?articleId=127031634

2. 安装mysql

如果mysql没有安装好的可以参考这篇文章:https://mp.csdn.net/mp_blog/creation/editor/127597908

二、安装hive

1. 解压并安装 Hive 使用下面的命令,解压 Hive 安装包:

cd /home/hadoop/software/ 
tar -zxvf apache-hive-3.1.2-bin.tar.gz 

4a224e3cace746979aba9dc73531d0fd.png

mv apache-hive-3.1.2-bin hive3.1.2   #重命名

 dadc4125ef07464d96395b7053752768.png

cd hive3.1.2 

执行一下 ls -l 命令会看到下面的图片所示内容,这些内容是 Hive 包含的文件:388f72804fe64616b1306b650da08c59.png

 2配置 MySQL

mysql -u root -p 
#然后创建 myhive 用户: 
grant all on *.* to myhive@'%' identified by '123456'; 
grant all on *.* to myhive@'localhost' identified by '123456'; 
grant all on *.* to myhive@'HadoopMaster' identified by '123456'; 
flush privileges;   #刷新
注意:这里的HadoopMaster要对于改为自己hadoop集群中master节点的主机名
创建数据库: 
create database hive01; 

 e2872ad34d774ceb8ce4dad4fad0f753.png

 d151bdb742394b58a0a231862fe59366.png

 3 .配置 Hive

(1)进入 hive 安装目录下的配置目录,然后修改配置文件:

      注:如果主机名和我的不一样的要把配置文件中的HadoopMaster 对应换成自己的主机名

  • cd /home/hadoop/software/hive3.1.2/conf
  • 在windows上先打开一个txt文件,然后在文件中添加如下内容
    <?xml version="1.0"?> 
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
    <configuration> 
        <property> 
            <name>hive.metastore.local</name> 
            <value>true</value> 
        </property> 
        <property> 
            <name>javax.jdo.option.ConnectionURL</name> 
             <value>jdbc:mysql://HadoopMaster:3306/hive01?characterEncoding=UTF-8</value> 
        </property> 
        <property> 
            <name>javax.jdo.option.ConnectionDriverName</name> 
            <value>com.mysql.jdbc.Driver</value> 
        </property> 
        <property> 
            <name>javax.jdo.option.ConnectionUserName</name> 
            <value>myhive</value> 
        </property> 
        <property> 
            <name>javax.jdo.option.ConnectionPassword</name> 
            <value>123456</value> 
        </property> 
    </configuration> 
  • 然后将文件另存为 hive-site.xml 文件,注意这里的后缀是xml54a62a785fd84a92a81a9bfa3b562218.png
  • 写好之后,将hive-site.xml 文件上传到/home/hadoop/software/hive3.1.2/conf

目录下,上传好之后ll即可看到。

 

947a9e1056f741d9af6837524541c365.png

 (2)将 mysql 的 java connector 复制到依赖库中

  • ps -ef | grep mysql   #查看mysql是否启动,如下所示即为启动

    38177b422f4d45888236738e494359c7.png

  •      如果没有启动的则先启动mysql ( /home/mysql5.7/support-files/mysql.server  start)
  • bc1c92a0cf2f4fe5b024b9ccd51d07b4.png

  • mysql -u root -p  #登录mysql用户5668e5398c354334b3488a80b1664c3d.png

 (3)将文件 mysql-connector-java.jar 上传到hive的lib目录下

b048af26fe4340e58f057b23f81627bd.png

 (4) 使用下面的命令打开配置:

vi /home/hadoop/.bash_profile  #在文件中添加如下内容
export HIVE_HOME=/home/hadoop/software/hive3.1.2 
export PATH=$HIVE_HOME/bin:$PATH 
#这里的/home/hadoop/software/hive3.1.2 是自己存放hive的路径

7abb279371434f6294def00d765be847.png

  • 添加好之后保存退出,输入:source ~/.bash_pofile 

5.启动 Hive

输入:hive

8e1c61a134df411386ee3304cffa7084.png

提醒:如果这里启动hive的时候出现错误,请直接跳到后面遇到问题及解决办法

 注:到了这里hive的下的mysql数据库还不能正常使用,要先初始化hive下的mysql数据库

6. 配置hive下的mysql数据库

/home/hadoop/software/hive3.1.2/bin
schematool  -dbType mysql --initSchema   #初始化mysql数据库

42e0a7652dfd4964ac5f133e278a608e.png

 初始化之后等待完成,出现 schemaTool completed就可以了。

362cec39032a427180f94d4f48c94122.png

 7.   验证 Hive 安装是否成功

hive
show databases;

864b04884e1e44298bf492c2c1cb7640.png

 三、遇到问题及解决

在启动hive时出现如下问题:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V

        at org.apache.hadoop.conf.Configuration.set(Configuration.java:1380)

        at org.apache.hadoop.conf.Configuration.set(Configuration.java:1361)

        at org.apache.hadoop.mapred.JobConf.setJar(JobConf.java:536)

        at org.apache.hadoop.mapred.JobConf.setJarByClass(JobConf.java:554)

        at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:448)

        at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5141)

        at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5099)

        at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:97)

        at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:81)

        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:699)

        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:498)

        at org.apache.hadoop.util.RunJar.run(RunJar.java:323)

        at org.apache.hadoop.util.RunJar.main(RunJar.java:236)

原因:

这是因为hadoop下的java剖出来的异常,因为版本不一样

e2b70c76a01746d1af487de4c237d032.png

 解决过程:

  • 进入hadoop的/hadoop-3.3.0/share/hadoop/common/lib  路径下
  • ll | grep guav   筛选查询以guva 开头的jar包83667346546947a68037ea1217247c44.png
  • 进入 hive3.1.2/lib 路径下
  • ll | grep guav   筛选查询以guva 开头的jar包  d973f35518f74d2db94bb7eb38de43b2.png
  • 可以看到在hadoop下的guava-27.0-jre.jar包是27版本的,而在hive下的    guava-19.0.jar 是19版本

 a3b884c72bd54ac2819890b852cd76f2.png

  • 将hive 下的包删除guava-19.0.jar
  • 进入到hadoop的路径下
  •  cp  guava-27.0-jre.jar /home/hadoop/software//hive3.1.2/lib/  #将guava-27.0-jre.jar复制到hive的lib目录下
  • 从新启动hive就可以了

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小-枝-丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值