目录
1. hadoop 单机搭建
问题记录:
首页 数据库 mysql教程 Map/Reduce开发环境

Map/Reduce开发环境

Jun 07, 2016 pm 04:31 PM
mac 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”,出现如下信息:

Map/Reduce开发环境

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的相关信息。

Map/Reduce开发环境

2. hadoop eclipse 插件编译

2.1 导入hadoop的eclipse-plugin的工程

      用hadoop提供的文件自行编译,导入hadoop的eclipse-plugin文件夹.打开eclipse,在File菜单中选择Import.

Map/Reduce开发环境

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 。

Map/Reduce开发环境

2.3 修改hadoop-1.0.4/src/contrib目录的build-contrib.xml文件

      找到,将location中的路径修改为hadoop-1.0.4的解压路径。

并在该行下面添加以下两行内容。

   
   
   

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

Map/Reduce开发环境

问题记录:

1. An internal error occurred during: “Connecting to DFS localhost”.

详细信息如下:

java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException

找到刚才添加的lib目录下的几个jar文件,分别解压,然后通过betterzip将这些字节码分别添加到classes下面

Map/Reduce开发环境

问题2:Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException

      使用jps发现NameNode进程没有正确运行。解决的办法就是先停止服务,然后重新格式化namenode。

bin/hadoop namenode -format

重新启动后,运行该插件无问题

Map/Reduce开发环境

问题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~~~

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

四款值得推荐的AI辅助编程工具 四款值得推荐的AI辅助编程工具 Apr 22, 2024 pm 05:34 PM

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

微信mac如何设置语音消息自动转成文字-设置语音转成文字的方法 微信mac如何设置语音消息自动转成文字-设置语音转成文字的方法 Mar 19, 2024 am 08:28 AM

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

在Mac上将HEIC照片转换为JPG的3种方法 在Mac上将HEIC照片转换为JPG的3种方法 Mar 15, 2024 pm 08:43 PM

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

AI程序员哪家强?探索Devin、通义灵码和SWE-agent的潜力 AI程序员哪家强?探索Devin、通义灵码和SWE-agent的潜力 Apr 07, 2024 am 09:10 AM

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语言开发移动应用程序 Mar 28, 2024 pm 10:00 PM

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

如何在 Mac 上使用 GUID 格式化驱动器 如何在 Mac 上使用 GUID 格式化驱动器 Apr 12, 2024 am 09:13 AM

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

微信mac如何发朋友圈-微信mac发朋友圈的方法 微信mac如何发朋友圈-微信mac发朋友圈的方法 Mar 18, 2024 pm 05:43 PM

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

可靠消息人士称,MacBook Pro、iMac 将于今年晚些时候进行 M4 升级,MacBook Air 将于 2025 年春季进行升级 可靠消息人士称,MacBook Pro、iMac 将于今年晚些时候进行 M4 升级,MacBook Air 将于 2025 年春季进行升级 Jun 25, 2024 am 06:35 AM

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

See all articles