Windows10无法运行导数工具obdumper,提示HADOOP_HOME未设置

官网下载导数工具,按要求安装JDK,结果运行时提示错误
2024-05-09 15:27:11 [ERROR] Dump crmnew.permissioninfo failed. Reason: java.lang.IllegalStateException: java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
2024-05-09 15:27:12 [ERROR] Error: HADOOP_HOME and hadoop.home.dir are unset.
2024-05-09 15:27:12 [INFO] ---------- Finished Tasks: 1 Running Tasks: 0 Progress: 100.00% ----------
2024-05-09 15:27:12 [INFO]

这种情况下应该如何解决?

问题已收到。怀疑是兼容性问题,确认后回复你。

这是因为导数依赖 Hadoop 组件,系统缺少了必要的 hadoop ext。

解决方案:

  1. 进入以下链接,下载 zip 包:GitHub - chang1sun/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows
  2. 解压后,复制目录当前路径。比如, C:\User\chang\winutils,后续步骤以该路径演示(注意替换成你的路径)。
  3. 以下两种方式可选:
    a. 直接设置系统环境变量:HADOOP_HOME = C:\User\chang\winutils\hadoop-3.3.6(注意替换成你的路径),用户变量 Path 里追加 %HADOOP_HOME%\bin
    b. 使用记事本打开 <工具根目录>\bin\windows\obdumper.bat,找到以下行:
    SET PROGRAM_OPTS=%PROGRAM_OPTS% “-Dtool.base.dir=%PARENT_PATH%”
    在其上或其下,新增一行(注意替换成你的路径),保存并退出。
    SET PROGRAM_OPTS=%PROGRAM_OPTS% “-Dhadoop.home.dir=C:\User\chang\winutils\hadoop-3.3.6”
  4. 重新运行即可。