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

[经验分享] Cygwin使用hadoop

[复制链接]

尚未签到

发表于 2016-12-3 10:50:16 | 显示全部楼层 |阅读模式
便于hadoop伪分布式在本地进行调试,采用Cygwin来进行hadoop开发是一种比较好的方式,因此该文章将介绍hadoop在Cygwin中的使用方法。
安装Hadoop伪分布,hadoop使用了ssh协议,ssh采用标准的公钥加密来生成一对用户验证密钥---一个公钥、一个私钥,并且使用NFS在集群中共享它,公钥被本地存储在集群的每个节点上,私钥则由主节点在视图访问远程节点时发送过来,默认情况下的Cygwin没有安装ssh,所以重新运行http://www.cygwin.com/setup.exe,在Select Packages的时候,在search输入ssh,选择openssh,继续安装cgywin,直到安装成功
 
配置SSH服务
1、在cygwin中输入:ssh-host-config
除了Do you want to use a different name?  no 其他都是yes
2、输入密码时候最好和你本身linux密码一致,这样方便记忆
DSC0000.jpg   DSC0001.jpg DSC0002.jpg

这样我们就设置ssh信任机制,让两台机器能够相互通信,在相互访问的时候不需要输入密码

3、执行 cygrunsrv  -S  sshd  启动ssh服务

查看服务是否启动:services.msc中查看cyg ,同时还可以修改密码,注意:如果需要重新安装sshd服务,可以用cygrunsrv -R sshd
4、生成SSH Key
ssh-keygen  -t  rsa(密码为空,路径默认)
cp  .ssh/id_rsa.pub  .ssh/authorized_keys
  DSC0003.jpg DSC0004.jpg
5、检查SSH
DSC0005.jpg

  安装hadooop
因为我们用cygwin只是用来方便调式hadoop,并不是为了在上面搭建正式的服务器,因为我们没有必要选择有bug的hadoop版本进行安装,我们选择集成中没有bug的版本.020.2下载,解压并拷贝到Cygwin下的目录(JDK也一并安装)
http://archive.apache.org/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
官方说明1.x版本有BUG,参考,BUG修复请参考:
http://en.wikisource.org/wiki/User:Fkorning/Code/Hadoop-on-Cygwin
DSC0006.jpg  

  配置环境变量(.bashrc文件追加下面内容)
export  JAVA_HOME=/usr/java/jdk1.6.0_20
export  PATH=/usr/java/hadoop-0.20.2/bin:$JAVA_HOME/bin:$PATH
  在hadoop-0.20.2/conf/hadoop-evn.sh中追加下面内容
  export  JAVA_HOME=/usr/java/jdk1.6.0_20
export  HADOOP_LOG_DIR=/tmp/logs
  创建连接符
由于默认情况下在cygwin中,hadoop的默认文件存放在根目录的tmp文件夹下,这样对统一目录不方便,因此采用连接符(在win下的cmd中执行)
mklink /D c:\tmp c:\cygwin\tmp
  执行后,重新执行:ssh localhost,使其生效
  配置HADOOP运行参数
我们这次将不采用指定存储目录,采用默认的存储目录,我们看看默认情况下文件存放情况(如果我们不指定,默认的文件存储配置存放在hadoop根目录下的hadoop-0.20.2-core.jar包的xxx-default.xml文件中的)
  conf/core-site.xml

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property> 
  conf/hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>1</value>
</property>
  conf/mapred-site.xml

<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>4</value>
</property>
  格式化名称节点并启动集群
使用命令:hadoop namenode –format
DSC0007.jpg

  
使用命令:start-all.sh,通过jps和ps的方式查看启动进程是否启动成功,我们可以看到下面通过jps只能看到启动了JobTracker、NameNode,和我们在linux下面启动的5个进程有区别(在linux下如果没有启动5个进程,表示有进程失败,需要通过日志查看启动失败的原因),但是我们发现通过ps命令确实已经启动了5个java进程,我们通过这5个进程的pid可以在我们hadoop产生的文件中查看到底是否hadoop相关进程成功启动
DSC0008.jpg
DSC0009.jpg

  执行hadoop自带例子
创建一个文件yale.txt,存放在hadoop根目录下,并添加一些内容
  执行:hadoop fs -put yale.txt input/yale.txt
查看:hadoop fs -cat  input/yale.txt
DSC00010.jpg

  
执行:hadoop jar hadoop-0.20.2-examples.jar wordcount input output
DSC00011.jpg

  具体查看:
hadoop fs -cat output/p*
DSC00012.jpg

  
还可以通过web方式查看,http://localhost:50070 可以查看
DSC00013.jpg

运维网声明 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.iyunv.com/thread-309061-1-1.html 上篇帖子: 搭建hadoop集群 下篇帖子: Hadoop 集群搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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