cloudera hadoop CDH目录下Hadoop-streaming.jar等其他jar包的路径

本文分享了作者在使用Hadoop进行大数据处理过程中的经验心得。详细介绍了在学校集群环境下寻找并使用hadoop-streaming-jar包的过程,包括两种查找方法及相关的环境配置文件。

背景

前面我是在自己的电脑上搭建分布式环境hadoop,做了一些实验,但是就今天下午上传了一个300多MB的文件,然后进行处理都非常的慢,估计没有几个小时是弄不完的。于是想起前面借用学校的一个集群,也折腾了一下,但是就是不知道他的目录结构,要找什么东西都找不到,是用cloudera进行管理和配置的,我想用hadoop-streaming-*jar来运行python脚本。于是网上百度,终于找到了!

正文

参考博客:
hadoop基础—-hadoop实战(十一)—–hadoop管理工具—CDH的目录结构了解
第一种:
ls /opt/cloudera/parcels/CDH/jars

可以看到:
hadoop-streaming-2.6.0-cdh5.12.0.jar
hadoop-streaming-2.6.0-mr1-cdh5.12.0.jar
应该就是它了!
第二种:
ls /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce

可以看到:
hadoop-streaming-2.6.0-cdh5.12.0.jar
hadoop-streaming.jar
其他资料:
Cloudera hadoop配置文件地址和修改配置属性方法
可以看到环境配置文件:
core-site.xml hadoop-env.sh hdfs-site.xml log4j.properties mapred-site.xml ssl-client.xml topology.map topology.py yarn-site.xml

