我正在学习一个大数据类,我的一个项目是在本地建立的Hadoop集群上运行Mapper/Reducer。在

我一直在为类使用Python和MRJob库。在

下面是我当前用于Mapper/Reducer的Python代码。在from mrjob.job import MRJob

from mrjob.step import MRStep

import re

import os

WORD_RE = re.compile(r"[\w']+")

choice = ""

class MRPrepositionsFinder(MRJob):

def steps(self):

return [

MRStep(mapper=self.mapper_get_words),

MRStep(reducer=self.reducer_find_prep_word)

]

def mapper_get_words(self, _, line):

# set word_list to indicators, convert to lowercase, and strip whitespace

word_list = set(line.lower().strip() for line in open("/hdfs/user/user/indicators.txt"))

# set filename to map_input_file

fileName = os.environ['map_input_file']

# itterate through each word in line

for word in WORD_RE.findall(line):

# if word is in indicators, yield chocie as filename

if word.lower() in word_list:

choice = fileName.split('/')[5]

yield (choice, 1)

def reducer_find_prep_word(self, choice, counts):

# each item of choice is (choice, count),

# so yielding results in value=choice, key=count

yield (choice, sum(counts))

if __name__ == '__main__':

MRPrepositionsFinder.run()

当我试图在Hadoop集群上运行代码时,我使用了以下命令:

^{pr2}$

不幸的是,每次运行该命令时都会出现以下错误:No configs found; falling back on auto-configuration

STDERR: Error: JAVA_HOME is not set and could not be found.

Traceback (most recent call last):

File "hrc_discover.py", line 37, in

MRPrepositionsFinder.run()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/job.py", line 432, in run

mr_job.execute()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/job.py", line 453, in execute

super(MRJob, self).execute()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/launch.py", line 161, in execute

self.run_job()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/launch.py", line 231, in run_job

runner.run()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/runner.py", line 437, in run

self._run()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/hadoop.py", line 346, in _run

self._find_binaries_and_jars()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/hadoop.py", line 361, in _find_binaries_and_jars

self.get_hadoop_version()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/hadoop.py", line 198, in get_hadoop_version

return self.fs.get_hadoop_version()

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/fs/hadoop.py", line 117, in get_hadoop_version

stdout = self.invoke_hadoop(['version'], return_stdout=True)

File "/usr/lib/python3.5/site-packages/mrjob-0.6.0.dev0-py3.5.egg/mrjob/fs/hadoop.py", line 172, in invoke_hadoop

raise CalledProcessError(proc.returncode, args)

subprocess.CalledProcessError: Command '['/usr/bin/hadoop', 'version']' returned non-zero exit status 1

我浏览了一下互联网,发现我需要导出我的JAVA_HOME变量-但我不想设置任何可能破坏我的设置的东西。在

如有任何帮助,将不胜感激,谢谢!在

