Hadoop和Hive无法正常启动

Hive无法启动,后来发现Hadoop(单机模式)的启动也有问题,想知道怎么解决?以及我这里是不是hadoop解决后hive就可以启动了?

img

原因:我也遇到过这个情况,这是hadoop下的java抛出来的异常,是由版本不一致导致的

img

** 解决过程:** (我的版本是hadoop3.3 hive版本是3.1.2,你对应找到相应的文件,吧版本低的替换了就行了)

  1. 进入hadoop的/hadoop-3.3.0/share/hadoop/common/lib 路径下
  2. ll | grep guav 筛选查询以guva 开头的jar包

img

3.进入 hive3.1.2/lib 路径下
4. ll | grep guav 筛选查询以guva 开头的jar包

img

  1. 可以看到在hadoop下的guava-27.0-jre.jar包是27版本的,而在hive下的 guava-19.0.jar 是19版本

img

  1. 将hive 下的包删除guava-19.0.jar(删除相对于hadoop版本较小的juava包)
  2. 进入到hadoop的路径下
  3. cp guava-27.0-jre.jar /home/hadoop/software//hive3.1.2/lib/ #将guava-27.0-jre.jar复制到hive的lib目录下
  4. 从新启动hive就可以了

有帮助的话麻烦采纳一下哦

原因:
hadoop和hive的两个guava.jar版本不一致
两个位置分别位于下面两个目录:
/usr/local/hive/lib/
/usr/local/hadoop/share/hadoop/common/lib/
这里你查看一下你的Hadoop、hive安装路径,找到对应的目录
解决办法:
删除低版本的那个,将高版本的复制到低版本目录下

Exception in thread 'main' java.lang.NosuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/string;Ljava/lang/object;)
线程“main”java.lang.NosuchMethodError中出现异常:com.google.common.base.Ppreconditions.checkArgument(ZLjava/lang/string;Ljava/lang/object;)
根据报错含义,初步判定是 jar 包兼容性问题引起的报错,具体解决方法如下。
      首先进入 hive 安装目录下的 lib 依赖文件夹进行查看。
      找到最基础的 guava 依赖包
      【guava被认为是 Java 程序员开发必备的工具,可以对字符串、集合、并发、I/O、反射进行操作,所以一般依赖问题都会先找到该包与指定产品所依赖的 guava 包是否版本不兼容。查看后发现本机的依赖文件为 guava-19.0.jar,即该 jar 包的版本为 19.0。】

        由于 hive 仓库是基于 Hadoop 的数据仓库,hive 底层是将用户输入的查询语句自动转换成 MapReduce 任务来执行,并把结果返回给用户。因此,hive 也是依赖 hadoop 的产品,所以我们进入 hadoop 的公共包 common 中查看我们上面说到的 guava 包,其中 common 文件夹在你电脑上 hadoop 安装目录下的 share/hadoop/common/lib 下,经过查看发现该路径下的 guava 功能包的版本为 27.0,故经过排查很有可能是因为 hive 自带的 guava 包版本过低导致的问题,故将 hive/lib/ 的 guava-19.0.jar 进行删除,然后将 hadoop/share/hadoop/common/lib 下的 guava-27.0.jar 拷贝一个到 hive/lib/ 下即可,然后重新启动 hive,发现启动成功,至此问题解决。
【并且大多这类报错成功实例都是在这个地方【删除hive里的guava.jar】进行修改】

参考成功实例,详情你可参考
链接:https://blog.csdn.net/weixin_44625028/article/details/122313632

我来搞定

1、检查 Hive 日志以了解可能的错误原因。Hive 的日志通常位于 $HIVE_HOME/logs 目录中。

2、检查 Hive 的配置文件 hive-site.xml 以确保所有必要的配置已正确设置。

3、检查 Hive 依赖的 Hadoop 服务是否正在运行。Hive 依赖于 Hadoop 的 HDFS 和 YARN 服务。如果 Hadoop 没有正常启动,则 Hive 也无法启动。

4、如果 Hadoop 也无法启动,可以尝试检查 Hadoop 的配置文件以确保所有必要的配置已正确设置。您还可以检查 Hadoop 的日志以了解可能的错误原因。

5、尝试重新启动 Hadoop 和 Hive。如果重新启动后仍然无法解决问题,则可能需要对系统进行更深入的调试。

hadoop 中的 hdfs 进程都启动失败了, 肯定不能启动hive啊. 先解决hadoop问题, 看hadoop日志文件找具体报错, 这种集群报错解决的最好办法是远程你的电脑帮你看, 应该是hadoop配置文件的问题, 重新配置下core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件: https://blog.csdn.net/qq_52674050/article/details/125493470