[root@cdh1 expers]# yarn jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-streaming.jar \ > -D mapreduce.job.queuename=default \ > -files mapper.py,reducer.py \ > -mapper "python mapper.py" \ > -reducer "python reducer.py" \ > -input /user/dr/exper.txt \ > -output /user/dr/output WARNING: YARN_OPTS has been replaced by HADOOP_OPTS. Using value of YARN_OPTS. packageJobJar: [] [/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/jars/hadoop-streaming-3.0.0-cdh6.3.2.jar] /tmp/streamjob4915326641913657665.jar tmpDir=null 25/03/18 21:20:15 INFO client.RMProxy: Connecting to ResourceManager at cdh1/192.168.153.90:8032 25/03/18 21:20:16 INFO client.RMProxy: Connecting to ResourceManager at cdh1/192.168.153.90:8032 25/03/18 21:20:17 INFO mapreduce.JobResourceUploader: Disabling Erasure Coding for path: /user/root/.staging/job_1742297342561_0008 25/03/18 21:20:17 INFO mapred.FileInputFormat: Total input files to process : 1 25/03/18 21:20:18 INFO mapreduce.JobSubmitter: number of splits:2 25/03/18 21:20:18 INFO Configuration.deprecation: yarn.resourcemanager.system-metrics-publisher.enabled is deprecated. Instead, use yarn.system-metrics-publisher.enabled 25/03/18 21:20:18 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1742297342561_0008 25/03/18 21:20:18 INFO mapreduce.JobSubmitter: Executing with tokens: [] 25/03/18 21:20:18 INFO conf.Configuration: resource-types.xml not found 25/03/18 21:20:18 INFO resource.ResourceUtils: Unable to find 'resource-types.xml'. 25/03/18 21:20:19 INFO impl.YarnClientImpl: Submitted application application_1742297342561_0008 25/03/18 21:20:19 INFO mapreduce.Job: The url to track the job: http://cdh1:8088/proxy/application_1742297342561_0008/ 25/03/18 21:20:19 INFO mapreduce.Job: Running job: job_1742297342561_0008 25/03/18 21:20:24 INFO mapreduce.Job: Job job_1742297342561_0008 running in uber mode : false 25/03/18 21:20:24 INFO mapreduce.Job: map 0% reduce 0% 25/03/18 21:20:24 INFO mapredu
最新发布
03-19
<think>嗯,用户给了一个关于Hadoop Streaming命令的问题,需要解释这个命令的执行过程和输出日志。首先,我得理解用户的需求是什么。看起来他们可能是在运行一个MapReduce作业时遇到了问题,或者只是想了解这个命令的具体含义和日志信息。用户提供的命令使用了yarn jar来执行Hadoop StreamingJAR文件,指定了队列、mapper和reducer脚本,输入输出路径等参数。然后有一堆日志输出,里面括警告和信息消息。 首先,我需要分解这个命令的各个部分,解释每个参数的作用,比如-D设置队列,-files分发文件,-mapper和-reducer指定执行脚本,输入输出路径的意义。然后,用户提供的日志中有一些关键点,比如WARNING提示YARN_OPTS被替换,ResourceManager的连接信息,作业提交的过程,分片数量,以及作业跟踪的URL。另外,日志中提到的进度信息显示作业刚开始运行,但用户可能想知道后续的结果或者是否成功,不过给出的日志只到map 0% reduce 0%,可能用户没有贴出完整的日志,或者作业刚开始就被中断了。 接下来,用户可能需要了解这些日志的含义,是否有错误,或者如何确认作业是否成功。此外,可能需要解释Hadoop Streaming的工作原理,即允许用任何可执行脚本来处理数据,这里用的是Python脚本。还需要提到常见问题,比如权限问题、脚本是否正确、输入输出路径是否存在等。此外,关于YARN_OPTS的警告可能不需要担心,但可以建议用户检查环境变量。另外,提到的resource-types.xml缺失的信息,可能只是Hadoop版本的问题,可以忽略。 用户可能还不太清楚如何查看作业状态,可以指导他们使用提供的URL来跟踪作业进度,或者使用yarn application -list等命令。同时,如果作业失败,需要检查日志中的错误信息,比如mapper或reducer是否有异常。另外,需要确认输入路径是否存在,输出路径是否未被创建,否则作业会失败。 可能用户在执行这个命令时遇到了问题,比如作业卡住或者失败,所以才会贴出日志询问。但根据提供的日志,作业刚刚提交,可能还在运行中。需要告诉用户如何进一步诊断,比如查看作业跟踪页面,或者使用yarn logs命令获取详细日志。 总结来说,回答应该分步骤解释命令结构,日志中的关键信息,可能的警告和提示,以及后续如何验证作业状态和解决常见问题。同时,保持语言清晰,结构分明,帮助用户逐步理解整个过程。</think>这个命令是使用Hadoop Streaming工具运行一个MapReduce作业。以下是对命令和输出日志的逐层解析: --- ### **一、命令结构解析** ```bash yarn jar /opt/cloudera/parcels/CDH-6.3.2-.../hadoop-streaming.jar \ -D mapreduce.job.queuename=default \ -files mapper.py,reducer.py \ -mapper "python mapper.py" \ -reducer "python reducer.py" \ -input /user/dr/exper.txt \ -output /user/dr/output ``` 1. **`yarn jar`** 使用YARN框架运行Hadoop JAR2. **`-D mapreduce.job.queuename=default`** 指定作业提交到YARN的`default`队列。 3. **`-files mapper.py,reducer.py`** 将本地文件`mapper.py`和`reducer.py`分发到集群所有节点。 4. **`-mapper` 和 `-reducer`** 指定用Python解释器执行Mapper和Reducer脚本。 5. **`-input` 和 `-output`** 输入路径为HDFS上的`/user/dr/exper.txt`,输出路径为`/user/dr/output`。 --- ### **二、日志关键信息解析** 1. **`WARNING: YARN_OPTS replaced by HADOOP_OPTS`** 环境变量`YARN_OPTS`已废弃,改用`HADOOP_OPTS`(可忽略此警告)。 2. **`Connecting to ResourceManager at cdh1:8032`** 作业连接到YARN资源管理器(ResourceManager),IP为`192.168.153.90`,端口`8032`。 3. **`Total input files to process : 1`** 输入文件只有一个(`exper.txt`)。 4. **`number of splits:2`** Hadoop将输入文件切分为2个分片(Split),即启动2个Map任务。 5. **`application_1742297342561_0008`** 作业的YARN应用ID,可通过`http://cdh1:8088`的Web UI跟踪作业状态。 6. **`map 0% reduce 0%`** 初始进度显示,作业刚刚开始运行。 --- ### **三、可能的问题与验证方法** 1. **作业是否成功?** - 检查输出目录是否存在:`hdfs dfs -ls /user/dr/output` - 查看最终日志是否显示`map 100% reduce 100%`。 2. **常见失败原因** - **Mapper/Reducer脚本权限问题**:确保脚本有可执行权限(`chmod +x *.py`)。 - **Python环境问题**:集群节点需安装Python,且版本与脚本兼容。 - **输出目录已存在**:Hadoop要求输出目录必须不存在(删除旧目录:`hdfs dfs -rm -r /user/dr/output`)。 3. **调试建议** - 通过Web UI查看详细日志:`http://cdh1:8088/proxy/application_1742297342561_0008/` - 本地测试脚本:`cat exper.txt | python mapper.py | sort | python reducer.py` --- ### **四、Hadoop Streaming工作原理** 1. **数据流** 输入数据 → Mapper逐行处理 → Shuffle排序 → Reducer聚合 → 输出到HDFS。 2. **跨语言支持** 通过标准输入(`stdin`)和标准输出(`stdout`)与MapReduce框架交互,支持任意语言编写脚本。 --- 如果需进一步排查问题,请提供完整的作业完成日志或错误堆栈。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

涛歌依旧fly

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

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

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

打赏作者

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

抵扣说明:

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

余额充值