HIve安装踩坑手册

hive是基于Hadoop的一个数据仓库工具,所以我们要安装hive首先要安装Hadoop。本文hadoop和hive的安装方式和我踩的一些坑记录起来分享给大家

目录

一、安装环境

二、安装Hadoop

1、下载hadoop

2、修改环境变量

三、安装hive

1、下载hive

2、修改环境变量

3、修改hivesite 配置

4、验证是否安装成功

四、错误记录

1、配置文件中存在异常字符

二、guava版本不一致


一、安装环境

JDK 1.8

二、安装Hadoop

1、下载hadoop

 http://mirror.bit.edu.cn/apache/hadoop/ 选择合适的版本

下载hadoop

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

执行 进行解压,为了方便使用吗,mv进行修改名称

tar -xzvf hadoop-3.3.0.tar.gz 
mv hadoop-3.3.0.tar.gz  hadoop 

2、修改环境变量

将hadoop环境信息写入环境变量中

vim /etc/profile

export HADOOP_HOME=/opt/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

执行source etc/profile使其生效

3、修改配置文件

修改hadoop-env.sh文件,vim etc/hadoop/hadoop-env.sh修改JAVA_HOME信息


export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64

执行hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar grep input output 'dfs[a-z]',hadoop自带的例子,验证hadoop是否安装成功

三、安装hive

1、下载hive

wget http://mirror.bit.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

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

修改名称 mv apache-hive-3.1.2-bin hive

2、修改环境变量

vim /etc/profile

export HIVE_HOME=/opt/hive

export PATH=$MAVEN_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$PATH

source etc/profile

3、修改hivesite 配置


<!-- WARNING!!! This file is auto generated  for   documentation purposes ONLY! -->

<!-- WARNING!!! Any changes you make to  this   file will be ignored by Hive.   -->

<!-- WARNING!!! You must make your changes in hive-site.xml instead.         -->

<!-- Hive Execution Parameters -->



       <!-- 以下配置原配置都有,搜索之后进行修改或者删除后在统一位置添加 -->

   <property>

       <name>javax.jdo.option.ConnectionUserName</name>用户名

       <value>root</value>

   </property>

   <property>

       <name>javax.jdo.option.ConnectionPassword</name>密码

       <value> 123456 </value>

   </property>

  <property>

       <name>javax.jdo.option.ConnectionURL</name>mysql

       <value>jdbc:mysql: //127.0.0.1:3306/hive</value>

   </property>

   <property>

       <name>javax.jdo.option.ConnectionDriverName</name>mysql驱动程序

       <value>com.mysql.jdbc.Driver</value>

   </property>

<property>

   <name>hive.exec.script.wrapper</name>

   <value/>

   <description/>

</property>

复制mysql的驱动程序到hive/lib下面,然后进入/hive/bin 目录执行

 schematool -dbType mysql -initSchema

4、验证是否安装成功

hive --version查看当前版本

hive 看是否进入hive命令操作行,进去的话说明成功

四、错误记录

1、配置文件中存在异常字符

根据指定的

Logging initialized using configuration in jar:file:/opt/hive/lib/hive-common- 3.1 . 2 .jar!/hive-log4j2.properties Async:  true

Exception in thread  "main"   java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

     at org.apache.hadoop.fs.Path.initialize(Path.java: 263 )

     at org.apache.hadoop.fs.Path.<init>(Path.java: 221 )

     at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java: 710 )

     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java: 627 )

     at org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java: 591 )

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

     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 )

Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

     at java.net.URI.checkPath(URI.java: 1823 )

     at java.net.URI.<init>(URI.java: 745 )

     at org.apache.hadoop.fs.Path.initialize(Path.java: 260 )

     ...  12   more

解决方式:

找到指定的配置文件行数,将描述进行删除

 <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>

  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive/local</value>
    <description>Local scratch space for Hive jobs</description>
  </property>

  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>

二、guava版本不一致

Exception in thread  "main"   java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code  0x8

  at [row,col,system-id]: [ 3215 , 96 , "file:/opt/hive/conf/hive-site.xml" ]

     at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java: 3051 )

     at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java: 3000 )

     at org.apache.hadoop.conf.Configuration.getProps(Configuration.java: 2875 )

     at org.apache.hadoop.conf.Configuration.get(Configuration.java: 1484 )

     at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java: 4996 )

     at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java: 5069 )

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

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

     at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java: 96 )

     at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java: 1473 )

     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 )

Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code  0x8

  at [row,col,system-id]: [ 3215 , 96 , "file:/opt/hive/conf/hive-site.xml" ]

     at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java: 621 )

     at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java: 491 )

     at com.ctc.wstx.sr.StreamScanner.reportIllegalChar(StreamScanner.java: 2456 )

     at com.ctc.wstx.sr.StreamScanner.validateChar(StreamScanner.java: 2403 )

     at com.ctc.wstx.sr.StreamScanner.resolveCharEnt(StreamScanner.java: 2369 )

     at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java: 1515 )

     at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java: 2828 )

     at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java: 1123 )

     at org.apache.hadoop.conf.Configuration$Parser.parseNext(Configuration.java: 3347 )

     at org.apache.hadoop.conf.Configuration$Parser.parse(Configuration.java: 3141 )

     at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java: 3034 )

     ...  15   more

