fuse is needed by hadoop320-3.3.4-1.el7.x8664 错误
# fuse is needed by hadoop_3_2_0-3.3.4-1.el7.x86_64
在执行Hadoop编译时,出现如下错误信息:
error: Failed build dependencies:
fuse is needed by hadoop_3_2_0-3.3.4-1.el7.x86_64
1
2
2
# 分析问题:
该错误提示表明在编译过程中,hadoop_3_2_0-3.3.4-1.el7.x86_64
依赖于 fuse
包,但系统中缺少该依赖,导致编译失败。
# 解决办法:
为了解决该问题,只需要安装缺少的 fuse
包。具体操作步骤如下:
安装FUSE:
在终端中执行以下命令来安装
fuse
:yum install -y fuse
1验证安装:
安装完成后,可以通过以下命令确认
fuse
是否安装成功:rpm -qa | grep fuse
1重新执行编译命令:
安装
fuse
依赖后,您可以重新执行编译命令,问题应该已经解决。
# 注意:
提示
- FUSE(Filesystem in Userspace)是一个让用户在用户空间创建文件系统的工具。在某些系统中,
fuse
是不可缺少的依赖,特别是当编译过程需要访问或创建文件系统时。 - 如果您的系统中没有安装
yum
或其他包管理工具,您需要根据您的操作系统手动下载并安装fuse
。
# 编译日志
以下是执行 mvn
命令时的相关日志信息,说明了该错误的发生:
05:46:17.179 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTING
05:46:17.179 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Waiting until process started: command 'rpmbuild'.
05:46:17.180 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTED
05:46:17.180 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command 'rpmbuild''
05:46:17.180 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] waiting until streams are handled...
05:46:17.546 [ERROR] [system.err] error: Failed build dependencies:
05:46:17.546 [ERROR] [system.err] fuse is needed by hadoop_3_2_0-3.3.4-1.el7.x86_64
05:46:17.574 [QUIET] [system.out] Installing /opt/modules/bigtop/output/hadoop/hadoop_3_2_0-3.3.4-1.el7.src.rpm
05:46:17.575 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED
05:46:17.575 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command 'rpmbuild'' finished with exit value 1 (state: FAILED)
05:46:17.576 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Execute doLast {} action for :hadoop-rpm'
05:46:17.576 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Execute doLast {} action for :hadoop-rpm' completed
05:46:17.576 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter] Removed task artifact state for {} from context.
05:46:17.576 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Task :hadoop-rpm'
05:46:17.576 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Task :hadoop-rpm' completed
05:46:17.576 [INFO] [org.gradle.execution.plan.DefaultPlanExecutor] :hadoop-rpm (Thread[Execution worker for ':',5,main]) completed. Took 0.474 secs.
05:46:17.576 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker for ':': released lock on :
05:46:17.576 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1.6 completed (1 worker(s) in use)
05:46:17.576 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker for ':': released lock on root.1.6
05:46:17.576 [DEBUG] [org.gradle.execution.plan.DefaultPlanExecutor] Execution worker [Thread[Execution worker for ':',5,main]] finished, busy: 3.996 secs, idle: 0.619 secs
05:46:17.576 [DEBUG] [org.gradle.execution.plan.DefaultPlanExecutor] Execution worker [Thread[Daemon worker Thread 11,5,main]] finished, busy: 0.006 secs, idle: 4.602 secs
05:46:17.576 [DEBUG] [org.gradle.execution.plan.DefaultPlanExecutor] Execution worker [Thread[Execution worker for ':' Thread 3,5,main]] finished, busy: 0.267 secs, idle: 4.306
secs
05:46:17.576 [DEBUG] [org.gradle.execution.plan.DefaultPlanExecutor] Execution worker [Thread[Execution worker for ':' Thread 2,5,main]] finished, busy: 0.276 secs, idle: 4.338
secs
05:46:17.577 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskExecutionGraph] Timing: Executing the DAG took 4.638 secs
05:46:17.578 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Run tasks'
05:46:17.578 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Run tasks' completed
05:46:17.579 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1 completed (0 worker(s) in use)
05:46:17.579 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 11: released lock on root.1
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Where:
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Script '/opt/modules/bigtop/packages.gradle' line: 529
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':hadoop-rpm'.
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Process 'command 'rpmbuild'' finished with non-zero exit value 1
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Run with --stacktrace option to get the stack trace. Run with --scan to get full insights.
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger]
05:46:17.579 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 6s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# 编译失败后日志分析:
从日志中可以看到,fuse
依赖未能找到,导致 rpmbuild
命令执行失败。因此,通过安装 fuse
依赖后,重新执行编译命令,问题应得到解决。
# 总结
在Hadoop编译过程中遇到 fuse is needed by hadoop_3_2_0-3.3.4-1.el7.x86_64
错误时,通常是由于系统中缺少 fuse
依赖包。通过执行 yum install -y fuse
命令即可解决问题,安装完成后,重新执行编译命令,编译过程应能顺利完成。
# 我们推荐使用 ambari-env (opens new window)
笔记
为了避免在Ambari和Bigtop编译过程中遇到类似依赖缺失等常见问题,推荐使用ambari-env (opens new window)工具集。该工具集自动解决了许多编译过程中常见的环境配置问题,能够帮助您快速配置所需的环境,避免手动设置过程中的错误或遗漏。
通过使用ambari-env
,您能够确保在编译过程中避免依赖问题,并提高整个构建过程的效率。