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

[经验分享] Hadoop 详细配置步骤

[复制链接]

尚未签到

发表于 2016-12-5 10:04:48 | 显示全部楼层 |阅读模式
<style type="text/css"><!--@page{margin:2cm}p{margin-bottom:0.21cm}--></style>  Hadoop 有三种分布模式,Standalone-distributemode, Pseudo-distribute mode, Full-distribute.
  


  前期准备工作:
  背景:
  Fedora 15
  两台计算机。johnny(10.63.0.230)cloud(10.63.0.17)johnny作为NamenodeJobTrackercloud作为DataNodeTaskTracker
  


  1、安装jdk,配置环境变量
  


  2、安装Hadoop,配置环境变量
  


  3Hadoop要求集群计算机上用户名必须一致,所以现在cloud机上建立一个名为johnny的用户。
  For hadoop, the accounts should have the same username on all ofthe nodes
  但是节点计算机(cloud)无需使用johnny登陆。具体请参考Hadoopin Action第二章。
  


  4、配置SSH(伪分布、全分布需要,单机分布不需要)
  (更多关于SSH请看我的博客:http://blog.csdn.net/johnnywsd/article/details/6936069
  先对johnny机做如下操作:
  修改/etc/hosts 文件
  这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些
  一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;第二部份:主机名或域名;第三部份:主机名别名;
  (更多关于/etc/hosts文件请看我的博客http://blog.csdn.net/johnnywsd/article/details/6939217
  向此文件中加入:
  10.63.0.230 johnny johnny
  10.63.0.17 cloud cloud
  试一试能否ping通。
  $ ping cloud
  开启sshd
  #service sshd start
  开启ssh-agent
  $ ssh-agent
  将私钥加入到agent
  $ ssh-add ~/.ssh/id_sra
  (可能需要关闭防火墙 #serviceiptables stop,或者开启22端口)
  生成公钥:
  $ ssh-keygen -t -rsa
  一路回车敲到底,不要输入密码,否则无法实现免密码登陆。
  生成的公钥将储存在~/.ssh/下。有两个文件id_rsa.pub(公钥)id_rsa(私钥)
  将公钥发送给cloud机以便能与其相连:
  $ ssh-copy-id johnny@cloud
  代码含义:将自己的公钥拷贝给cloud(10.63.0.17)上的johnny用户。(此公钥内容将写入cloudjohnny用户的~/.ssh/authorized_keys中)
  在此期间会要求输入johnny@cloud'spasswordjohnny用户在cloud这台机器上的密码。
  (这是一种比较快速的拷贝公钥的方法,另一种方法请看我的博客http://blog.csdn.net/johnnywsd/article/details/6936069)
  


  试一试能否与其建立链接sshjohnny@cloud
  断开链接请使用命令:
  $ logout
  


  (伪分布是一台计算机既当NameNode又当DataNode,既当JobTracker又当TaskTracker,所以伪分布要求自己能够ssh连接自己,所以需要将公钥拷贝给自己,$ssh-copy-idjohnny@localhost,可以试验一下是否可以登陆自己sshjohnny@localhost,记得logout)
  


  现在可以给 johnny@cloud传送文件了。使用scp命令(具体使用见下文)。这样等配置完主机的信息后,可以将整个hadoopjdk目录传送给节点计算机(见下文)。
  


  单机分布模式
  无需配置,安装好Hadoop后默认为单机分布模式
  


  伪分布模式
  需要先配置SSH(将自己的公钥写入到自己的authorized_keys中)
  修改hadoop安装目录下conf文件夹中的三个xml文件
  core-site.xmlhdfs-site.xmlmapred-site.xml
  


  core-site.xml文件
  <configuration>
  <property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
  </property>
  </configuration>
  


  hdfs-site.xml文件
  <configuration>
  <property>
  <name>dfs.replication</name>
  <value>1</value>
  </property>
  </configuration>
  


  mapred-site.xml文件
  <configuration>
  <property>
  <name>mapred.job.tracker</name>
  <value>localhost:9001</value>
  </property>
  </configuration>
  


  修改hadoop安装目录下conf文件夹中的masterslaver两个文件
  masters文件(里面其实表示的是SecondaryNameNode,有点小迷惑性啊)
  localhost
  


  slavers文件
  localhost
  (请参考Hadoop in Action 第二章)


全分布模式
与伪分布模式很类似仅做小量的改变




  修改hadoop安装目录下conf文件夹中的三个xml文件
  core-site.xmlhdfs-site.xmlmapred-site.xml
  core-site.xml文件
  <configuration>
  <property>
  <name>fs.default.name</name>
  <value>hdfs://johnny:9000</value>
  </property>
  </configuration>
  


  hdfs-site.xml文件
  <configuration>
  <property>
  <name>dfs.replication</name>
  <value>1</value>
  </property>
  </configuration>
  


  mapred-site.xml文件
  <configuration>
  <property>
  <name>mapred.job.tracker</name>
  <value>johnny:9001</value>
  </property>
  </configuration>
  修改hadoop安装目录下conf文件夹中的masterslaver两个文件
  masters文件
  johnny
  


  slavers文件
  cloud
  


  (这个是最简单的配置,其实里面还有很多参数这里没有提到,详细信息请参考官方文档。)
  


  注:如何快捷的在三种分布方式切换(参考Hadoopin Action第二章Swithcing betwwenmodes)
  Create a separate configuration folder for each of the modes andplace, the appropriate vision of the xml files in the correspondingfolder. Using symbolic links to switch between Hadoop modes.
  conf文件夹复制三份,修改文件名为conf-standalone,conf-pseudo,conf-full,在其中分别配置其内容,最后对要使用的模式的文件夹建立链接(快捷方式),将其名称更改为conf.
DSC0000.gif

  接下来需要把并配置好的Hadoop以及Java传送给所有的节点计算机。
  $ scp -r ~/Software/hadoop-0.20.203.0/ johnny@cloud:~/Software/hadoop-0.20.203.0/
  $ scp -r ~/Software/jdk1.6.0_24/ johnny@cloud:~/Software/jdk1.6.0_24/


  在配置好这些文件后需要格式化NameNode
  $ hadoop namenode -format
  


  之后便可启动hadoop:
  $ start-all.sh
  


  测试一下(wordcount):
  建立~/temp/test-in目录,在其中建立a.txt文件,想其中写入一些英文句子
  ~/temp/目录及其中的内容全部拷贝到DataNode中的/目录下
  $ hadoop fs -put ~/temp/ johnny@cloud:/
  察看一下拷贝的结果
  $ hadoop fs -lsr /
  下面运行hadoop自带的hadoop-examples-0.20.203.0.jar中的wordcount
  $ hadoop jar~/Software/hadoop-0.20.203.0/hadoop-examples-0.20.203.0.jar wordcount/temp/test-in /temp/test-out
  可以在web页中察看节点状态
  http://localhost:50030 Hadoop Administration
  http://localhost:50070 Hadoop NameNode
  


  参考资料:
Hadoop in Action 第二章
hadoop官方文档:http://hadoop.apache.org/common/docs/r0.20.203.0
Yahoo HadoopTutorialhttp://developer.yahoo.com/hadoop/tutorial/index.html

运维网声明 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-309906-1-1.html 上篇帖子: Hadoop的基础配置 下篇帖子: 【转载】hadoop/hbase 搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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