python集群到hadoop_如何使用Hadoop流在本地Hadoop集群中运行MRJob?相关推荐

  1. 【Hadoop之轨迹】Hadoop 使用(纯干货!)(用 Docker 模拟的集群)

    -- 目录 -- 1. 安装 Hadoop 2. 模拟集群环境 3. HDFS 1) 基础命令 2) Java 调用 API 操作(重) 3) 工作原理 4. MapReduce 1) 工作流程概述 ...

  2. Hadoop安装教程_分布式集群

    安装前的准备 伪分布式的设置 集群的规划 集群的初始设置 网络配置 SSH无密码登陆 java及apache环境设置 安装流程 主机的安装 集群的安装 效果与验证 安装注意 模式切换 参考资料 安装前 ...

  3. 《Hadoop集群与安全》一2.1 在Hadoop集群中配置操作系统

    本节书摘来自华章出版社<Hadoop集群与安全>一书中的第2章,第2.1节,作者 (美)Danil Zburivsky Sudheesh Narayanan,更多章节内容可以访问云栖社区& ...

  4. Hadoop系列一:Hadoop集群分布式部署

    1.环境准备 VirtualBox虚拟机上分布部署三套Ubuntu15.10操作系统(Linux 64位),命名为Ubuntu_Hadoop(用户名hp).Ubuntu_C(用户名c).Ubuntu_ ...

  5. 学习笔记Hadoop(九)—— Hadoop基础操作(1)—— Hadoop安全模式、Hadoop集群基本信息

    一.Hadoop安全模式 在分布式文件HDFS系统启动的时候,会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束. 安全模式主要是为了系统启动 ...

  6. 学习笔记Hadoop(八)—— Hadoop集群的安装与部署(5)—— Hadoop配置参数介绍、Hadoop集群启动与监控

    五.Hadoop配置参数介绍 Hadoop集群配置文件主要有: 它们的默认参数配置可以看: core-default.xml :https://hadoop.apache.org/docs/stabl ...

  7. 学习笔记Hadoop(七)—— Hadoop集群的安装与部署(4)—— 配置Hadoop集群

    四.配置Hadoop集群 Hadoop集群总体规划 Hadoop集群安装采用下面步骤: 在Master节点:上传并解压Hadoop安装包 . 在Master节点:配置Hadoop所需configura ...

  8. Hadoop部署方式-高可用集群部署(High Availability)

    Hadoop部署方式-高可用集群部署(High Availability) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参 ...

  9. Hadoop入门(二)集群安装

    一.集群安装条件前置 在虚拟机上先准备一个机子  按用前面[安装单机hadoop] 已完成安装jdk,hadoop和ssh.网络等配置环境等. 虚拟机和操作系统 环境:ubuntu14 + hadoo ...

最新文章

  1. R语言如何将字符串转变为命令执行
  2. OSPF被隔离的区域
  3. php手册数组函数,PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集...
  4. min-height最小高度的实现(兼容IE6、IE7、FF)
  5. HDU6218 2017ACM/ICPC亚洲区沈阳站 Bridge(Set,线段树)
  6. Linux下Makefile的automake生成全攻略
  7. python正则表达式去除逗号_[宜配屋]听图阁 - python正则表达式去掉数字中的逗号(python正则匹配逗号)...
  8. 蔚来Q4经调整净亏损17亿元 部分车型将调价
  9. vue 子页面调用父页面的参数_Flutter子组件调用父组件方法修改父组件参数
  10. 06002_Redis概述
  11. 常见的几种python字符串方法总结
  12. vue实现打印功能的两种方法/web打印控件
  13. 访问oracle索引需要什么权限,Oracle索引 权限
  14. Matlab绘制直方图、概率密度函数、累积分布函数
  15. PCB Layout的10个细节
  16. 中艺人脸识别考勤机使用方法_M2人脸识别考勤机使用说明
  17. Threejs3D模型爆炸效果
  18. 2022年六一儿童节
  19. 【Operamasks-UI】可编辑表格insertRow和deleteRow遇到空表格时的问题
  20. TOMCAT HTPPS

热门文章

  1. 第三十七期:如果你这样回答“什么是线程安全”,面试官都会对你刮目相看
  2. 设置启用树莓派的HDMI显示
  3. 诺基亚7原生android,【诺基亚7Plus评测】系统:简洁原生安卓功能却不简单_诺基亚 7 Plus(4GB RAM/全网通)_手机评测-中关村在线...
  4. java中异常+连接重置_是什么导致我的java.nett.ocketException:连接重置?
  5. mysql中 课程1比课程2成绩高_小菜菜mysql练习解读分析1——查询 01 课程比 02 课程成绩高的学生的信息及课程分数...
  6. 连续赋值与求值顺序var a = {n:1};a.x = a = {n:2}; alert(a.x);
  7. Android控件用法总结之EditText
  8. Oracle 用户,角色,权限等
  9. HTML5 input 类型
  10. .NET深入实战系列—Linq to Sql进阶