0


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

目录


一、前期准备

信息版本存放位置用户主机名hadoop集群hadoop3.3/home/hadoop/software/hadoopHadoopMastermysqlmysql5.7/homerootHadoopMasterhivehive3.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就可以了
标签: linux hive hadoop

本文转载自: https://blog.csdn.net/m0_61232019/article/details/127656281
版权归原作者 小-枝-丫 所有, 如有侵权,请联系我们删除。

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

还没有评论