设为首页 收藏本站
查看: 1255|回复: 0

[经验分享] Mac OS上配置hadoop eclipse 调试环境

[复制链接]

尚未签到

发表于 2016-5-16 09:54:27 | 显示全部楼层 |阅读模式
  1. 配置Hadoop
将下载的Hadoop压缩文件解压缩,找到conf目录,打开core-site.xml,修改代码如下所示:
Xml代码   DSC0000.png


  • <?xml version="1.0"?>  
  • <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  •   
  • <!-- Put site-specific property overrides in this file. -->  
  •   
  • <configuration>  
  •     <property>  
  •         <name>fs.default.name</name>  
  •         <value>localhost:9000</value>  
  •     </property>  
  • </configuration>  

  

找到mapred-site.xml修改代码如下所示:
Xml代码  


  • <?xml version="1.0"?>  
  • <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  •   
  • <!-- Put site-specific property overrides in this file. -->  
  •   
  • <configuration>  
  •   <property>  
  •     <name>mapred.job.tracker</name>  
  •     <value>localhost:9001</value>  
  •   </property>  
  • </configuration>  

  

找到hdfs-site.xml修改代码如下所示:
Xml代码  


  • <?xml version="1.0"?>  
  • <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  •   
  • <!-- Put site-specific property overrides in this file. -->  
  •   
  • <configuration>  
  •   <property>  
  •     <name>dfs.replication</name>  
  •     <value>1</value>  
  •   </property>  
  • </configuration>  

  

找到hadoop-env.sh打开,加入以下配置
引用

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

export HADOOP_INSTALL=/Users/alex/Documents/DevRes/hadoop-version

export PATH=$PATH:$HADOOP_INSTALL/bin
  

其中,具体的目录根据你的实际情况配置。


2. 配置SSH
windows版本可安装openssh,本章主要介绍Mac OS,打开“系统偏好设置”,找到共享,勾选远程登录,如下图所示:
DSC0001.png
在terminal里面输入
  
  
  ssh localhost
  
  
  会有错误提示信息,表示当前用户没有权限。
  
  输入
  
  
  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免登陆设置完成。
  
  
  3. 运行Hadoop
打开终端,定位到Hadoop目录输入以下命令:
bin/hadoop namenode -format
  
  然后输入bin/start-all.sh
  
  4. 检查启动
  
  打开连接地址http://localhost:50070
如果找不到页面,请查看log日志(在hadoop目录中的log文件夹下),否则应当会看到以下页面:
DSC0002.png
然后再打开地址http://localhost:50030/
应当能看到以下页面(如果看不到,则证明你的jobtracker启动失败,请查看log):
DSC0003.png

至此,Hadoop配置成功。
  
  
  5. Mac下编译hadoop eclipse plugin
  进入%Hadoop_HOME%\src\contrib\
  编辑build-contrib.xml
  加入
  <property name="version" value="1.0.3"/>
  <property name="eclipse.home" location="D:/soft/eclipse-jee-indigo-SR1-win32/eclipse"/>
  
  将%Hadoop_HOME%下的jar包拷到eclipse所在目录的plugins目录下,比如hadoop-core-*.jar
  
  进入%Hadoop_HOME%\src\contrib\eclipse-plugin
  编辑build.xml
  在
  <path id="eclipse-sdk-jars">
  <fileset dir="${eclipse.home}/plugins/">
  </fileset>  
  </path>
  
  中加入
  <include name="hadoop*.jar"/>
  
  将compile模块中
  deprecation="${javac.deprecation}
  去掉。
  打开CMD在%Hadoop_HOME%\src\contrib\eclipse-plugin下使用ant
  
  这时开始编译。

  • jar: 
  •      [echo] version:1.0.3 
  •      [copy] Copying 1 file to D:\hadoop-1.0.3\build\contrib\eclipse-plugin\lib 
  •      [copy] Copying D:\hadoop-1.0.3\build\ivy\lib\Hadoop\common\commons-cli-1.2. 
  • jar to D:\hadoop-1.0.3\build\contrib\eclipse-plugin\lib\commons-cli-1.2.jar 
  •       [jar] Building jar: D:\hadoop-1.0.3\build\contrib\eclipse-plugin\hadoop-ec 
  • lipse-plugin-1.0.3.jar 
  •  
  • BUILD SUCCESSFUL 
  • Total time: 2 seconds
  注意,在编译的过程中可能会报错,主要出在jar时的copy问题上,把commons-cli-1.2.jar与拷到 %HADOOP_HOME%\build\ivy\lib\Hadoop\common\下,将hadoop-core-1.0.3.jar拷到%HADOOP_HOME%\build下即可。
  
  编译成功后,会在 %Hadoop_Home%\build\contrib\eclipse-plugin\下生成hadoop-eclipse-plugin-1.0.3.jar。将其拷到eclipse所在目录的plugins目录下。
  
  6. 配置Eclipse
将编译成功的eclipse-plugin复制到你的Eclipse的plugin文件夹中。


此时打开Eclipse,在Open Perspective中选择其它,找到Map/Reduce视图,打开它。
此时你会发现在Project Explorer和下面的视图中多了一个DFS Locations,右键新建Location如下图所示:
DSC0004.png

此时会打开一个窗口,对其进行配置,端口号就是我们刚才在core-site.xml中配置的端口好,既9000,如下图所示:
DSC0005.png
点击确定后即可在左边的Project Explorer面板中对DFS Location进行展开,如下图所示:
DSC0006.png

第六步:在Eclipse中写代码
在Map/Reduce视图中新建一个Map/Reduce项目(该项目与普通Java项目没什么区别),新建一个Java类,该类主要用于读取我们前面复制到HDFS中的那个文件内容:
Java代码  


  • package cn.com.fri;  
  •   
  • import java.io.FileNotFoundException;  
  • import java.io.IOException;  
  • import java.net.URISyntaxException;  
  •   
  • import org.apache.hadoop.fs.FSDataInputStream;  
  • import org.apache.hadoop.fs.FileContext;  
  • import org.apache.hadoop.fs.Path;  
  • import org.apache.hadoop.io.IOUtils;  
  • import org.apache.hadoop.security.AccessControlException;  
  •   
  • public class Test {  
  •     public static void main(String[] args) throws AccessControlException,  
  •             FileNotFoundException, IOException, URISyntaxException {  
  •         FileContext fc = FileContext  
  •                 .getFileContext();//如果运行在hadoop location中,不需要配置URI,否则需要给一个URI  
  •         FSDataInputStream fsInput = fc.open(new Path(  
  •                 "/tmp/hadoop-alex/persons.rtf"));  
  •         IOUtils.copyBytes(fsInput, System.out, 4090, false);  
  •         fsInput.seek(0);  
  •         IOUtils.copyBytes(fsInput, System.out, 4090, false);  
  •     }  
  • }  

  
然后右键->Run As->Run on hadoop,此时会让你选择一个location,就选中我们刚才新建的location即可。
  
  
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217604-1-1.html 上篇帖子: Mac OS 10.5.5 搭建ruby on rails环境 下篇帖子: Mac OS X: 添加打印机时没有了高级选项
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表