Map/Reduce开发环境
最近,在Mac上折腾了下,想搭建一个hadoop的测试环境,用于写一些Map/Reduce的sample,下面就先将搭建环境的过程记录下来。 1. hadoop 单机搭建 1.1 确认java环境已经安装 在terminal里再次键入java -version,出现如下信息: 1.2 安装SSH 首先,输入 ssh-ke
最近,在Mac上折腾了下,想搭建一个hadoop的测试环境,用于写一些Map/Reduce的sample,下面就先将搭建环境的过程记录下来。
1. hadoop 单机搭建
1.1 确认java环境已经安装
在terminal里再次键入”java -version”,出现如下信息:
1.2 安装SSH
首先,输入 ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
ssh-keygen表示生成秘钥;-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。接下来,将公钥追加到授权的key中去,输入:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh免登陆设置完成。然后输入 ssh localhost 查看下即可
1.3 下载hadoop压缩包
1.4 hadoop-env.sh脚本文件,设置如下环境变量:
export JAVA_HOME=/usr/alibaba/java
export HADOOP_INSTALL=/Users/metaboy/project/hadoop/hadoop-1.0.4/
export PATH=$PATH:$HADOOP_INSTALL/bin
export HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”
1.5 core-site.xml文件,配置hdfs的地址和端口号:
fs.default.name
hdfs://localhost:9000
hadoop.tmp.dir
/Users/metaboy/project/hadoop/hadoop-1.0.4/tmp
A base for other temporary directories.
1.6 mapred-site.xml文件,设置map-reduce中jobtracker的地址和端口号:
mapred.job.tracker
localhost:9001
mapred.local.dir
/Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/mapred/local
mapred.system.dir
/Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/mapred/system
1.7 最后是hdfs-site.xml文件,设置hdfs的默认备份方式:
默认值是3,在伪分布式系统中,需要修改为1。
dfs.replication
1
dfs.permissions
false
dfs.data.dir
/Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/hdfs/data
dfs.name.dir
/Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/hdfs/name
1.8 格式化namenode
在terminal里输入如下命令:
bin/Hadoop NameNode -format
1.9 启动
在terminal里输入如下命令:
bin/start-all.sh
1.10 测试是否正常
如果一切正常的话,会在http://localhost:50030和http://localhost:50070分别看到map-reduce和hdfs的相关信息。
2. hadoop eclipse 插件编译
2.1 导入hadoop的eclipse-plugin的工程
用hadoop提供的文件自行编译,导入hadoop的eclipse-plugin文件夹.打开eclipse,在File菜单中选择Import.
2.2 导入后,在项目中新建lib目录,并复制jar文件
在项目中新建lib目录,并将hadoop安装根目录的hadoop-core-1.0.4.jar文件,lib目录中的commons-cli-1.2.jar、commons-configuration-1.6.jar、commons-httpclient-3.0.1.jar、commons-lang-2.4.jar、jackson-core-asl-1.8.8.jar、jackson-mapper-asl-1.8.8.jar文件复制到新建的目录中。复制完成后,将新建目录中的hadoop-core-1.0.4.jar文件名改为hadoop-core.jar 。
2.3 修改hadoop-1.0.4/src/contrib目录的build-contrib.xml文件
找到
并在该行下面添加以下两行内容。
eclipse.home是指eclipse的安装目录,需要替换为你自己的安装路径。
version的值要替换为hadoop的版本号。
2.4 修改MapReduceTools项目下的build.xml文件
打开build.xml文件,在文件中搜索name=”jar” ,找到的代码段并加上
–>
–>
jarfile=”${build.dir}/hadoop-${name}-${version}.jar”
manifest=”${root}/META-INF/MANIFEST.MF”]]>
2.5 在build.xml文件中查找
2.6 在文件中搜索
2.7 修改 Bundle-ClassPath
使用编辑器打开META-INF文件夹中的MANIFEST.MF文件,在文件中搜索Bundle-ClassPath,可以看到该行内容如下:
Bundle-ClassPath: classes/,
lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar
2.8 用ant开始编译
保存build.xml文件后,在build.xml文件上点击右键,并选择Run As -> Ant Build
2.9 安装插件
编译后的plugin文件会保存在hadoop-1.0.4/build/contrib/eclipse-plugin文件夹中,文件名为hadoop-eclipse-plugin-1.0.4.jar 。
将该文件复制到eclipse安装目录的plugins文件夹下,并重启eclipse。
2.10 测试
在eclipse的window菜单中选择Show View -> Other,在Show View窗口中选择MapReduce Tools下的Map/Reduce Locations,点击OK
问题记录:
1. An internal error occurred during: “Connecting to DFS localhost”.
详细信息如下:
java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException
找到刚才添加的lib目录下的几个jar文件,分别解压,然后通过betterzip将这些字节码分别添加到classes下面
问题2:Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException
使用jps发现NameNode进程没有正确运行。解决的办法就是先停止服务,然后重新格式化namenode。
bin/hadoop namenode -format
重新启动后,运行该插件无问题
问题3:Unable to load realm info from SCDynamicStore
这个问题是hadoop官方的一个bug,详细bug介绍可以参考这个链接:https://issues.apache.org/jira/browse/HADOOP-7489
一般在是当start-all.sh 的时候,会抛出这样的异常:
Unable to load realm info from SCDynamicStore
网络上有一种解决方法,解决单机部署还行,对于伪分布式部署还是不行:
就是在hadoop-env.sh文件中加上这一行:
export HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”
(意思是设置启动hadoop时设定相关的JVM参数)
~~~EOF~~~
原文地址:Map/Reduce开发环境, 感谢原作者分享。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