解决办法:

1、com.google.common.base.Preconditions.checkArgument这个类所在的jar包为:guava.jar

2、hadoop-3.2.1(路径:hadoop\share\hadoop\common\lib)中该jar包为  guava-27.0-jre.jar;而hive-3.1.2(路径:hive/lib)中该jar包为guava-19.0.1.jar

3、将jar包变成一致的版本:删除hive中低版本jar包,将hadoop中高版本的复制到hive的lib中。

再次启动问题得到解决!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Hive用户手册PDF是一本详细介绍Hive使用方法和相关功能的电子书。Hive是一个基于Hadoop的数据仓库工具,它的官方用户手册提供了全面的指导,帮助用户了解和掌握Hive的各项功能。 用户手册的PDF版本可以让用户更方便地查阅和学习,无论是在电脑上还是在移动设备上都可以方便地阅读。用户手册通常包括Hive的基本概念和架构,安装和配置指南,HiveQL语言的语法和用法,以及各种常用功能和操作的示例。用户手册还可能包括有关优化查询性能、使用UDF(用户自定义函数)以及Hive与其他工具集成的指导。 通过阅读Hive用户手册,用户可以轻松了解Hive的特性和使用方式,从而更好地利用Hive进行数据仓库和数据分析工作。对于那些想要自己搭建和管理Hive集群的人来说,用户手册还提供了一些建议和最佳实践。 总之,Hive用户手册PDF是一本宝贵的资源,它为用户提供了详细的Hive使用指南,并有助于用户更好地使用和理解Hive的各种功能。无论是初学者还是有经验的用户,都可以从中获得帮助,提高工作效率。 ### 回答2: Hive用户手册PDF是指Hive数据库系统的用户手册以PDF格式呈现的文档。Hive是一个基于Hadoop的数据仓库基础设施,用于查询和分析大规模数据集。用户手册是帮助用户学习和使用Hive的重要参考资料。 Hive用户手册PDF通常包含了Hive安装和配置指南,用户权限管理,Hive查询语言(HiveQL)的详细介绍,Hive表的创建和管理,数据导入和导出等内容。此外,手册还会提供一些高级功能的说明,如分区表、动态分区、存储格式选择和数据压缩等。 用户手册的PDF格式方便用户离线查阅和使用。用户可以通过电脑、平板或手机等设备在没有互联网连接的情况下,轻松地查看和学习Hive的知识。同时,PDF文件还支持搜索功能,使得用户可以更快地找到自己需要的内容。 对于初学者,Hive用户手册PDF是学习和入门Hive的重要工具。通过研读手册,用户可以了解Hive的基本概念、组件和详细使用方法。手册中通常会给出具体的示例和代码,帮助用户理解和掌握Hive的各个方面。 对于有经验的用户,Hive用户手册PDF可以作为查漏补缺的工具。手册中提供了Hive的详细技术文档和API参考,用户可以利用手册解决遇到的问题,深入研究Hive的各个功能。 总之,Hive用户手册PDF是Hive数据库系统的重要文档之一,它提供了全面的指导和参考,帮助用户更好地学习和使用Hive。无论是初学者还是有经验的用户,都可以通过阅读手册来充实自己的Hive知识,并解决实际问题。 ### 回答3: Hive用户手册是一本介绍Hive的操作和使用方法的指南。该手册以PDF格式提供,方便用户下载和查阅。 Hive是一种基于Hadoop的数据仓库和分析工具,可以对大规模的数据进行查询和分析。Hive用户手册提供了详细的Hive查询语言(HiveQL)的语法和用法说明,用户可以根据手册学习如何编写HiveQL查询,并了解Hive的各种特性和功能。 手册的内容包括Hive安装和配置指南,包括如何在Hadoop集群上安装和配置Hive,以及如何与其他工具和组件(如HDFS、YARN、Hive Thrift Server等)集成使用。 此外,手册还介绍了Hive表的创建和管理方法,包括如何定义表的结构和属性,如何加载数据到表中,以及如何执行表的管理操作(如添加、删除、修改表等)。 手册还提供了Hive查询的优化技巧和性能调优方法,帮助用户提高查询的效率和响应时间。此外,手册还包括了Hive的内置函数和UDF(用户自定义函数)的使用说明,用户可以根据手册学习如何在Hive中使用这些函数来处理和转换数据。 总之,Hive用户手册是一本全面而详细的指南,可以帮助用户快速上手使用Hive,并充分发挥Hive大数据分析应用中的优势。用户可以通过下载PDF格式的手册,随时随地查阅和学习Hive的相关知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王老狮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值