HiBench运行报错:hibench.hadoop.examples.jar未找到及相关问题
解决HiBench在GCP上执行wordcount准备脚本的报错问题
1. 修正HiBench全局配置文件
找到HiBench根目录下的conf/hibench.conf,把以下配置项调整正确:
- 直接写Hadoop示例JAR的绝对路径,别用环境变量:
(GCP Cloud Dataproc环境下这个路径是默认的,比你手动从Maven下载的更适配;如果是自定义Hadoop部署,路径在Hadoop安装目录的hibench.hadoop.examples.test.jar=/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jarshare/hadoop/mapreduce下) - 绑定INPUT_HDFS变量,指定HDFS上的输入目录(先通过
hdfs dfs -mkdir -p /user/hibench/wordcount/input创建好目录):INPUT_HDFS=/user/hibench/wordcount/input - 同时确认Hadoop和Spark的根目录配置正确:
hibench.hadoop.home=/path/to/your/hadoop hibench.spark.home=/path/to/your/spark
2. 检查prepare.sh的变量引用
进入bin/workloads/micro/wordcount/prepare/目录,打开prepare.sh:
- 确认脚本里用的是
INPUT_HDFS,不是拼写错误的变量名 - 检查调用Hadoop JAR的地方,用的是
${hibench.hadoop.examples.test.jar},而非其他未定义的变量
3. 加载配置后再执行脚本
别直接跑prepare.sh,先从HiBench根目录加载配置再执行:
source conf/hibench.conf bin/workloads/micro/wordcount/prepare/prepare.sh
或者临时export必要变量再执行:
export hibench.hadoop.examples.test.jar=/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar export INPUT_HDFS=/user/hibench/wordcount/input bin/workloads/micro/wordcount/prepare/prepare.sh
4. 验证HDFS权限与连通性
在GCP上确认当前用户能正常访问HDFS,执行hdfs dfs -ls /测试,如果有权限问题,用hdfs dfs -chown your-username:your-group /user/hibench调整目录权限。
内容的提问来源于stack exchange,提问作者Wajih101
相关产品推荐
相关产品推荐