这个AI辅助编程工具在这个AI迅速发展的阶段,挖掘出了一大批好用的AI辅助编程工具。AI辅助编程工具能够提高开发效率、改善代码质量、降低bug率,是现代软件开发过程中的重要助手。今天大姚给大家分享4款AI辅助编程工具(并且都支持C#语言),希望对大家有所帮助。https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款AI编码助手,可帮助你更快、更省力地编写代码,从而将更多精力集中在问题解决和协作上。Git

近日有一些小伙伴咨询小编微信mac如何设置语音消息自动转成文字?下面就为大家带来了微信mac设置语音消息自动转成文字的方法,有需要的小伙伴可以来了解了解哦。第一步:首先,打开Mac版微信。如图:第二步:接着,点击『设置』。如图:第三步:然后,点击『通用』。如图:第四步:再勾选『聊天中的语音消息自动转成文字』选项即可。如图:第五步:最后,关闭窗口即可。如图:

默认情况下,iPhone以HEIC格式从相机拍摄照片。HEIC代表高效图像容器,可以容纳比PNG或JPG文件更多的像素数据,与其他格式相比,在iPhone存储上占用的空间显着减少。这些文件在iPhone上效果最佳,但并未在互联网上得到广泛接受,因为当您与非Apple设备共享这些文件时,它们通常会导致图片模糊/有颗粒感。为了确保HEIC图片在其他设备上可兼容,可能需要将其转换为JPG格式。本文将介绍在Mac上将HEIC图像转换为JPG的方法。如何在Mac上将HEIC照片转换为JPG[3种方法]方法

2022年3月3日,距世界首个AI程序员Devin诞生不足一个月,普林斯顿大学的NLP团队开发了一个开源AI程序员SWE-agent。它利用GPT-4模型在GitHub存储库中自动解决问题。SWE-agent在SWE-bench测试集上的表现与Devin相似,平均耗时93秒,解决了12.29%的问题。SWE-agent通过与专用终端交互,可以打开、搜索文件内容,使用自动语法检查、编辑特定行,以及编写和执行测试。(注:以上内容为原内容微调,但保留了原文中的关键信息,未超过指定字数限制。)SWE-A

Go语言开发移动应用程序教程随着移动应用市场的不断蓬勃发展,越来越多的开发者开始探索如何利用Go语言开发移动应用程序。作为一种简洁高效的编程语言,Go语言在移动应用开发中也展现出了强大的潜力。本文将详细介绍如何利用Go语言开发移动应用程序,并附上具体的代码示例,帮助读者快速入门并开始开发自己的移动应用。一、准备工作在开始之前,我们需要准备好开发环境和工具。首

Mac系统的格式化驱动器对于正常运行至关重要。它有助于防止各种系统问题,并使您的Mac整体更加稳定。虽然自然Mac支持各种分区方案,但与其他选项相比,GUID提供了更现代和更通用的功能。对于较新的Mac也是必不可少的,并支持更大的驱动器,为您提供最佳的兼容性和稳定性。本指南将深入探讨如何在macOS上使用GUID格式化驱动器。也就是说,让我们开始吧。为什么GUID对macOS安装很重要GUID(完整形式的全局唯一标识符)是一种分区方案,有助于安装和运行macOS操作系统。它是比传统的MBR(主引

小伙伴们知道微信mac如何发朋友圈吗?今天小编就来讲解微信mac发朋友圈的方法,感兴趣的快跟小编一起来看看吧,希望能够帮助到大家。第一步:打开微信后,点击左侧的朋友圈按钮。第二步:接着,点击右上侧的相机按钮。第三步:输入要发的文字内容。第四步:接着,点击谁可以看。第五步:在弹出框中,选择可看的条件,点击确定即可。第六步:最后,点击发表按钮即可。

自从采用 Apple M4 的 OLED iPad Pro 系列上市以来,Apple Silicon 爱好者就一直热切地等待 Mac 系列中 M4 SoC 的到来。无可否认,M4 在计算和图形性能方面都实现了重大飞跃 - Leapfr
